DevOps发展至今已有多年的时间,毫无疑问将在2021年持续发展。由于许多组织都在寻求围绕其数字化转型的最佳实践,因此了解组织领导者对DevOps行业的发展方向非常重要。本文列出了行业领导者对2021年DevOps发展趋势的预测。

1. 迁移到微服务将成为必由之路

Wipro Limited公司DevOps首席工程师Sachidananda Pattnaik说,“从单片到微服务和容器化架构的迁移将是所有组织数字化转型之旅的必经之路。这就是采用Kubernetes的趋势,当组织采用多云时,Terraform将是自动化基础设施的最终选择。”

2. 混合将成为部署规范

Developer Relations公司副总裁Stephen Chin说,“2020年加速了远程工作,加快了向云端的迁移,并将DevOps从最佳实践转变为每个业务的重要组成部分。随着我们进入2021年,该行业将在多个方面接受混合。首先,企业将采用混合型劳动力,将远程工作和现场团队协作的优势相结合。其次,商业模式将变得混合,例如将虚拟规模与本地网络合并的会议。最终,随着组织对堆栈进行现代化以利用云原生技术的优势,混合将成为部署规范,但要意识到并非所有事物都可以迁移到外部。2021年的赢家将是积极接受业务、模型和产品混合的公司。”

3. DataOps将要蓬勃发展

Rakuten公司高级DevOps工程师Nirav Chotai表示,“DataOps将在2021年蓬勃发展,发生的疫情可能会在其中发挥作用。由于疫情导致组织的员工在家远程工作,数字内容的消费量猛增,这要求自动扩展和自我修复系统的自动化达到新水平,以满足增长和需求。

在以往,DevOps通常只用于日志记录、监视和警报的系统。现在,DevOps应当加强并使用可用数据和指标来产生有价值的见解,学习并应用机器学习模型来预测事件或中断,开发从数据中学习自身并预测能力的自动化以改进预算计划。许多组织已经开始对此部分调用MLOps/AIOps。”

4. 弹性测试将成为主流

Neotys公司产品主管Patrick Wolf表示,“可观察性、性能测试和弹性测试之间的交叉点将成为主流。随着AWS和Google等行业领导者最近发布的运营问题,以及所有垂直领域的数字化转型加速,市场将逐渐认识到,公共云或私有云提供的无限可扩展性是不够的。”

5. GitOps将成为常态

“构建并拥有”的开发过程需要开发人员知道和理解的工具。GitOps是DevOps如何使用开发人员工具来驱动操作的名称。

