热门搜索 :
考研考公
您的当前位置:首页正文

从技术雷达看 DevOps 发展的 9 个趋势

来源:东饰资讯网

DevOps 包含了太多方面的技术和实践,很难通过一个统一的工具链来描述其发展。即便如此,我们仍然可以从 ThoughtWorks 技术雷达的条目变动中看出一些趋势。今年,我有幸作为主编参与了最新一期技术雷达的译制,作为 DevOps 的爱好者,十分高兴能在这一过程中看到DevOps 未来发展的几个趋势,总结成了这篇文章

趋势1:微服务目前仍然是 DevOps 技术应用和发展的主要领域

微服务目前仍然是 DevOps 技术应用和发展的主要领域

微服务将单块应用系统切割为多个简单独立的应用。从技术上说,这是通过工具把应用程序的内部复杂度转化为外部复杂度,需要一系列工具支撑微服务本身以及服务之间的通信。从组织上说,微服务团队要满足“快速发布,独立部署”的能力,则必须具备 DevOps 的工作方式。

趋势2:以 Docker 为核心的数据中心方案逐渐走向成熟

以 Docker 为核心的数据中心方案逐渐走向成熟

在过去的两年,Docker 社区有了突飞猛进的发展,似乎每期技术雷达都会出现 Docker 相关的条目。而 Docker 往往和 DevOps 联系起来,被认为是推动 DevOps 发展的杀手级工具,以至于有些人会以团队是否采用 Docker 作为团队是否具备 DevOps 能力的标志。

而这一社区的创新数量则日渐平缓。一方面,开源社区激烈的竞争淘汰了一部分技术。另一方面,以 Docker 为中心的完整数据中心解决方案在不断的整合开源社区的零散工具并形成最佳实践。为端到端的开发和运维提供更完整的交付体验,各大厂商也相继开始推广自己的企业级整体收费解决方案,这表明 Docker 的使用已经走向成熟。

趋势3:不完整的 DevOps 实践阻碍着 DevOps 的发展

不完整的 DevOps 实践阻碍着 DevOps 的发展

大部分企业在 DevOps 转型中仅仅关注到了工具的升级。却忽视了价值流、生产流程中各个活动中的最佳实践以及 DevOps 团队文化的构建,这会使团队陷入 “已经完成 DevOps 转型的假象 ”,而停止了团队的自我改进。

DevOps 的实践包含组织改进和技术升级两个部分,技术往往是最容易的部分。而缺乏组织改进的技术提升往往很难给组织带来质的飞跃。具备 DevOps 文化的团队则会不断反思和学习,通过共担责任和相互合作不断完善组织的 DevOps 实践。

趋势4:领域特定的 DevOps 实践开始出现

领域特定的 DevOps 实践开始出现

DevOps 的最早实践来自于互联网企业的 Web 应用,相应的思想被引入企业级应用并促进了一系列工具的发展。虽然并不是每一种应用软件交付形式都适合 DevOps,但随着 DevOps 的工具不断成熟。其它领域的 DevOps 实践也开始尝试借鉴 Web 应用领域的自动化工具,并逐渐形成领域级的 DevOps 实践。

随着 DevOps 相关概念和技术不断向各个产业领域的深入发展,可以看到 DevOps 技术和实践带来的巨大影响力。然而,每个技术领域都有自己所关注的特性,并不是以往的 DevOps 实践可以全覆盖到的,这恰恰成为了 DevOps 技术和实践发展的契机。我很期待领域特定的 DevOps 技术实践给 DevOps 带来的发展。

趋势5:采用 DevOps 进行技术债务重组和技术资产管理

采用 DevOps 进行技术债务重组和技术资产管理

技术债务类似于金融债务,它也会产生利息,这里的利息其实就是指由于鲁莽的设计决策导致需要在未来的开发中付出更多的努力。投资银行业往往采用多种金融工具组合的方式来处理企业的不良债务。而清理技术债务的实践和工具却乏善可陈。

技术债务不光阻碍了企业通过新技术带来便利,还使企业偿还技术债务所承担的成本越来越高,例如技术人才的流失,技术利息等综合性风险。

虽然极少会出现企业因技术债务而走向衰败的案例,但新晋企业凭借新技术和商业模式颠覆传统行业并夺取市场份额的报道却不断发生。 这从另一方面说明技术债务综合提升了采用新技术的机会成本,使企业不断失去创新和领先的巨大潜力。

DevOps 技术栈的多元化为分散遗留系统技术债务风险提供了一套灵活而又低风险的工具和方法论。不断帮助企业从遗留系统的负担中解脱出来。

趋势6:安全成为推动 DevOps 全面发展的重要力量

安全成为推动 DevOps 全面发展的重要力量

安全是 DevOps 永远绕不开的话题,也往往是新技术在传统行业(例如金融和电信)应用中的最大阻碍。一方面,组织结构的转型迫使企业要打破原先的部门墙,这意味着很多原先的控制流程不再适用。另一方面,由于大量的 DevOps 技术来源于开源社区,缺乏强大技术实力的企业在应用相关技术时不免会有所担忧。

Linux Security Module 则一直在技术雷达的“采用”区域,通过 SELinux 和 AppArmor 这样的 LSM 兼容帮助团队评估谁可以访问共享主机上的哪些资源(包括其中 的服务)。这种保守的访问管理方法将帮助团队在其SDLC流程中建立更好的安全性。以往这是 Ops 团队需要考虑的问题,而对 DevOps 的团队来说,这是每一个人的事情。

在不远的将来,不难想象人们所面对的法律和法规规定不再是一堆会导致歧义的语言文字条目,而是一组由自动化测试构成的测试环境。

安全性和易用性往往被认为是鱼与熊掌不可兼得的两个方面。在 DevOps 之前,团队吞吐量和系统稳定性指标曾经也面临这样的境遇,然而 DevOps 使得二者可以兼得。同样我也有信心看到在未来 DevOps 的领域里,更多易用且安全的工具将会不断出现。在降低 DevOps 所带来的安全风险的同时,也提升团队开发过程的顺畅性和用户便利性。

趋势7:Windows Server 和 DevOps 技术潜力巨大

Windows Server 和 DevOps 技术潜力巨大

趋势8:非功能性自动化测试工具的逐渐完备

非功能性自动化测试工具的逐渐完备

自动化测试水平往往是衡量 DevOps 技术能力高低的重要指标,尤其是针对生产环境应用程序的非功能性自动化测试工具。一直以来,技术雷达都在尝试从不同的角度宣扬自动化测试的重要性,从软件的开发阶段延展到了整个应用生命周期甚至整体 IT 资产的管理上。

趋势9:Python 成为 DevOps 工作中采用的首要编程语言

Python 成为 DevOps 工作中采用的首要编程语言

早在 DevOps 刚刚开始盛行的时候,Python 就是一个被寄予厚望的语言,因为大部分 DevOps 工具和实践都需要用到 Python。虽然也有人尝试用 Ruby 或者 NodeJS 构建 DevOps 工具,然而都没有 Python 所构建的工具流行。与此同时,仍然不断有人把其它语言下编写的工具转化为 Python 的版本,TestInfra 就是这样一个例子。

随着 Python 在大数据、人工智能、区块链、微服务以及 Docker 中的发展,可以预见 Python 在日后的领域仍然会发挥重要的作用。

Top