Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >DevOps发展的9个趋势|洞见

DevOps发展的9个趋势|洞见

作者头像
ThoughtWorks
发布于 2018-04-13 10:16:51
发布于 2018-04-13 10:16:51
7050
举报
文章被收录于专栏:ThoughtWorksThoughtWorks

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

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

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

如何拆解微服务一直是微服务技术应用的最大难点之一,领域驱动设计是比较理想的微服务拆解方法论。

社会化代码分析帮助团队通过更精确的数据找到更加合适的拆分点。CodeScene是一个在线服务,它能帮助识别出热点和复杂且难以维护的子系统,通过分析分布式子系统在时间上的耦合发现子系统之间的耦合。此外,它还能帮你认识组织中的康威定律,这会大大降低微服务解耦的难度。

此外,微服务系统本质上是一个分布式系统,分布式系统之间的通信一直是很重要的问题。本期介绍的Kafka Streams和OpenTracing就是这类技术的条目。Kafka作为一个成熟的分布式消息系统已经被广泛采用,而Kafka Streams则将最佳实践以“库”的方式呈现给开发人员,使得操作Kafka更加自然和简单。而OpenTracing则弥补了跨越多个微服务之间请求追踪的空白。

另一方面,无服务器风格的架构(Serverless architecture)把DevOps技术在微服务领域的应用推向极致。当应用程序执行环境的管理被新的编程模型和平台取代后,团队的交付生产率得到了进一步的提升。一方面它免去了很多环境管理的工作,包括设备、网络、主机以及对应的软件和配置工作,使得软件运行时环境更加稳定。另一方面,它大大降低了团队采用DevOps的技术门槛。

然而,端到端交付以及微服务中的函数管理问题日渐突出。尽管AWS API gateway和AWS Lambda几乎成了Serverless架构的代名词,但这二者结合的开发者体验并不佳。于是出现了Serverless framework和CLAUDIA这样的管理工具。

AWS Lambda带来的优势也深深影响了企业级应用领域,Apache OpenWhisk就是企业级无服务器领域的选择之一,它使得企业级应用也可以采用无服务器风格的架构构建应用程序。

在微服务端到端交付流程上,Netflix开源了自家的Spinnaker,Netflix作为微服务实践的先锋,不断推出新的开源工具来弥补社区中微服务技术和最佳实践的缺失。而Spring Cloud则为开发者提供了一系列工具,以便他们在所熟悉的Spring技术栈下使用这些服务协调技术(coordination techniques),如服务发现、负载均衡、熔断和健康检查。

而在微服务的安全上,最常见的需求之一 是通过身份验证和授权功能来保护服务或API。这部分功能往往是最重要且不断重复构造的。而Keycloak就是一个开源的身份和访问管理解决方案,用于确保应用程序或微服务的安全。且几乎不需要编写代码,开箱即用。它支持单点登录,社交网络登录和标准协议登录(如OpenID Connect,OAuth2和SAML等)。

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

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

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

在本期的技术雷达里的条目中出现了Mesosphere DC/OS,这是构建统一技术栈数据中心的一个征兆。在这方面Docker EE和Rancher都是非常有力的竞争者。根据我的判断,在未来的Docker社区里,统一容器化数据中心的竞争者将会进一步减少。而之前的私有云方案则慢慢会被“以Docker为核心数据中心级全栈交付”取代。

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

很遗憾看到单一持续集成实例和不完整的持续集成(CI Theatre)这样的条目出现在技术雷达里。可以感到企业应用DevOps技术的紧迫性。这同时也暴露了DevOps领域里“缺乏门槛较低且成熟的DevOps实践”的问题。

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

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

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

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

人工智能领域,TensorFlow就是这样一个例子,它可以有多种DevOps友好的安装和部署方式 ,例如采用Docker进行部署。

区块链领域,超级账本(HYPERLEDGER) 就是这样一个例子,它提供了一套工具和服务,结合DevOps相关技术和实践形成了一个完整的解决方案。

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

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

技术债务类似于金融债务,它也会产生利息,这里的利息其实就是指由于鲁莽的设计决策导致需要在未来的开发中付出更多的努力。