梅西百货(Macy's)首席架构师Soumen Sarkar表示,GitOps是一种实现连续交付的方法。更具体地说,它是一种用于构建统一部署、监视和管理的云原生应用程序的操作模型。其工作原理是使用Git作为声明性基础设施和应用程序的真实来源。当提交在Git中被推送和批准时,自动化的持续集成(CI)/持续交付(CD)管道将对其基础设施进行更改。它还利用差异工具将实际生产状态与受源代码管理的状态进行比较,并在出现差异时向工作人员发出警报。GitOps的最终目标是加快开发速度,以便团队能够安全地对运行在Kubernetes中的复杂应用程序进行更改和更新。

6. 将会有更多的组织将业务迁移到无服务器

ADP Lifion公司站点可靠性工程经理Shivaramakrishnan G说,“2021年将是更多组织将业务迁移到无服务器的一年。按需付费将只在使用模型时才需要付费。但需要考虑运行基于k8s pod的微服务,以便在需要时在无服务器上运行相同的服务。”

7. NoOps将出现

ClickIT Smart Technologies公司首席执行官Alfonso Valdes说,“我认为将会出现更多托管服务,并减少DevOps运营,减少客户的运营成本。更多的无服务器应用,更多的无服务器服务,如Aurora、Fargate、Amazon S3和无服务器静态网站。Amazon ECS/EKS在数据中心的应用,以及云计算托管服务,这些服务允许减少数据中心的维护和开发。同样,更多的云原生原则和特性可以迁移到数据中心,例如Knative。”

8. BizDevOps将会大放异彩

Petco公司DevOps经理Chad Prey 说,“随着业务从DevOps中获取价值,在架构和公司层次结构方面朝着成本优化的方向发展。FaaS才刚刚起步(例如无服务器和Lambda等),运营问题正在得到解决,人们正在意识到其发展潜力。”

9. 基础设施即代码(IaC)提高了重要性

沃尔沃汽车公司高级解决方案架构师Niraj Tripathi说,“基础设施即代码(IaC)是云中DevOps的核心原则。无论是在内部部署设施或云中的服务器、网络和存储设备都可以定义为基础设施即代码(IaC)。这使组织可以实现自动化并简化其基础设施。基础设施即代码(IaC)还提供了一个简单的基础设施版本控制系统,该系统可让团队在发生灾难性故障时回滚到最近有效的配置。这意味着可以快速恢复并减少停机时间。”

10. 自动化和混乱工程变得非常重要

直布罗陀印度发展中心集团发展经理Nikhil Bhandari说,“无论是构建、部署、测试和发布,一切都是自动化的。更快、可重复、可定制和可靠的自动化是任何项目成功的关键。系统行为和客户体验是紧密耦合的,越早进行测试,就越能为客户提供更好的体验。”

11. 云原生方法将实现标准化

行业专家Ben Sapp说,“由于云计算在10年来蓬勃发展,并且容器化已成为规范,所以一切都将实现标准化,就像大型机时代一样。当然,还有很多趋势和获得的机会。但是人们不知道下一个颠覆者是什么。现在的一切基本上都与五年前的最佳实践相同,这是软件开发的黄金时代。DevOps和云原生方法已经实现了许多目标。管道、托管、存储、负载平衡等这些目标都在很短的时间之内解决了。”

12. 安全将成为重中之重

行业专家Cloud Skiff表示,“从DevSecOps角度来看,可以跟踪基础设施中不受控制的变化。即代码的基础设施很棒,但是有太多可移动的部分:代码库、状态文件、实际云状态。而这些更改可能有多种原因:从开发人员通过Web控制台创建或更新基础设施而不告知任何人,到云计算提供商方面不受控制的更新。处理基础设施迁移与代码库可能会充满挑战。”

13. 混沌工程将变得越来越重要

International Technology Ventures公司首席技术官 Kelvin Meeks表示,“在更多组织中的DevOps规划讨论中,混沌工程(Chaos Engineering)将变得越来越重要,也更常见。混沌工程是一门在生产环境中对软件系统进行实验的学科,目的是建立对系统抵御动荡和意外情况的能力的信心,但大多数组织通常不采用这种方法。

如果在传统的五个成熟度模型框架内考虑DevOps,那么混沌工程将包含在DevOps实践的保护范围内。正如将单独的测试/质量保证小组的传统角色纳入DevOops的学科一样,混沌工程也应如此。”

14. 更关注即时日志以快速验证成功或失败

ADESA平台稳定性主管Craig Schult说,“在后期部署中使用日志来验证发布是否成功,或者存在严重错误。人们需要建立的最大联系是定义人工流程,然后实现自动化的巨大飞跃。一键部署、即时日志可快速验证成功或失败,然后触发回滚。随之而来的是复杂性以及跨服务依赖性,是否可以回滚某些内容,或者是否需要对其他服务进行进一步测试。”

15. DevSecOps将成为DevOps的默认部分

JFrog公司首席技术官Eldad Assis表示,DevSecOps的“Sec”部分将越来越成为软件开发生命周期中不可或缺的一部分,真正的安全性“向左移动”方法将成为新常态,持续集成(CI)/持续交付(CD)管道中的专用安全步骤较少,安全自动感知和操作将成为所有管道步骤的一部分。从开发人员的集成开发环境(IDE)开始,进入依赖关系和静态代码分析。安全和自动识别和采取措施将是所有流程步骤的一部分。在没有适当解决这些问题的情况下,不要发布软件组件。开发人员真正面临的安全问题是使用免费软件。