发布时间: 2021-08-27 14:00:15
DevOps近年来频频出现在各大技术社区和媒体的文章中,备受行业大咖的追捧,也吸引了很多吃瓜群众的围观。那么,什么是devops?
什么是devops
DevOps(Development和Operations组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。一些国际组织对其定义如下:
DevOps强调对应用进行快速、小规模、可迭代的开发和部署,以更好地应对和满足客户的需求。它要求进行文化的转变,即将开发和运维只能作为一个合作的整体来看待,注重提高业务价值,旨在精简整个IT价值链。
从定义来看,其实devops就是为了让开发、运维和QA可以高效协作的流程。(可以把DevOps看作开发、技术运营和质量保障(QA)三者的交集)
DevOps是一套实践框架,包含了精益、敏捷的理念,各种持续集成和持续交付的职能,以及构建流水线的工具。它着眼于项目的实践,在实践中强调以业务价值来统一所有工作目标,这个目标是不同的团队打破原有的组织考核壁垒,进行合作和沟通的基础。
它的核心思想是把所有的IT交付和运维服务团队统一起来,围绕一个统一的业务价值目标及业务交付范围加强沟通,通过频繁、快速地迭代交付和反馈,达到加快交付速度和提高交付质量的目的。
为什么需要DevOps?
在DevOps之前:
开发和运营团队完全孤立。
测试和部署是在设计构建之后完成的独立活动。因此,他们比实际构建周期消耗更多时间。
在不使用DevOps的情况下,团队成员将大量时间花在测试,部署和设计上,而不是构建项目。
手动代码部署会导致生产中出现人为错误
开发和运营团队有各自的时间表,不同步导致进一步的延误。
在DevOps 模式下,开发团队和运营团队都不再是“孤立”的团队。有时,这两个团队会合为一个团队,他们的工程师会在应用程序的整个生命周期(从开发测试到部署再到运营)内相互协作,开发出一系列不限于单一职能的技能。
DevOps对应用程序发布的影响
在很多企业中,应用程序发布是一项涉及多个团队、压力很大、风险很高的活动。然而在具备DevOps能力的组织中,应用程序发布的风险很低,原因如下:
(1)减少变更范围
与传统的瀑布式开发模型相比,采用敏捷或迭代式开发意味着更频繁的发布、每次发布包含的变化更少。由于部署经常进行,因此每次部署不会对生产系统造成巨大影响,应用程序会以平滑的速率逐渐生长。
(2)加强发布协调
靠强有力的发布协调人来弥合开发与运营之间的技能鸿沟和沟通鸿沟;采用电子数据表、电话会议、即时消息、企业门户(wiki、sharepoint)等协作工具来确保所有相关人员理解变更的内容并全力合作。
(3)自动化
强大的部署自动化手段确保部署任务的可重复性、减少部署出错的可能性。
与传统开发方法那种大规模的、不频繁的发布(通常以“季度”或“年”为单位)相比,敏捷方法大大提升了发布频率(通常以“天”或“周”为单位)
上一篇: devops是什么考试
下一篇: hadoop需要什么基础