用成功的工具支持你的DevOps实践

通过凯特Eby2017年12月11日

DevOps的兴起可以被称为一种文化、运动、哲学或方法论。如何定义DevOps的本质以及如何最好地应用其原则和实践取决于涉及组织变更和管理流程的许多因素。好消息是,有一些工具和技术可以使各种规模和资源水平的公司利用DevOps的技术实践,而不管他们处于组织文化变革的哪个阶段。由于DevOps努力将软件开发转变为战略资产,因此为工作选择合适的工具至关重要。DevOps促进了速度、效率和可靠性,正确的工具和技术使这些好处成为现实。

本文介绍了DevOps技术实践与支持持续集成和交付、测试自动化和高速部署的工具和技术之间的关系。您将找到有关组合形成技术和服务的“工具链”的工具的信息,以掌握软件开发和操作工作流的各个功能。此外,您还将深入了解如何使用工具将DevOps技术实践纳入不同的采用阶段,以及在哪里找到有助于学习如何使用DevOps工具的资源。欧宝体育app官方888

DevOps和与工具的关系

根据DevOps手册DevOps(开发和运维)是将来自各种管理运动的几个值得信赖的原则融合到软件开发方法中的集合。DevOps的基础是将精益运动、约束理论和丰田生产系统(Toyota Kata)的原则与敏捷开发原则相结合。ob欧宝娱乐app手机下载要了解更多关于DevOps的历史和该方法的基本知识,请阅读《开发运维之道:开发运维原则与实践入门

DevOps利用其与敏捷开发等方法的关系,通过结合从物理制造到软件开发的可信原则和实践,寻求创建一种协作文化和“IT价值流”。目标是将软件开发、质量保证(QA)、信息安全(InfoSec)和IT操作过程转变为战略业务资产。

要做到这一点,DevOps要求组织采用文化变革并实现技术实践,如基础设施自动化、版本控制以及持续集成和交付(CI/CD)。与物理制造类似,集成正确的工具对于实现DevOps技术实践的好处至关重要。然而,DevOps不仅仅是使用工具来管理软件开发生命周期(SDLC)中涉及的工作。DevOps也是文化变革、管理原则和利用技术来增强技术实践的组合。

什么是DevOps工具链?

可用于实现DevOps技术实践的技术、服务和软件的列表正在增长。组织选择实现这些技术实践的方式各不相同。DevOps-as-a-Service(DaaS)或DevOps-as-a-Platform指使用一组特定的集成工具建模的开发和操作管道,这些工具可以促进工作流和协作。用于设计、构建、测试、管理、度量和操作软件和系统的工具连接为一个集成单元。

使用DaaS方法的另一种选择是将适合工作的最佳工具组合起来,形成一个DevOps“工具链”。”(DevOps手册使用术语工具链可以互换的平台共享服务)。通过选择一组涉及软件开发和操作的技术和“工具”,DevOps从业者根据DevOps原则和实践寻求伸缩性、配置、测试和发布的灵活性。团队使用一组工具来完成基于他们选择的武器的任务。忠实于DevOps的原则,创新团队鼓励学习和试验不同的软件工具,以创建标准化的工具链。作者建议对工具链进行标准化(这样团队就可以保持生产力,不管人员更替如何),并关注全球项目目标,并鼓励广泛采用内部工具链,让每个人ob欧宝娱乐app手机下载都可以使用,这样团队就不必从头开始了。

DevOps循环图解

计划工具

协作和沟通是DevOps文化的基本原则。根据敏捷软件开发实践,DevOps环境需要能够为迭代、发布管理特性和问题跟踪提供冲刺计划的工具。

要考虑的DevOps规划工具:JIRA

Atlassian的JIRA是一个敏捷友好的规划工具。JIRA通过开箱即用或可定制的看板和Scrum工作流支持sprint计划。JIRA软件集成了复杂的企业平台,非常适合规划需要持续反馈循环、与多个项目团队协作以及开放沟通的DevOps工作流。

其他DevOps规划工具:红雷,特拉克,拉力赛。

构建工具

“构建”是软件代码的一个版本(代码构建)。它也可以用作动词,用来描述在开发周期的下一个步骤之前为特定开发阶段编写源代码的过程。开发人员使用构建工具来管理这项工作。

要考虑的DevOps构建工具:Apache Maven

