一项权威研究表明:2017 年,DevOps 在市场上创造了 29 亿美元;预计到 2022 年,这个数字将达到 66 亿美元。作为软件项目开发的关键性要素,DevOps 已经深入地影响到了软件世界的整体开发格局。许多专家预测 DevOps 将逐渐成为软件工程的主流模式,并将在 2020 年达到其顶峰。
因此,对于许多研发企业而言,开发人员已不再停留在是否对其感兴趣的层面上了,而是应该撸起袖子,真刀真枪地去实践 DevOps 相关的技术与方法。Hackernoon 在引述 Statista 的文章中提到:从 2017 年到 2018 年间,DevOps 的全球使用率增长了 7%。而 IDC 预计 DevOps 的软件市场体量将从 2017 年的 29 亿美元,增长到 2022 年的 66 亿美元 (请参见 https://www.idc.com/getdoc.jsp?containerId=US43722718 )。
DevOps 具有以下优点:
- 能够对各种修改需求做出快速的反应。
- 能够实现灵活的安全部署与编排。
- 能够建立完善的协作与沟通渠道。
- 能够快速地识别出代码中的错误或漏洞。
- 开发团队可以毫不费力地将精力放在其他关键问题上,而不必过度专注于各项安全功能。
如今,业界许多企业正在采用 DevOps 的产品交付模式。如下图所示,根据 Statista 的统计数据显示:那些在整体公司内部全面“拥抱了”DevOps 的企业数量,从 2017 年的 10% 增长到了 2018 年的 17% (请参见 https://www.statista.com/)。
1. 自动化将成为重点
目前,那些实施了 DevOps 的公司已经能够通过高效和快速的部署受益匪浅 (请参见https://dzone.com/articles/benefits-and-challenges-of-taking-the-devops-route)。在此,我们将重点讨论 DevOps 的自动化方面。零接触自动化 (Zero-touch automation) 正是未来的发展方向。了解 DevOps 周期的 6 个 C (译者注:Continuous Business Planning、Collaborative Development、Continuous Testing、Continuous Release and Deployment、Continuous Monitoring、Collaborative Customer Feedback & Optimization),并确保在这些阶段之间应用自动化是关键所在,这将是各个企业在 2020 年的主要目标之一。
2. 将注意力从 CI 管道 (Pipelines) 转移到 DevOps 装配线 (Assembly Line)
众所周知,DevOps 的最终目标是:改善计划和交付过程中自动化之间的协作。这不仅涉及到持续集成 (CI),而且与持续交付 (CD) 有关。如今,许多公司都正在投入更多的精力和时间,来了解整个软件开发流程中有关自动化方面的知识与技能。而 2020 年,他们的注意力将会从持续集成的管道,转移到 DevOps 的装配线上。
装配线的优势:
- 强大的嵌套可见性
- 原生集成
- 快速实现和扩展 “as-code (即代码)” 的理念
- 具有完美的互操作性,可实现持续交付
- 基于团队的商业智能与分析
3. 人工智能 (AI) 的兴起,数据科学的发展
越来越多的由人工智能驱动的应用程序 (https://dzone.com/articles/leveraging-ai-and-automation-for-successful-devsec),将推动数据科学团队在其工作流程中寻找 DevOps 理念的实践价值。DevOps 方法有望成为处理自动化管道,以及维护与测试生产链中多个已部署模型的主要选择。
为了提高开发、部署和管理那些由 AI 和 ML (机器学习) 驱动的应用效率,数据科学和开发团队将不断加强紧密协作,相辅相成地提高彼此的技能与交付水平。2020 年, DevOps 团队将在自动化的帮助下,通过各种工作流的完美交付,发掘出更多潜在的客户。
4. “一切即为代码 (Everything as Code)”的概念
不可否认:程序编码如今已经成为了 IT 部门、及其服务系统背后的主要支柱之一。因此,充分了解各种 DevOps 工具、以及对应的自动化脚本,在企业的日常软件开发过程中都能够起到至关重要的作用。2020 年,此类实践将会在各种项目的落地过程中占据主导地位。我们可以毫不夸张地说:企业业务的前景、以及产品的未来品质都会或多或少取决于开发人员、测试人员和运营人员的综合技术能力。
由于 DevOps 旨在缩减交付周期,因此我们需要引入那些可被用于提高软件生产周期效率的优质代码。此处“一切即为代码”的思想是:在 DevOps 的内部完成代码的 SDLC (软件开发生命周期管理,https://dzone.com/articles/leveraging-best-practices-with-the-sdlc) 实践。2020 年,面对 DevOps 这股浪潮的持续推进,如果软件测试人员还不开始着手学习代码编程,以及编写测试脚本的话,他们来年可能会更加举步维艰。
5. 使用无服务器架构
无服务器架构,特别是由云服务负责的整体架构,会将 DevOps 提升到一个更高的水平。由于微服务是一种独立的服务模式,因此它在出现问题时,不会产生连带式的依赖关系,也不会破坏其他现有的服务系统。因此,有了此类体系结构,软件开发人员可以将精力更加集中在手头的应用程序上。BaaS (Backend as a Service,后端即服务) 和 FaaS (Function as a Service,功能即服务) 是无服务器架构中的两个关键方面。通过采用无服务器架构,企业能够节省时间和降低成本,进而确保实现各种弹性的工作流程。
6. 更多嵌入式安全性
随着安全漏洞数量的急剧增长,以及各类安全事件给公司声誉所带来的严重影响,更多的企业乃至国家开始意识到网络安全的重要性。我们在享受 DevOps 快速交付效率的同时,需要让安全性成为设计规范的一部分,从一开始就充分考虑到安全性的全面需求。只有将安全要素植入软件产品的“基因”之中,才不会疲于亡羊补牢。
2020 年,DevSecOps 将持续呈现上升的趋势。开发团队将在应用程序的开发生命周期中“左移 (Shift-left)”DevSecOps,通过减少各种程序原生的漏洞,进而让安全性更能匹配业务目标,并提高企业的声誉。DevSecOps 模型假设项目中的每个人都会担负起安全方面的责任。这种软件开发方面的通力合作,将有助于减少责任的推诿,并确保开发过程安全性与高效性。
7. Kubernetes 将有长足的发展
Kubernetes 因其自身的性能和易用性,已经成为增长最快的容器技术。而且 Kubernetes 拥有着广泛的开源社区的支持。目前在全球范围内,许多 CIO 和技术专家都已经在自己的产品和项目中大量使用到了 Kubernetes。我们预计在 2020 年,随着各类企业进一步通过深度采用容器技术,来运行它们的云原生应用,Kubernetes 将会迎来更广的普及、更大的发展。当然,基于 Kubernetes 的容器编排软件也会逐渐替换一些旧的 DevOps 功能。让我们拭目以待吧。
本文转自:51CTO.com,作者:陈峻 编译
原文标题:8 DevOps Trends to Watch For in 2020,作者:Shormistha Chatterjee
猜你喜欢: