写点什么

InfoQ 趋势报告:DevOps 和云计算

  • 2019-03-11
  • 本文字数:4970 字

    阅读完需:约 16 分钟

InfoQ趋势报告:DevOps 和云计算

本文要点:


  • Kubernetes 成功占领了容器编排市场,成了云无关(cloud-agnostic)计算的抽象。该领域的下一个“热门话题”可能是“服务网格”和开发者体验/工作流工具。

  • 混沌工程已经处于早期采用者阶段。“弹性工程”之前和混沌工程混在一起,现在我们已经把它独立出来,归入创新者采用阶段。

  • 我们正在密切关注边缘计算、边缘机器学习推理以及“无源”计算(originless computing)方面创新性的进展。

  • Nicole Forsgren、Jez Humble 和 Gene Kim 合著的《Accelerate》一书定义了数字转型和高绩效团队领域一些主题,这些主题处于早期采用者阶段。

  • 尽管"AIOps"可能是一个被滥用的时髦词汇,但我们仍然把它归入创新者阶段并保持关注。更具体来讲,是关注机器学习所提供的运维洞见和告警的潜在价值。

  • 我们认识到,将持续集成(CI)和持续交付(CD)混在一起,以及在概念上将实践和工具归为一类都不妥当。我们认为,定位为 CI 工具的应用程序/服务处于晚期大众采用阶段,而 CI 最佳实践仍处于早期大众采用阶段。此外,我们认为 CD 实践处于早期大众采用阶段

  • 我们正在跟踪软件定义交付宣言和“代码 vs 配置”方式(用于交付和管道自动化)的最新成果。



InfoQ 和 QCon 主要关注处于创新者(Innovators)、早期采用者(Early Adopters)和早期大众(Early Majority)阶段的技术。Geoffrey Moore 所说的早期市场是由“技术狂热爱好者和想要赢得先机的远见者”组成的。我们要努力做的,就是找出与早期市场相匹配的技术。同时,我们也在寻找那些有可能“跨越鸿沟”走向大众的技术。在这种背景下,可能值得一提的是,一种技术在采用曲线上的确切位置可能会变化。 例如,目前微服务被湾区公司广泛采用,但它在其它地方也许不太合适,应用并不广泛。


这篇文章主要介绍我们对 DevOps 和云计算的看法。这两个领域侧重于基础架构模式、技术框架中模式的实现、以及软件工程师必须掌握的设计流程和设计技能。


在这份云计算和 DevOps 趋势报告中,我们认为Kubernetes真正地占领了容器编排市场,是默认的云无关计算抽象。 但是,Kubernetes 并非一个完整的平台即服务(PaaS),而平台即服务恰恰是大多数组织高效部署和运维软件所需要的。因此这个领域的下一个“热门话题”可能是“服务网格”和开发者体验及工作流工具。 服务网格用于管理服务间的通信和发布控制。开发者体验及工作流工具能让工程师高效地完成“开发 - 测试 - 部署 - 观察”周期。


我们认为混沌工程已经处于早期采用者阶段,这主要归功于 Netflix 团队和 O’Reilly《混沌工程》作者的推广,以及相关工具的增多,比如混沌工具包Gremlin公司作为服务提供的工具。 根据与 John Allspaw、Casey Rosenthal、Nora Jones 以及其他社区成员的讨论,我们把“弹性工程”从混沌工程独立出来,并将其归入创新者类别。


我们正热切关注边缘计算、边缘机器学习推理以及“无源”计算的进展。 这些技术大多处于创新者阶段,但是很显然,像Cloudflare这样的公共云供应商和创新者正在往其中投入大量资源。


Nicole Forsgren,Jez Humble和Gene Kim合著的《Accelerate》定义了数字化转型和高绩效团队方面的几个主题。 基于与外部贡献者的讨论,我们目前正在跟踪其中一些主题,例如“衡量(高)绩效”、基于证据的转型和变革型领导。 我们认为这些主题处于早期采用者阶段,并热切希望在 InfoQ 上发布更多这些方面的文章。


尽管"AIOps"可能是一个被滥用的时髦词汇,但我们仍然把它归入创新者阶段并保持关注。更具体来说,是关注机器学习所提供的运维洞见和告警的潜在价值。随着软件系统变得日益复杂和更加分布式,这类技术可以完善分布式(全栈)跟踪能力,方便问题检测,并有助于减少故障隔离期间的搜索空间。


