您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 开发技术 > 正文

DevOps 2020:值得关注的九大发展趋势

发表于:2020-02-11 作者:Saif Sadiq 来源:架构头条

DevOps 2020:值得关注的九大发展趋势

软件开发一路走来先后经历了不同发展阶段,从以往的瀑布式方法到敏捷交付,再到 DevOps,软件开发从未停止前进的步伐。以 Kubernetes 为例,作为推动 DevOps 的核心助力之一,这款容器编排工具实现了多主集群选项的标准化,并带来了新一轮生产力提升。

目前,DevOps 已经实现了代码与流水线层面的自动化。随着 AI 技术在 2020 年逐步成为常态,开发人员将借助 AI 工具获取到更多的大数据管理控制权;当数据库管理与 DevOps 结合之后,可供我们分析的大数据素材就越多,软件功能也会越丰富,因此,在未来,我们可以看到更多 DevOps 与各类数据库管理方案的集成。

在本文中,我们将探讨在 2020 年值得关注的 DevOps 九大未来发展趋势。

1. DevOps 的自身优势有哪些?

根据百度百科的解释,DevOps 是一种重视“软件开发人员(Dev)”和“IT 运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。其主要优势体现一下三个方面:

从软件开发到部署,DevOps 能够显著减少整个软件交付流程当中所需要的人手数量,从而降低时间需求与潜在错误。如今,在 DevOps 周期当中使用自动化测试工具已经成为很多开发者的默认选项。

由于开发人员与运营团队团结在统一的 DevOps 文化之下,因此以往常见的沟通不畅与工作冲突能够得到有效缓解。

随着 DevOps 的实施,我们可以在开发周期早期快速解决 bug 修复问题。

除此之外,DevOps 的优势还在于允许开发者在较短时间内部署新代码、快速更新并完成升级等等。

2. 2020 年 DevOps 九大发展趋势

作为 2020 年需要重点关注的技术方向,我们总结了在新的一年中,DevOps 的九大最新发展趋势。

1. 充分运用机器学习的力量

机器学习与人工智能已经成为数字化领域的焦点。在未来几年当中,随着 AI 技术的进一步普及,DevOps 也将迎来智能化升级。

如今,可用数据总量正快速增长,AI 技术将帮助 DevOps 从大数据处理当中得到实际助益,进而通过之前难以想象的方式改善应用程序开发流程(以及相关分析与研究流程);已经实现自动化的 CI/CD 流水线也将完成自动化提升,最终将流程内的人工干预需求削减至最低水平。虽然 AI 与 ML 技术的具体实现仍将充满挑战,但由此带来的成果十分值得期待。

鉴于此,自动化测试框架的质量提升将成为新一年内必须达成的核心目标。如今,LambdaTest 等自动化测试解决方案的出现不仅为用户提供坚实的基础设施,而且附带一系列补充性功能,足以在增加跨浏览器测试体验的同时帮助开发者更快交付软件产品。

2. 云服务供应商的地位将进一步提升

2020 年,云服务供应商将更加专注于无服务器 DevOps 解决方案,同时将会迎来相应客户群体的爆发式增长。这类解决方案不仅具备显著的成本效益,同时也降低了 DevOps 的实施门槛。开发人员无需维护运行代码的硬件与软件——一切交给云服务商,用户可以集中精力搞开发。

3. Compliance-As-Code:DevSecOps

随着恶意攻击者的持续肆虐,安全性将在新一年中继续成为人们的关注重点。开发人员目前正在全面而彻底地贯彻合规性保障,同时着力改善 DevOps 中的安全性水平。对于发现安全漏洞之后如何发布更新代码,开发者们一直保持着警惕的心态。DevSecOps 的出现有望解决这一问题,并在 2020 年逐步在更多业务环境中发挥重要作用。

4. 模块化软件:微服务

