都在说DevOps,你真正了解它吗?
来源:Atlassian 作者:龙智 发布时间:2022-06-30
在维基百科中,它被定义为一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
从2007年横空出世,到现在已然成为软件公司耳熟能详的组合词,DevOps已经走过了15个年头。但依旧有人对于DevOps感到困惑,阅读本文,你将深入了解到DevOps的起源、DevOps能为企业带来什么以及成功实施它的基础。
DevOps的起源
DevOps的诞生要从一位比利时的独立IT咨询师说起,这位咨询师的名字叫做Patrick Debois。
2007年,Patrick参与了比利时一个政府下属部门的大型数据中心迁移的项目。在这个项目中,他负责测试和验证工作。因此,他不但需要和开发团队(Dev)一起工作,而且需要和运维团队(Ops)一起工作。第一天他在开发团队以敏捷的节奏工作,第二天则在运维团队以传统的方式维护这些系统。
开发团队引入敏捷模式后,追求的是快速变更、快速迭代,这与运维团队追求的稳定、可靠和安全之间产生了巨大冲突。在两个团队之间来回切换的他,意识到开发团队和运维团队的工作方式和思维方式有着巨大的差异。作为一名敏捷的簇拥者,他开始思考如何用敏捷的方法论改进自己的工作,并且质疑现有流程的合理性。
2009年,Velocity大会上的一场演讲成为DevOps运动发展的导火索。来自 Flickr公司的John Allspaw和Paul Hammond做了一场主题为“Flickr每天部署10次以上:开发与运维的高效合作(10+ Deploys Per Day: Dev and Ops Cooperation at Flickr)”的演讲。在这个演讲里,Filckr率先提出Dev和Ops的矛盾可以通过技术升级和文化构建来解决。
同年10月,Patrick Debois在比利时根特举办了名为“DevOpsDays”的研讨会,并把开发和运维两个词组合起来创造了“DevOps”这一术语。至此,DevOps开始真正流行。
DevOps重塑研发运维体系
DevOps的出现打破了开发团队和运维团队之间的障碍。它的目标是通过提升软件交付的质量內建,加速价值链端到端的反馈效率。在DevOps模型下,开发和运维团队不再孤立地工作。测试和部署阶段都包含在了开发阶段内,让团队成员能够专注在业务服务上,而不用花时间在测试、部署和设计上。
通过使用DevOps,能使IT部门加强协作、缩短产品上市时间、更新迭代周期更短、提升自动化能力、减少资源浪费、获得更快反馈等,这使得DevOps趋势在企业IT中越来越受欢迎。
为了更快更好的适应市场和增强创新力,已经有许多企业采用DevOps来为IT赋能。如今,DevOps已经在互联网、科技、金融、运营商和制造业等行业得到了广泛的落地实践,如果您也想要将DevOps纳入企业团队运作当中,首先需要了解DevOps原则。
掌握DevOps原则,让其充分发挥潜力
为了充分发挥DevOps的潜力,帮助DevOps团队能够比传统软件开发团队交付应用程序和服务更快速且高质量,团队应当遵循关键的 DevOps 原则。
合作
自动化
持续改进
持续改进是敏捷实践以及精益制造和改进模式的主要内容。这是一个能最大限度减少浪费以及优化速度、成本和交付便利性的实践。持续改进与持续交付相关联,让DevOps团队能够持续地推送更新,提高软件系统的效率。
顾客至上行动
DevOps团队使用与客户和最终用户的简短反馈循环,来开发以用户需求为中心的产品和服务。DevOps实践可以通过使用实时监控和快速部署来收集和响应用户反馈。团队可以立即了解用户是如何与软件系统进行交互的,并加以改进。
创作时需考虑目的
这一个原则涉及到了解客户的需求,并创造解决实际问题的产品或服务。DevOps团队应该从创建到实施对产品有一个整体的了解,而不是建立在虚假的泡沫中,或者基于消费者将如何使用软件的假设来创建软件。
DevSecOps的诞生:DevOps中,安全是重中之重
DevSecOps一词是由DevOps的概念延伸和演变而来。由于现代DevOps流程的速度和自动化可能会增加风险以及更多漏洞和缺陷,所以企业必须向左转移,也就是主动把安全性引入开发生命周期中,而不是等到最后一刻再进行安全修复,DevSecOps应运而生。
虽然与DevOps之间只有一词之隔——“Sec”,但Sec在其中起到极为关键的作用。Sec是Security的缩写,意为安全。DevSecOps的目标是将安全性融入到DevOps的过程中,整个开发和运维的过程中将安全作为一项重要的考虑因素,最终实现应用整个生命周期内的安全性。
DevSecOps可以给研发效能提供诸多好处,主要表现在以下三个方面:
更快发布:在DevSecOps中,通过使用自动化安全工具扫描左移了传统模式中,需要在上线前的最后阶段甚至上线后进行的安全扫描工作。这使得交付周期变短,从而更快发布。
节省成本:如果在上线前才进行安全扫描,那么扫描到高危漏洞后,需要进行返工,这将消耗极大的人力物力。DevSecOps可在SDLC早期阶段发现并修正漏洞,从流程上节省了成本。
控制风险:过去的开发、测试团队依赖安全团队来进行过评分扫描,确保没有漏洞。但DevSecOps左移安全后,开发、测试团队具备了发现和修改漏洞的能力。
DevOps成功取决于工具、实践和文化
对于实践DevOps的团队来说,适合的工具能真正提升开发团队、IT运营团队和业务团队之间的协作。而Atlassian的使命就是通过协作工具和实践的力量来释放所有团队的潜力。Atlassian的Open DevOps以Jira作为基础和最终的事实来源,统一了所有DevOps的工作并减少了协作负担。团队可以专注于构建和操作软件,自动集成Atlassian和合作伙伴工具就交给Open DevOps。
延续Atlassian DevOps的开放理念,龙智进一步引入更多全球领先工具,包括Helix Core, Whitesource, Sonarqube等,为企业量身定制DevSecOps解决方案。
要想成功实施DevSecOps,不能仅限于完善的连接工具,而也要注意员工与团队文化,因为这可能才是影响DevSecOps成功实施的首要因素。
龙智作为这一领域的先行者,十多年来先后为1000多家企业提供DevSecOps相关咨询和解决方案,积累了大量经验和案例,可以为企业提供最佳实践参考;另一方面,龙智形成了从咨询,培训,部署,运维到定制开发的一站式服务,陪同企业从0起步,逐步搭建、形成DevSecOps体系与文化,实现开发安全运营一体化。