我们发现,将持续集成(CI)与持续交付(CD)混为一谈,以及把实践和工具归为一类都不妥当。事实上我们承认,我们发布的这方面的文章以及相关文章主题标签远非完美。 我们认为,定位为 CI 工具的应用程序/服务处于晚期大众阶段,但 CI 最佳实践仍处于早期大众阶段。此外,我们认为 CD 实践处于早期大众阶段。


我们正在密切关注软件定义交付宣言和”代码 vs 配置“(针对交付和管道自动化)方面的最新成果。 目前Atomist和Pivotal团队正在推进这一领域的大量对话(和技术)。


下面这张是 2018 年第一季度的趋势图。2019 年第一季度的趋势图在文章开始。



以下内容来自 InfoQ 云计算频道和 DevOps 频道编辑之间的内部对话:


Daniel Bryant (独立技术顾问、Datawire 产品架构师、InfoQ 新闻经理)


作为十个发起人之一,我认为混沌工程正在进入早期采用者阶段,Gremlin 和 AWS 团队把它作为对传统 DR/BC 的重新想象/扩展进行讨论;此外,我认为极简主义容器镜像(minimalist container images)应归入早期大众 —— 依赖它的自建工具包(比如 LinuxKit)技术归入创新者 —— 分布式追踪可能归入早期大众,通用 DevOps 归入晚期大众,以及容器 ,IaC 和持续交付可能归入晚期大众?

我们需要将服务网格加进来,因为它们是一个超级热门话题,归入早期采用者?

我想听听大家的想法,看是否需要移动一些主题的位置,添加或删除一些主题?


Helen Beal (DevOps 顾问、教练、培训师、演讲者、作家)


我的想法是:

像你说的那样,把 CI/CD 归入晚期大众

把 AIOps 和用于运维的机器学习一起添加到创新者?

'DevOps 工具链’应该在那吗? 归入早期大众?

把电气云(Electric Cloud)和 Xebia Labs 添加到 DevOps 仪表板

将 AI 添加到仪表板?

ChatOps 归入早期大众


Steffen OpelUtoolity管理合伙人)


我同意将 DevOps、容器、IaC 和 CD 归入晚期大众,不用它们的人很快就会落伍。把服务网格添加到早期采用者的建议很好。

我也赞同将 AIOps 作为一个主题添加到创新者中,尽管我认为它更像是“用于运维洞见和告警的机器学习”的广义超集和并能取代它(它涵盖了其它一些领域,比如最近发布的 AWS EC2 预测扩展功能)。

虽然人们对 ChatOps 和全栈跟踪的兴趣与日俱增,但我认为他们的采用情况尚未到达早期大众阶段的标准(至少在“处理大多数/所有操作的既定方式”方面),并且 ChatOps 工具成熟度还有很多不足之处。另一方面,“日志聚合/分析”似乎已超过早期大众阶段的标准(它完善了“集中日志聚合”,也许现在可以合并这些主题了)。

最后,我想把“边缘计算”作为创新者/早期采用者主题(例如 Lambda@Edge、AWS Snowball Edge、AWS Greengrass、Cloudflare Workers 等服务)。一旦广泛应用的公有云(比如 CloudFront,Lambda 以及最近上线的 Cloudflare)提供边缘计算能力,这些能力将快速可用。


Chris Swan (研究员、DXC Technology 副总裁和全球交付组织部门首席技术官)


我赞同丹尼尔、海伦和斯蒂芬的说法。

这里还缺少针对 CD 的"代码 vs 配置"和软件定义交付宣言

关于斯蒂芬强调的边缘计算,“无源”能发展起来吗?目前它还很粗陋,早期的演示是毫无意义还是新趋势的开始还很难说(但综合考虑 IoT 以及对更低 UI 延迟的需求,我倾向于给它一些信任) 。

我可能有点吹毛求疵。人们之所以把 CI/CD 混为一谈,是因为这两种任务往往靠同一些工具完成。但我们都非常清楚,他们根本不一样。 CI 现在无疑处于晚期大众阶段,因为在传统组织中它的实施(相对)容易。我认为 CD 与晚期大众阶段尚有差距,因为首先要把 Dev/Ops 重组为 DevOps,许多公司连这一步还没完成。创新采用曲线中的创新间隔,像一道难以跨越的鸿沟,因为 CD 的采用并不仅仅是技术选型。


Helen Beal 


我认为这是 Chris 等人一个非常重要的澄清。


Manuel Pais (独立 DevOps、持续交付顾问)