Apache Maven是一种基于java的开发工具。它提供了一个统一的系统和一组用于代码构建的插件,以及支持DevOps技术实践(如构建自动化)的项目依赖关系和开发指南。

其他DevOps构建工具

集成工具

自动化代码构建和测试的实践,合并它们,并将它们签入实时共享存储库,以进行持续集成和交付,这是DevOps的核心约定。DevOps工具链中的集成工具可以优化代码构建,增强自动化,并帮助保持系统工作,这是高速部署的关键。

要考虑的DevOps CI/CD工具:Jenkins

Jenkins是一个开源的自动化服务器,它提供了一个插件架构来支持持续集成和交付。它与CI/CD工具链中的各种软件工具集成,并跨多个平台分发工作。

其他DevOps CI/CD工具

2017年开发运维状况报告从Puppet和DORA中发现,高绩效的DevOps团队比低绩效的DevOps团队做的手工工作要少得多。根据该报告,表现最好的人在以下工作中自动化的比例要高得多:

  • 配置管理
  • 测试
  • 部署
  • 变更审批流程

正在进行的手工工作阻碍了持续集成和交付,这是DevOps的核心技术实践。使用工具自动化功能和非功能软件测试以及配置管理可以释放实现高速部署所需的资源。欧宝体育app官方888版本控制是另一个核心的DevOps技术实践。这些系统在发布版本时管理和跟踪软件代码的更改。也被称为源控制管理(SCM),版本控制跟踪数据库中的代码修改,并帮助团队管理持续集成。

发放版本控制和配置管理工具

DevOps软件测试工具

部署工具

DevOps的另一个核心技术实践是每个CI构建的快速、持续部署。启用这种实践需要管理变更,自动化构建和测试,并将所有内容保持在一个稳定的发布环境中。有各种各样的工具可以帮助DevOps从业者在标准化环境中编排持续部署和自动化发布过程。

DevOps部署工具要考虑:Capistrano

Capistrano是一个远程服务器自动化和部署工具,主要用于部署web应用程序。它是用Ruby编写的,并且可以扩展以支持具有特殊需求的其他编码语言或框架。

其他DevOps部署工具

DevOPs发布管理工具

监控工具

实时监控和记录变更并报告事件是DevOps的关键实践。定义DevOps文化的开发和IT运维之间的协作依赖于跟踪和修复敏捷开发生命周期中出现的问题。在整个SDLC中,对系统、应用程序、网络和基础设施性能的监控是DevOps与其他开发方法的不同之处。

DevOps监控工具:New Relic

New Relic是SaaS web和移动应用程序性能监控工具,从客户体验的角度提供分析。它实时监控运行在云、本地或混合环境中的应用程序的可用性、警报和通知。

其他DevOps监控工具

DevOps日志管理工具

DevOps流程主管工具

反馈的工具

开放和诚实的沟通推动DevOps文化,并授权所需的技术实践来实现它所促进的速度和效率。这些反馈来自多个来源,包括产品团队涉众、内部数据和客户,并以调查、错误报告、支持票和评论(包括社交媒体)的ob欧宝娱乐app手机下载形式出现。对于DevOps来说,持续的、自动化的反馈是实时解决问题的理想选择,可以在失败的情况下促进学习,并减少效率低下。

DevOps反馈工具:Pendo

Pendos在不使用软件代码的情况下捕获用户行为并收集关于使用特定功能和网页数据的反馈。这些数据可用于各种可定制的细分。它监测净推荐值的满意度,并使用应用程序内调查来提高客户响应率。

其他DevOps反馈工具

开发运维采用不同阶段的工具

采用DevOps方法涉及文化的转变和正确工具的使用。DevOps状态报告(2017)衡量了组织文化对DevOps的影响。该报告通过衡量领导力特征(如愿景和鼓舞人心的沟通)对高性能DevOps团队的影响,强调了跨所有组织级别协作的重要性。也就是说,理解协作和开放交流对DevOps的重要性只是等式的一部分:在软件开发生命周期的不同阶段为DevOps技术实践实现正确的工具同样至关重要。使用正确的软件工具简化工作流程和提高效率是DevOps成功转型的关键要求。