2020 年,越来越多的企业将逐步告别大型单体式应用程序,转而迎接模块化应用程序的兴起。模块化应用程序,就是将以往的单体式应用程序拆分为若干个逻辑模块。这意味着开发者能够独立更新各个模块,且不必担心对应用程序的整体稳定性造成破坏。

简而言之,到 2020 年,微服务架构的普及度将进一步提高。

5. 推动 CI/CD 流水线的实现

为了将 CI 与 CD 原则推向极致,我们需要在 DevOps 情境之下,弥合软件交付环境中各协作部门之间的对接鸿沟。开发人员、测试团队、运营团队、SecOps 团队乃至软件版本管理团队等,都需要以有组织的方式进行协调,从而推动 CI/CD 流水线的真正实现。

6. 编码将成为最重要的核心技能

自动化无疑是 DevOps 领域的重中之重。截至目前,CI/CD 流水线仍然需要大量人为干预。展望新的一年,这种人为干预有望得到进一步削减。脚本编写、机器学习应用以及全面自动化都将成为常态,同时这也意味着运营团队也需要加入脚本编写大军。此外,测试人员也需要掌握编码技能,否则将无法融入新的软件开发体系。

7. 进一步关注左移策略

随着安全问题的快速升级,左移(shift-left)策略的重要性也将大大提高。管理员不再需要坐等产品开发出现了 bug 或者安全漏洞之后才被动介入;相反,开发人员能够主动检查流水线中的安全问题,并采取适当的应对措施。过去一年中,这方面举措已经开始兴起,并将在 2020 年内得到更多人的认同。这种左移策略还将帮助我们在开发周期早期,快速适应可能出现的一切产品变更。

8. 基础设施即代码

随着云服务采用率的上升,IaaS 需求也将水涨船高。开发人员不再需要配置单独的服务器、数据中心以及虚拟机——所有内容都将以脚本的形式编写完成。

以此为基础,软件开发相关成本将逐步降低,并不断强化此类编码基础设施的灵活性。无论各位管理员身处何地,都能随时使用基础设施资源。另外,随着基于逻辑的运营方法越来越受到关注,FaaS 也将保持增长。事件驱动型服务器容量使用方式将成为常态——换句话说,由于全部内容都将遵循严格的“If-This-Then-That”逻辑,云服务器管理负担也将随之消散。以此为基础,云服务器自身将能够准确判断何时需要提供更多计算容量,何时可以降低容量供应以控制运营成本。

9. 数据库管理的兴起

DevOps 已经全面实现了代码与流水线的自动化。随着 AI 在 2020 年的普及,开发人员将借助 AI 工具获取更为灵活多样的大数据管理控制能力。这意味着数据库管理将与 DevOps 流程深度结合。分析的大数据素材越多,软件功能也就越丰富。DevOps 体系也将迎来新成员——数据库管理。

3. 总结

DevOps 之所以令人着迷,核心就在于其强大的适应性。由于大部分 DevOps 工具属于开源项目,因此企业可以根据自身需求对工具做出微调。Kubernetes、Docker 以及 Jenkins 都属于开源成果,而且这种开源趋势也将在 2020 年继续保持下去。有趣的是,曾经将开源称为“癌症”的微软公司现在也开始支持开源工具甚至是 Linux Kernel。新的一年当中,我们应该会迎来开源工具与操作系统的又一轮伟大崛起。

几年之前,Kubernetes 曾推出一项革命性的改进——多集群联合,这一重大成果将在未来几年内持续普及。从目前来看,现有软件开发方法还无法发挥 DevOps 的全部潜能,但随着 AI 与云服务的兴起,DevOps 文化终将成为新的客观标准。虽然 2020 年才刚刚拉开帷幕,但相信我们将踏实稳健地向着这个方向迈进。

2020 年,DevOps 领域将迎来一系列有趣的变化,但可以肯定的是——DevOps 仍将保持重要地位,而且是愈发重要的市场地位。因此,我们在这里建议大家深入学习 Kubernetes、Docker 以及其他 DevOps 工具,相信这方面技能将成为新一年中驱动职业生涯发展的强劲动力。