投资银行业往往采用多种金融工具组合的方式来处理企业的不良债务。而清理技术债务的实践和工具却乏善可陈。

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

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

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

而微服务则是首先通过领域拆分技术债,并用相应工具重组技术债。分离优质技术资产和不良资产,通过分散风险来降低抛弃成本。 而将API当做产品(APIs as a product)可以从一个全新的演进视角去看待技术债,通过可用性测试和用户体验研究帮企业剥离出技术债务中的优质资产和不良资产。

另一方面,本期技术雷达中出现了封装遗留系统这样的实践,它往往配合着Vagrant,Packer和Docker这样的工具一起使用。一方面它将技术债务的风险进行了隔离,另一方面它防止了遗留系统上产生的技术债利息的增长。

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

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

从代码中解耦秘密信息的管理则让我们避开了一些开发过程中可能会产生的安全隐患。采用git-crypt这样的工具可以帮我们保证在开发的过程中源代码内部的信息安全。而采用HashiCorp Vault则提供了脱离应用程序代码的秘密信息存储机制,使得应用在运行过程中的秘密得到了有效保护。

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

“合规性即代码”(Compliance as Code)是继“基础设施即代码”,“流水线即代码”之后的又一种自动化尝试。InSpec作为合规性即代码的提出者和实现者,通过自动化手段确保服务器在部署后的运维生命周期中依然保持安全与合规。它所带来的意义在于将规范制度代码化,得到了确定性的结果和解释。

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

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

趋势7:Windows Server和.NET平台下的DevOps技术潜力巨大

长期以来,Windows和.NET平台下的DevOps一直都是一个被低估的领域。一方面,社区缺乏对 Windows Server平台的兴趣。另一方面,Windows Server却有接近90%的市场占用率,在Web服务器领域则有33.5%的市场占有率。

有充足理由证明这是一个潜力巨大的市场。 我们看到了CAKE和FAKE这样的条目,作为.NET平台下替代MSBuild的构建解决方案, 它增强了.NET平台自动化方面的能力。而HANGFIRE则提供了更易用和灵活的自动化进程调度框架。我很期待未来有更多Windows Server和.NET平台领域的创新。不久前,Docker已经可以在Windows下运行。可以预见到,Windows Server和.NET平台将会是下一阶段DevOps技术实践中值得深入发掘的领域。