DevOps是一个共享的运动,支持来自不同实践领域的各种专业知识的有影响力的人的知识。开发人员和系统管理员为开发应用程序和系统所涉及的一系列任务采用工具和技术实践——例如,使用工具来捕获请求、收集数据并报告性能指标、实现测试自动化工具、监视验收测试,以及支持产品生命周期中来自各个方向的实时连续反馈循环(例如将从左到右的反馈循环合并到系统中)ob欧宝娱乐app手机下载看板的工作流程敏捷项目管理)。

用于DevOps技术实践的软件工具的可用性反映了市场上采用DevOps的不同阶段。

在通往DevOps环境的每个阶段,都有一些工具可以提供帮助。这些工具因服务模式和许可条款而异——从免费增值工具到付费企业模式。商用现货(COTS)软件在采用DevOps的不同阶段使集成成为一个挑战,但是开源模型在DevOps工具集中得到了很好的体现。此外,DevOps的核心技术实践(如自动化和持续交付)仍然可以用于COTS企业软件环境中的团队。集成为这些技术实践设计的不同类型的工具,可以增强DevOps的采用并促进协作。

采用DevOps架构

DevOps架构需求的趋势是使用持续可部署的微服务。微服务架构与DevOps实践相结合,缩短了部署代码或配置更改所需的时间。微服务中小的、可重用的代码构建块确保了正在开发的应用程序不受部署速度提高的影响。基于云的微服务架构使用容器来大规模地隔离、打包和部署代码。

DevOps容器工具

容器是虚拟化技术的一种形式。虚拟化是指使用虚拟资源(例如,服务器、桌面、操作系统或网络)使计算过程具有可伸缩性的行为。虚拟机使用软件取代硬件并利用数据,同时使用文件管理系统更有效地进行更改并同时运行多个应用程序。

DevOps虚拟化工具

虚拟化的云计算基础设施支持采用微服务架构进行持续部署。关键的DevOps实践(如在高速虚拟生产环境中监控和记录代码更改)需要可扩展、安全和稳定的云托管平台。ob欧宝娱乐app手机下载信息即服务(IaaS)或DevOps平台即服务(PaaS)工具存在于DevOps采用和最佳实践的这一阶段。

DevOps云计算工具

采用DevOps信息安全保护部署

高速代码部署、使用基于云的基础设施扩展开发和IT操作,以及促进可见性和协作,使安全性成为DevOps方法的重中之重。的作者DevOps手册指出在以前的软件开发和操作时代,安全审查是在开发完成之后开始的。由此产生的PDF——包含数百页的漏洞——给即将到来的项目截止日期和SDLC的下一步带来了压力。根据作者的说法,对实施DevOps的最大反对意见之一来自旧的组织模型,其中信息安全和合规团队(InfoSec)被隔离在开发和IT运营之外。

DevOps将安全性集成到开发迭代中,以提高开发人员和操作人员的生产力、安全性和安全性。ob欧宝娱乐app手机下载根据DevOps手册信息安全是每个人每天的工作。测试自动化、版本控制、监控、记录和解决问题的核心技术实践使DevOps能够有效地将信息安全集成到SDLC中每个人的日常工作中。现有的工具可以增强DevOps的安全流程,但采用协作文化与为DevOps技术实践集成工具同样重要。

作者建议尽早并经常在工作流程中与信息安全团队合作,并在每个开发周期结束时进行产品演示。ob欧宝娱乐app手机下载信息安全的指导和持续反馈将防止安全问题和低效率阻碍高速部署和影响客户的服务中断。使用开发和运营部门用于可见性的相同系统和工具跟踪安全问题,并对数据进行优先排序。自动化对应用程序、依赖项和环境的安全测试,以及其他用于持续集成的自动化测试,并使用反馈工具将潜在问题通知DevOps团队,作为日常工作的一部分。

DevOps安全工具

采用DevOps进行数据分析

管理、保护和利用数据是软件开发和支持它的业务流程的中心。将软件开发视为战略资产的组织使用数据分析来创造竞争优势,提高操作效率,并交付客户驱动的产品和服务。ob欧宝娱乐app手机下载

DataOps(数据操作)是一种管理数据分析的方法。DataOps是一种面向过程的方法,借鉴了敏捷开发、精益管理、统计过程控制(SPC)和DevOps。它试图将这些方法与监测和控制的统计过程结合起来,以提高大规模数据分析的吞吐速度、质量、安全性和可靠性。强调沟通和协作以改进数据库管理和数据分析与DevOps的价值观是一致的。

