如何理解 DevOps?
要想解释这一问题,先要确立 DevOps 流程参加的工作人员到底是谁?即开发 team 和 IT 运维 team !那麼,DevOps 的目的是什么?即在2个 team 相互之间,构建高效的沟通和合作,更迅速更可靠的建立高质量的软件!
实际上,并非这2个 team 相互之间的协作交付更加好的软件,只是“开发”和“运维”team相互之间的统一性优化,并且以更高的效率交付。
大家不要忘了 DevOps 工具在构建自动化这方面所饰演的角色。开发和运维“一体化”的体验是由开发者和实际操作工程师相互之间的专业技能組合和实践的桥接和自动化(DevOps)工具的构建发生的。各国的大中型互联网企业已开始采用DevOps方式来彻底优化其特性,安全性和team动态。
在本文中,我们一起了解 DevOps,为何它这么至关重要!
大家将跟随 DevOps 软件开发方法的发展历程,探索什么是 DevOps 以及它的生命周期,并根据评估全球顶尖企业,来了解一下如何使用 DevOps 来获取好处。
- 1 软件开发的发展历程
多年来,DevOps 从当下的软件开发策略发展而成。我们一起简要地看下这种模型是怎样的发展历程的,和他们最合适的应用场景。缓慢而繁琐的瀑布模型演化成敏捷,开发team在很短的时间内构建软件开发,响应时间甚至于不高于半个月。这么短的发布周期协助开发team正确处理客户反馈,并将其与bug修补一起合并到下个版本号中。尽管这类敏捷的 SCRUM 方式为开发带来了敏捷性,但它在运维这方面却失去敏捷实际操作的效率。开发者和运维人员相互之间欠缺协作依然会减慢开发流程和发布。DevOps 是基于对更加好的协作和更快速的交付的各种需求而发生的。DevOps 容许用比较少繁杂问题的持续软件交付来修复和更迅速地解决困难。

如今大家早已掌握了 DevOps 的发展趋势,我们一起来详尽了解一下 DevOps 是怎样的。
- 2 如何理解 DevOps ?
DevOps 是软件开发方法,涉及到软件在全部开发生命期中的持续开发,持续测试,持续集成,持续部署和持续监控。这种主题活动只有在DevOps 中构建,而并不是敏捷或瀑布,这是为何顶尖互联网企业挑选 DevOps 做为其业务目标的正确方向。 DevOps 是在较短的开发周期内开发质量高的软件的优选方式,能够提升满意度。在不掌握 DevOps 生命期的状况下,对 DevOps 的了解也会片面化。如今我们一起了解一下DevOps 生命期,并讨论他们怎样与图为的软件开发阶段相关联。

持续开发:
它是 DevOps 生命期中软件持续开发的环节。与瀑布模型是软件可交付成效被分解为短开发进度的好几个任务节点,在很短的時间内开发并交付。这一环节包含编码和构建环节,并采用Git和SVN等工具来维护各种版本的代码,和 Ant、Maven、Gradle 等工具来构建/打包代码到可执行文件中,这种文档能够发送给自动化测试系统软件开展测试。
持续测试:
在这一环节,开发的软件将被持续性地测试 bug。针对持续性测试,采用自动化检测工具,如 Selenium、TestNG、JUnit 等。这种工具容许质量管理系统彻底并行地测试好几个代码库,以保证功能中沒有不足。在这一环节,采用 Docker 容器即时模拟“测试环境”都是优选。如果代码测试通过,它就会持续不断与当下编码集成。
持续集成:
它是支撑新功能的代码与当下代码集成的环节。因为软件在持续性开发,升级后的代码必须持续性集成,并快速地与系统集成,以表明对最终用户的各种需求变更。变更后的代码,还应当保证执行时环境中沒有异常,容许大家测试变更并检查它如何与其它变更发生反应。
Jenkins是1个十分主流的适用于持续集成的工具。采用 Jenkins,能够从 git 存储库获取近期最新的代码修订,并转化成 1 个搭建,最后能够部署到检测或生产制造网络服务器。
能够将其设定为在 git 储存库中发生变更时全自动开启新构建,也可以在单击按键时手动触发。
持续部署:
这是将代码布署到环境的环节。 这里,大家保证在全部网络服务器上恰当部署代码。 假如加上了任意作用或导入了新功能,那麼应当准备好迎接更多的网站流量。因而,系统运维工作人员也有责任拓展服务器以容下更多用户。因为新代码是持续部署的,因而配置管理工具能够更迅速,经常地实行任务。Puppet,Chef,SaltStack 和 Ansible 是这一环节采用的某些主流工具。容器化工具在部署环节也充分发挥着至关重要功效。
Docker 和 Vagrant 是主流的工具,有利于在开发,检测,上台和环境中构建完整性。此外,他们还有利于轻轻松松拓展和缩放实例。
持续监控:
它是 DevOps 生命期中十分重要的环节,在于通过电脑监控软件的性能来提升软件的质量。这种行为涉及到经营 team 的参加,她们将监控用户活动中的异常/系统的任何不正当行为。这还可以根据采用专用型监控工具来实现,该工具将持续性监控应用程序性能并突显问题。
采用的某些主流工具是 Splunk,ELK Stack,Nagios,NewRelic 和 Sensu。这些工具可协助密切监视应用程序和服务器,以主动检查系统的运行状况。它们容许提升产出率并提升系统的可靠性,进而减少IT支撑成本。遇到的任意重特大问题能够向开发 team 汇报,便于在持续性产品开发阶段开展修复。这种 DevOps 环节持续循环系统开展,直至超过需要的产品质量。
- 3 产品支撑
东软 SaCa Aclome 与 SaCa ACAP 可为您提供云原生落地全套解决方案,借助 SaCa Aclome 的多云管理平台可实现云基础设施的按需获取、弹性调度、一体化监控与自动化运维,而 SaCa ACAP 敏捷云应用管理平台可快速构建出您的第一个微服务应用,再借助 SaCa Aclome 的应用持续交付平台,实现云原生应用的持续集成与持续交付!