写点什么

都在说 DevOps,你真正了解它吗?

  • 2022 年 7 月 04 日
  • 本文字数:2979 字

    阅读完需:约 10 分钟

都在说DevOps,你真正了解它吗?


Hi!我们是DevSecOps解决方案提供商、Atlassian全球白金合作伙伴——龙智

。在过去的十多年间,传统软件研发模式发生巨变,从瀑布式开发到敏捷再到 DevOps,开发和运维之间曾经明确的界限正在慢慢变得模糊。

DevOps 由于能够促进开发、运维、测试等不同部门的沟通、协作与整合,正在悄然成为软件研发运营主流趋势。发展至今,DevOps 也结合了新的流程,比如持续集成和持续部署来快速交付价值。

如果您对 DevOps 还知之甚少,或是想要更深入的了解 DevOps 工具链,请不要错过本系列本章。龙智将从 DevOps 的概念、DevOps 工具链、CI 及工具对比、DevOps 监控、DevSecOps 五个方面入手,让您从起源开始,逐步深入了解 DevOps 这个已流行数十年的方法论。


DevOps 是什么?


在维基百科中,它被定义为一种重视“软件开发人员(Dev)”和“IT 运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。


从 2007 年横空出世,到现在已然成为软件公司耳熟能详的组合词,DevOps 已经走过了 15 个年头。但依旧有人对于 DevOps 感到困惑,阅读本文,你将深入了解到 DevOps 的起源、DevOps 能为企业带来什么以及成功实施它的基础。


DevOps 的起源


DevOps 的诞生要从一位比利时的独立 IT 咨询师说起,这位咨询师的名字叫做 Patrick Debois。


2007 年,Patrick 参与了比利时一个政府下属部门的大型数据中心迁移项目。在这个项目中,他负责测试和验证工作。因此,他不但需要和开发团队(Dev)一起工作,而且需要和运维团队(Ops)一起工作。第一天他在开发团队以敏捷的节奏工作,第二天则在运维团队以传统的方式维护这些系统。


开发团队引入敏捷模式后,追求的是快速变更、快速迭代,这与运维团队追求的稳定、可靠和安全之间产生了巨大冲突。在两个团队之间来回切换的 Patrick,意识到开发团队和运维团队的工作方式和思维方式有着巨大的差异。作为一名敏捷开发的拥护者,他开始思考如何用敏捷的方法论改进自己的工作,并且质疑现有流程的合理性。


2009 年,Velocity 大会上的一场演讲成为 DevOps 运动发展的导火索。来自 Flickr 公司的 John Allspaw 和 Paul Hammond 做了一场主题为“每天部署 10 次以上:Flickr 开发与运维的高效合作(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 的一个基本实践是让软件开发生命周期更自动化,这将使开发人员有更多时间写代码和开发新功能。通过自动化流程,团队可以在较短的迭代时间内实现持续改进,从而能够快速响应客户反馈。自动化也是 CI/CD 流水线的关键要素。


持续改进

持续改进是敏捷实践以及精益制造和改进模式的主要内容。这是一个能最大限度减少浪费以及优化速度、成本和交付便利性的实践。持续改进与持续交付相关联,让 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 体系与文化,实现开发安全运营一体化。


想了解更多 Atlassian DevOps 解决方案、工具及客户案例?欢迎您立即咨询Atlassian全球白金合作伙伴—龙智

电话:400-775-5506

邮箱:marketing@shdsd.com

用户头像

还未添加个人签名 2021.05.18 加入

还未添加个人简介

评论

发布
暂无评论
都在说DevOps,你真正了解它吗?_DevOps_龙智—DevSecOps解决方案_InfoQ写作社区