(图片来自:http://t.cn/RX3hWed)

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

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

这期的技术雷达仍然关注了非功能性自动化测试,TestInfra是ServerSpec的Python实现,它使得用Pytest测试基础设施成为可能。而MOLECULE旨在帮助开发和测试Ansible的Role 。通过在虚拟机或容器上为正在运行的Ansible Role测试构建脚手架,无需再手工创建这些测试环境。正如技术雷达所说的:“虽然这是一个相当年轻的项目,但我们看到了其蕴含的巨大潜力。”

趋势9:Python成为DevOps工作中所不可或缺的语言

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

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

以上对DevOps趋势的解读仅为个人观点,如有不当之处还望指出。关于更多技术在技术雷达中的使用建议请点击“阅读原文”,谢谢。


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 思特沃克 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
解读技术雷达中的 DevOps 发展趋势
今年4月份,我第一次以主编的身份参加技术雷达的翻译工作。有幸第一时间参加到技术雷达的翻译过程中。通过我在翻译其间对条目的了解和观察,我写下了《DevOps发展的九个趋势》(https://www.ji
DevOps时代
2018/04/08
8300
解读技术雷达中的 DevOps 发展趋势
从技术雷达看​DevOps的十年——容器技术和微服务
在上一篇文章中,我们讲到了基础设施即代码和云计算给运维领域带来的深远影响。而 DevOps 运动不仅仅改变了运维端,同时也改变了开发端,特别是 Docker 的兴起和微服务架构的流行。在这一篇,我们将通过技术雷达上相关条目的变化来考察 Docker 和微服务的发展。
ThoughtWorks
2019/07/14
8930
从第19期技术雷达看 DevOps 的发展趋势
2018年下半年的技术雷达发布了。看过的朋友可能和我的感觉一样,会发现大部分条目都是和微服务和 DevOps 相关,但这些条目散落在不同的象限里。本文将这些散落在不同象限的条目采用以下 5 个主题进行重组:
顾宇
2018/12/28
8390
云原生 DevOps
技术雷达是ThoughtWorks每年出品两期的技术趋势报告,新一期即将在5月15日正式发布。本人有幸第三次参与技术雷达的汉化发布工作,并借此机会一览技术前沿的动态和变化。
顾宇
2018/08/17
1.3K0
DevOps 从理论到实践指南
如今 DevOps 已经成为一个流行词,很多公司都在说自己在做 DevOps,但是每个人、每家公司理解的 DevOps 又不尽相同,从 DevOps 诞生的第一天起,如何定义 DevOps 就是一个争论不休的话题。
笑看
2019/10/29
7100
软件测试新趋势 | TW洞见
今日洞见 文章作者/图片来自ThoughtWorks:林冰玉。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表。已经本网协议授权的媒体、网站,在使用时必须注明"内容来源:ThoughtWorks洞见",并指定原文链接,违者本网将依法追究责任。 2015年11月,ThoughtWorks发布了新一期的技术雷达。技术雷达是以独特的形式记录ThoughtWorks技术顾问委员会对行业产生重大影响
ThoughtWorks
2018/04/20
1K0
软件测试新趋势 | TW洞见
Get 技术领域最新趋势!
ThoughtWorks 每年都会出品两期技术雷达,这是一份关于技术趋势的报告,由 ThoughtWorks 技术战略委员会(TAB)经由多番正式讨论给出,它以独特的雷达形式对各类最新技术的成熟度进行评估并给出建议,为从程序员到 CTO 的利益相关者提供参考。
CSDN技术头条
2018/12/18
9650
Get 技术领域最新趋势!
从技术雷达看DevOps的十年 - 基础设施即代码和云计算
在上一篇文章中,我们讲到了DevOps和持续交付的关系。本篇将回顾最先改变运维工作的相关技术 —— 基础设施即代码和云计算,通过技术雷达上相关条目的变动来跟踪其趋势变化。
ThoughtWorks
2019/05/22
1.1K0
从技术雷达看DevOps的十年 - 基础设施即代码和云计算
从技术雷达看DevOps十年-DevOps和持续交付
2009年底,比利时根特举办了第一届DevOpsDays。Chris-Read作为嘉宾之一,代表ThoughtWorks出席了这次活动并带来名为“持续集成,流水线和部署”的演讲。ThoughtWorks作为DevOps运动最早的见证者和奠基人,并没有意识到这个周末聚会将在接下来10年给全球IT行业带来深远影响。
ThoughtWorks
2019/05/05
6850
从技术雷达看DevOps十年-DevOps和持续交付
技术雷达 : 技术趋势分析报告 | TW洞见
今日洞见 文章作者/图片来自ThoughtWorks:王健。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表。已经本网协议授权的媒体、网站,在使用时必须注明"内容来源:ThoughtWorks洞见",并指定原文链接,违者本网将依法追究责任。 就在刚刚过去的2015年11月份,ThoughtWorks又发布了最新一版的技术雷达。技术雷达是什么,来源以及如何运用,可以参考Neal Ford的一
ThoughtWorks
2018/04/20
6510
技术雷达 : 技术趋势分析报告 | TW洞见
DevOps时代的软件过程改进探讨
本文从Jenkins,DevOps,云原生等视角探讨了软件过程改进在各个时代的挑战和价值,重新审视了SPI在软件开发和交付的效率和质量提升方面的意义。
杨振涛
2019/05/11
14.2K0
微服务演进中的经验和反思
大部分微服务的案例,我们往往都只能看到一个结果,很难看到其过程,特别是实践中的弯路。让人有一种“采用就会成功的错觉”。经过前三篇的探讨,我们通过一个成功案例的三方面分析对微服务成功度量、技术演进和组织演进有了一个基本的认识。本文试着把我在客户身上看到微服务落地中那些经验和反思分享给大家。
顾宇
2019/03/06
6920
微服务演进中的经验和反思
DevOps 与技术雷达
关于 Kubernetes Kubernetes 现在是当仁不让的首选容器编排平台,在技术雷达中,也将其标记为采用。社区也发展出很多 Kubernetes 周边工具。 诸如 GKE,Kops 和 S
DevOps时代
2018/02/02
1K0
DevOps 与技术雷达
软件测试人员的挑战与机遇
“ThoughtWorks技术雷达上都是开发相关的内容,测试相关的内容越来越少...”
ThoughtWorks
2019/06/20
8570
软件测试人员的挑战与机遇
身为程序员,就应该了解微服务的未来发展趋势:云原生应用架构
随着Docker技术的普及和Kubernetes在互联网公司的大量部署与使用,微服务架构正在围绕应用如何易于开发交付、减少资源消耗、无侵入治理等方面进行变革和演进。
愿天堂没有BUG
2022/10/28
8850
身为程序员,就应该了解微服务的未来发展趋势:云原生应用架构
云计算和DevOps:CI / CD和市场分析
在竞争激烈的互联网市场,企业承受着比竞争对手更快、更高质量的软件交付要求,只有当公司快速迭代更新,产品良好的功能集和用户范围才会进一步扩大。因此,很多企业正在尝试采用DevOps和CI/CD方法来提高计划、构建、测试和发布应用程序和特性的能力。IDC预测,到2022年,全球DevOps软件市场将从2017年的39亿美元增至80亿美元。
增强现实核心技术产业联盟
2020/06/17
1.5K0
云计算和DevOps:CI / CD和市场分析
2025 年最值得尝试的几款 DevOps 平台工具推荐
在当今软件开发与运维紧密融合的大趋势下,DevOps 平台对于众多企业加速推进数字化转型起着至关重要的作用。步入 2025 年,面对市场持续快速变化的需求以及日益复杂的技术架构,挑选一款契合度高、功能完善的 DevOps 平台,既是优化研发流程的重要手段,也是企业达成高效协作与持续交付目标的基础保障。接下来,我们将介绍几款涵盖代码管理、自动化部署、监控运维等功能的 DevOps 平台工具,助力企业在技术竞争中占据有利地位。
用户11533487
2025/03/03
2100
云原生DevOps思考
经过二十多年的发展,云计算已经进入成熟阶段,成为了数字经济时代的新型信息基础设施。而云原生是一种构建和运行应用程序的方法,以充分利用云计算的优势。它包括微服务、容器、Kubernetes等技术,以支持弹性、可扩展和可移植的应用程序。是企业进行数字化转型、微服务架构转型的最佳技术实践路径,同时也成为热门领域——人工智能、大数据、边缘计算、物联网、5G、 区块链等底层平台的基础设施。
薛猫
2023/09/18
5890
云原生DevOps思考
燃!软通动力通过 DevOps 持续交付标准 3 级评估,相关能力达到国内领先水平
国内外大型企业实践表明,标准化和工具赋能是企业成功的关键所在。DevOps 标准及基于标准的 DevOps 持续交付流水线平台和项目实践,可以较大幅度地提质增效,更加安全敏捷地提高企业市场竞争力!“以评促建,以评促改”,以评估为抓手,让DevOps标准更快更好落地,助力企业数字化转型。 2022年4 月 26 日,中国信息通信研究院隆重发布了 DevOps 标准持续交付第十七批评估结果。 软通动力信息技术(集团)股份有限公司(以下简称“软通动力”)本次参评项目为iPaaS技术中台项目,该项目顺利通过中国信息
DevOps时代
2022/04/27
9000
燃!软通动力通过 DevOps 持续交付标准 3 级评估,相关能力达到国内领先水平
技术雷达第十九期正式发布——用百余个条目更新你的技能图谱!
ThoughtWorks每年都会出品两期技术雷达,这是一份关于技术趋势的报告,由ThoughtWorks 技术战略委员会(TAB)经由多番正式讨论给出,它以独特的雷达形式对各类最新技术的成熟度进行评估并给出建议,为从程序员到CTO的利益相关者提供参考。
ThoughtWorks
2018/12/13
8000
相关推荐
解读技术雷达中的 DevOps 发展趋势
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档