关于 CI/CD 的讨论,我担心我们混淆了工具和实践,二者处于不同阶段。我同意 CI/CD 工具正在进入后期大众阶段,但只有部分实践(像 CI 和 CD 书籍中所定义的那样)被广泛应用。 许多组织并没有正确实施 CI(Jenkins最近的一项调查清楚地显示,执行 CI 时所执行的构建远少于你的期望),他们仅仅使用了 CI 服务器。 今年早些时候Dave Farley对(不)创建分支上的批评也说明了这一点。

(注意:之前把它们混为一谈,我也感到很惭愧。但当这个主题处于早期大众阶段时,问题并非像现在这么明显)

如果我们把工具和实践分开,那么我会把工具归入晚期大众,实践仍然放在早期大众。此外,我建议把主题页面和《Accelerate》中的一些实践对应起来,高绩效团队可以把它作为重要实践的参考/框架。

至于其它变化,我的想法有:

DevEx  ——> 归入早期采用者  —— 作为共同关注点由 Atomist 推进

GitOps  ——> 归入早期采用者 —— 由 Weave 推进

Chaos Eng ——> 归入早期采用者  —— 由 Gremlin 推进

AIOps(我们曾称之为“运维洞见和告警的机器学习”) ——> 保持不变

应用程序管道中的不可变基础架构 ——>归入早期采用者

日志聚合/分析 ——>归入早期大众

SRE / CRE —— >需要拆分它们。谷歌仍在探索 CRE(它应该归入创新者),而 SRE 应该归入早期大众

K8s ——>归入早期大众

自助平台 ——>当然归入早期大众

软件定义网络 ——>我不是这方面的专家,但我认为它应归入早期大众

容器/通用 DevOps/基础设施即代码 ——>归入晚期大众

集中式日志聚合 ——>和”日志聚合”重复(见上文,应该在早期大众中单独列出)

我还建议把下面这个新主题添加到创新者:

软件定义交付 ——> 由 Atomist 和SDD宣言推进


Daniel Bryant


感谢大家的精彩讨论。我将会总结出一个主题报告。 我对 CI 和 CD 成熟度之间的差异(以及更低层级上实践和工具之间的差异)特别感兴趣,我们应该对它重点关注一下,它和我们的主题标签有关。

Manuel 建议把 Forsgren、Humble 和 Kim 的《Accelerate》一书优秀成果的关键思想融入到这一版趋势图中,这个建议很棒!这本书正迅速成为业内关键的参考书,就像最近 Manurel 在InfoQ编辑推荐阅读文章列表中推荐的该作者的其它几本书那样。


InfoQ 的编辑团队通过招聘或培训专家来生产新闻和文章,以及分析当前和未来的技术趋势。

关于作者


Daniel Bryant 是组织和技术的变革者。他目前的工作包括:通过引入更好的需求和计划模型在企业中促进敏捷的实施、专注于与敏捷开发相关的架构问题、促进持续集成和持续交付的实施。他目前的技术领域主要包括 DevOps 工具、云计算 / 容器平台和微服务实现。他是伦敦 Java 社区(LJC)的负责人,是多个开源项目的贡献者,为多个知名网站(InfoQ、DZone 和 Voxxed)撰文,并定期在国际大会(QCon、JavaOne 和 Devoxx)上演讲。



Chris SwanDXC.technology 全球交付组织部门的 CTO,之前是 Global Infrastructure Services 的 CTO 以及 CSC 分布式计算的总经理。再往前,他分别是 Cohesive Networks、UBS、Capital SCF 和 Credit Suisse 的 CTO 和总监。在从事这些职位时,他的工作主要面向应用服务器、计算网格、安全、移动、云计算、网络和容器。



Steffen OpelUtoolity 的合伙人,Utoolity 是一家云计算和软件开发流程工具提供商。他最早学习的是 C++,早期专注于富客户端技术,并参与过 RESTful Web 服务架构的转型。行业向云计算的转变激起了他对开发流程自动化的兴趣,他专注于 DevOps 实施,喜欢在敏捷团队中使用 API 驱动开发。


Steffen Opel 是 Utoolity 的管理合伙人。Utoolity 是一个工具软件提供商,提供云计算运营和软件开发流程相关的工具软件。 他接受过正规 C++教育,早期专注于富客户端技术,他很早就开始向 RESTful Web 服务架构转换。 云计算的主要行业转向使他对开发过程的彻底自动化感兴趣,他的重点转移到 DevOps 场景,他在敏捷团队中享受 API 驱动的开发。