应用DataOps方法不需要废弃现有的数据工具。然而,有一个工具市场,可以加速数据分析团队的工作,并采用DevOps实践,如自动化、版本控制和敏捷开发框架。现有的工具可以帮助解开管理数据的复杂性——从获取到分析,再到可视化商业智能洞察。

DevOps数据和商业智能管理工具

正确的开发运维工具的好处

DevOps状态报告(2017)指出,“高效、准确地开发和交付软件的能力是所有组织的关键区别和价值驱动因素……独立于行业或部门。”该报告的作者认为,DevOps是将软件作为战略资产交付的最佳方式。报告发现,高绩效的DevOps团队实现或超过以下目标的可能性是其他团队的两倍多:

  • 产品或服务的数量ob欧宝娱乐app手机下载
  • 运营效率
  • 客户满意度
  • 质量:提供的产品或服务ob欧宝娱乐app手机下载的质量
  • 完成组织和任务目标
  • 建立向外部各方证明组织是否达到预期结果的措施

将这些目标作为成功的基准,集成正确的工具来应用DevOps技术实践的好处包括:

  • 增加代码吞吐量指标
  • 提高代码和变更部署速度
  • 缩短新产品、服务和功能的上市时间ob欧宝娱乐app手机下载
  • 降低新版本的失败率
  • 加快平均恢复时间(MTTR)
  • 提高可靠性指标
  • 加强协作和生产力ob欧宝娱乐app手机下载
  • 消除正在进行的工作和技术债务
  • 增强整体平台或工具链

的作者DevOps手册我相信没有解决开发和IT操作之间的“长期冲突”的组织将处于非常不利的地位。DevOps寻求通过将软件开发、QA、信息安全和IT运营作为战略业务流程和资产来交付价值。因此,集成正确的工具来利用DevOps技术实践(如持续交付)的总体目标是增强竞争优势,如上市时间和可靠的服务。提高组织绩效和“人的状况”(工作与生活的平衡、敬业度和工作满意度)是实现这些目标的副产品。ob欧宝娱乐app手机下载DevOps提倡实验和从失败中学习的文化。DevOps文化鼓励团队寻找合适的工具,并不断改进内部工具链,以优化DevOps技术实践。

欧宝体育app官方888培训中的开发运维专业人员资源

DevOps的流行及其所带来的好处,以及Netflix、Etsy、Capital One和Twitter等知名公司对DevOps的使用,激发了对应用DevOps技术实践的知识和技能的需求。新的职位名称和更新的职位描述现在反映了对DevOps经验、知识和技能的需求。

如果技术行业的模仿趋势保持不变,那么具有持续集成经验的DevOps工程师或具有管理和操作基于云的基础设施经验的系统管理员的工作机会将继续增加。随着越来越多的知名公司意识到DevOps的竞争优势,对DevOps相关技能和知识的需求将会上升。

通过以下在线资源了解更多关于DevOps的知识,并继续您的专业发展:欧宝体育app官方888

  • 琳达:LinkedIn的Lynda为DevOps培训专业人员提供在线视频课程,包括DevOps基础、云架构以及与DevOps技术实践相关的课程,如AWS for DevOps、Elasticsearch Essential Training、Learning Puppet等。
  • Udemy:Udemy为DevOps专业人士提供开发、IT和软件方面的视频课程,包括DevOps基础、Learn DevOps: CI/CD with Jenkins using Pipelines and Docker、Learning Path: Modern DevOps,以及名为DevOps面试问题的职业准备课程。
  • DevOps书签:这个在线资源根据功能(例如CI/CD、虚拟化和容器等)、平台、软件许可模型和编程语言编译了一个与devops相关主题的可排序书签列表。

使用Smartsheet改进DevOps

通过设计一个灵活的平台来满足你的团队的需求,并随着需求的变化而适应,从而使你的员工能够超越自己。

Smartsheet平台可以轻松地从任何地方计划、捕获、管理和报告工作,帮助您的团队更有效地完成更多工作。报告关键指标,并通过汇总报告、仪表板和自动工作流实时了解工作情况,以保持团队的联系和信息。

当团队对要完成的工作有了清晰的认识时,就不知道他们在同样的时间内能完成多少工作。今天就免费试用Smartsheet吧。

了解为什么超过90%的财富100强公司信任Smartsheet来完成工作。

免费试用Smartsheet 获得一个免费的Smartsheet演示