Helen Beal 是一位 DevOps 的顾问、教练、培训师、演讲者和作家。 她专注于通过行为、交互和技术方面的改进,帮助组织优化创意转变为价值的过程。 她喜欢骆驼,甚至曾经看到过火烈鸟产卵。 你可以通过 helen.beal@infoq.com 与她联系 —— 尤其是你希望她写某些内容的时候。


nullManuel Pais 是一名专注于团队和工作流的 DevOps 交付顾问。他帮助企业实施自动化的持续交付,知道如何从技术和人性的角度来理解 DevOps。他还是 DevOpsTopologies.com 的联合评论员、InfoQ DevOps 板块的主编里斯本 DevOps 会议的联合创始人、《Team Guide to Software Releasability》一书的联合作者,该书即将出版。Tweet:@manupaisable


查看英文原文https://www.infoq.com/articles/devops-cloud-trends-2019


2019-03-11 08:007263

评论

发布
暂无评论
发现更多内容

飞桨企业版重磅发布智能边缘控制台,5分钟零代码自动化模型部署

百度大脑

人工智能

从4K到8K,谁才是开启8K时代的钥匙?

郑州埃文科技

数据库 IP 8k

Hybris commerce产品主数据的搜索API,批量返回若干主数据的值

汪子熙

28天写作 SAP 12月日更

重磅!博睿数据Go语言智能探针技术GoAgent国内首发

博睿数据

国内首次Feature Store Meetup回顾

第四范式开发者社区

机器学习 第四范式 OpenMLDB 特征平台

前端布局中让子元素横向排列并自动换行

Changing Lin

Vue 前端开发 12月日更

阿里云李克:边缘云技术发展与实践

阿里云Edge Plus

CDN 边缘计算 CDN加速

LevelDB封装和功能拓展

FunTester

数据库 测试框架 测试开发 leveldb FunTester

再下一城!两大社区携手打造 API 日志监控新利器

API7.ai 技术团队

云原生 网关 日志管理 Apache APISIX Apache RocketMQ

Android C++系列:Linux Socket编程(四)多路IO转接服务器

轻口味

28天写作 12月日更

为什么我不怎么用调试器

Justin

软件开发 28天写作 调试工具

微服务架构 | 如何优化日志链路追踪输出SQL的执行效率?

码农架构

微服务架构 链路追踪 SpringCloud

什么是反序列化?反序列化的过程,原理

网络安全学海

黑客 网络安全 信息安全 渗透测试 反序列化

网络安全产品之堡垒机应用于教育行业案例讲解

行云管家

网络安全 教育 等保 等级保护

1. 编译原理概览

书旅

Go 后端 编译原理 源码剖析

dart系列之:dart优秀的秘诀-隔离机制

程序那些事

flutter dart 程序那些事 12月日更 flutter for web

管控一体化 | IM即时通讯构建企业协同生态链

WorkPlus

使用 Nocalhost 开发 Kubernetes 中的 APISIX Ingress Controller

CODING DevOps

Kubernetes 云原生 APISIX Nocalhost Ingress Controller

Java开发之命名规范

@零度

Java 命名规范

VUEX的store用法

CRMEB

十一月热点:BML预置模型调参添新利器;EasyDL图像分类上线免训练极速迭代模式

百度大脑

人工智能

Flink Sql Gateway的原理与实践

安第斯智能云

数据库 sql

数百名专家政要出席阿联酋区块链大会“DCS 2021 ” 虎符受邀亮相

区块链前沿News

Hoo 虎符交易所 区块链峰会 DCS 2021 全球分布式云存储峰会

10个常见的前端手写功能,你全都会吗?

CRMEB

从直播硬件出发,浅析直播技术到物联网设备的智能化趋势

阿里云视频云

阿里云 物联网 直播 直播技术 视频云

压测大师链路监控服务开放免费体验预约

WeTest

12月17日技术大咖云集,云智技术论坛“年度收官”聚焦知识智能化

百度大脑

人工智能

CRM报告如何改变您的业务

低代码小观

低代码 企业管理 CRM 企业管理系统 CRM系统

3个步骤,4大平台,搞定大规模数据处理

百度开发者中心

大数据

MySQL从入门到入魔(01)

海拥(haiyong.site)

MySQL 入门 28天写作 12月日更

CurveFS预览版重磅首发,Curve加速迈向云原生软件定义存储

网易数帆

GitHub

InfoQ趋势报告:DevOps 和云计算_DevOps & 平台工程_Helen Beal_InfoQ精选文章