作者 | Steef-Jan Wiggers, Matt Campbell 等
本文总结了我们 2022 年对“云计算和 DevOps”领域的一些看法,其重点是基本的基础设施和操作模式、模式在技术框架中的实现,以及软件架构师或工程师必须掌握的设计流程和技能。
InfoQ 和 QCon 系列会议都会关注那些技术扩散阶段属于“创新者、早期采用者和早期多数阶段 ”的主题,正如 Geoffrey Moore 在《跨越鸿沟》一书中定义的那样。我们试图找出符合摩尔所谓的早期市场的想法,即“客户群是由技术爱好者和有远见的人组成,他们希望在一个机会或一个迫在眉睫的问题上取得领先”。我们也在寻找那些有可能“跨越鸿沟”而被更广泛采用的想法。有必要提一下,在这种情况下,一项技术在采用曲线上的确切位置可能会有所不同。例如,微服务在湾区的公司中被广泛采用,但在其他地方可能不那么广泛,也许不那么适用。
在本期的云计算和 DevOps 趋势报告中,一位参与者指出了一个名为“数据可观察性”的新兴趋势。通过这项新兴技术,企业可以充分了解其系统的数据健康状况。它可以沿着管道自动监控数据,以促进数据问题的故障排除和预防。这样,数据团队就可以增加价值实现的时间并提高他们的生产力。此外,有了数据可观察性,通过数据管理生态系统的循证信息,团队之间的沟通会得到改善。
而且,人们越来越多地意识到云计算对环境的影响。可持续发展会计从“创新者”转向“早期采用者”。微软、谷歌和亚马逊云科技在全球范围内运营大规模的数据中心,消耗了大量的能源。不过,它们在能源消耗方面比传统数据中心更有效率。据 IDC 去年的一份报告估计,在 2021 年至 2024 年期间,转向云计算应该至少能防止 6.29 亿吨的二氧化碳排放。该报告的参与者也发现了这一点,并做了关于发展云服务以帮助感知工作负载碳足迹的新闻报道。
此外,跨云(Cross-Cloud)和云原生混合方法的采用也在增加。我们认为,这个话题应该从我们图表中的“创新者”移到“早期采用者”阶段。公有云供应商继续投资于服务。谷歌有 Anthos for Virtual Machines,微软有 Container App Services,亚马逊云科技有 Outposts(新增两种规格,用于空间有限的地方)。
对跨云应用和部署平台的支持也在继续增加。新的 CNCF 沙盒项目,如 KubeVela 和 Porter,简化了跨云环境的应用程序代码打包和部署。
正如一些参与者所指出的那样,eBPF 和 WASM 正在为监控、可观察性和服务网格技术提供一些令人兴奋的机会。例如,Cilium 正使用该技术生成一个无挎斗的服务网格,尽管文中强调,对于这是否是所有用例的最佳方法仍然存在争议。就可观察性来说,它可以改善对服务器或容器网络的监控,而且无需安装无数的代理。例如,Teleport 是一个开源的多协议身份感知访问代理。该团队在 SSH 会话的开始阶段利用 eBPF 钩子来捕获 SSH 会话的详细审计日志。
在过去的一年里,供应链安全一直是一个热门话题,发生了几起备受瞩目的安全事件。Aqua Security 的一份报告发现,从 2020 年到 2021 年,供应链安全攻击增加了 300%,而安全水平没有相应的提高。为了应对攻击的增加,开源安全基金会(OpenSSF)宣布了 Alpha-Omega 项目,以改善涉及多个开源软件(OSS)项目的供应链安全。该项目将重点关注改善部署方位最广、最关键的 OSS 项目的安全状况。GitHub 和谷歌发布了 OpenSSF Scorecards 项目的新版本。Scorecards 是一个自动化安全工具,可以识别出开源项目中有风险的供应链实践。我们希望,在未来一年中,这一领域会发布更多公告和技术。
多位贡献者指出,无代码或低代码解决方案在 DevOps 中的使用正变得越来越普遍。正如 CD 基金会执行董事 Tracey Miranda 所指出的那样,“借助低代码和无代码,‘公民’开发者就能够构建应用程序,帮助缓解 IT 部门的压力。”这些解决方案可以用来帮助改进内部工具和自动化。我们希望看到这个领域也有更多的发展。
下图是 2021 年上半年的话题图。2022 年的版本在本文开头。
以下是几位 InfoQ 云计算 DevOps 主题编辑与 InfoQ 撰稿人之间内部聊天记录的轻度编辑稿,这为我们在技术采用图上的建议定位提供了更多的背景信息。
亚马逊云科技开发关系主管 Lena Hall:
无服务器即基本期望(Serverless as a Baseline Expectation):早期采用者阶段,旨在取代无服务器数据库。无服务器体验正成为开发者对云服务的一个基本期望。无服务器能力经常与应用开发联系在一起,因为它最初提供了无服务器函数和逻辑执行。后来,我们开始看到无服务器数据库。现在我们注意到,为了满足客户的期望,有更多的产品增加了无服务器功能。无服务器正在成为一种基本需求,而不仅仅是一种“有更好”的体验,为的是可以“为变化而设计(design for change)”,并可以灵活应对现代云开发动态、事件驱动、面向微服务的特点。例如,我们最近看到,亚马逊 Redshift 增加了无服务器功能,可以减少操作负担,不再需要设置和管理基础设施,并能够通过查询数据仓库中的数据获得洞察力。我们看到,人们采用无服务器来改善开发体验,通过部署机器学习模型进行推理,而无需配置或管理基础设施。
同时,云服务的无服务器能力也是在组织内建立共享自助服务基础设施(这是数据网概念的支柱之一)的重要一环。共享自助服务基础设施将依赖于基础设施配置所需的产品或服务的自助服务能力。不过,共享自助服务基础设施的目标更广泛——减少组织内各领域操作数据管道技术栈和基础设施所需的重复工作和技能。例如,它将有助于提供一个可供单个数据产品使用的抽象,其中包括可观察性、目录和谱系、联合身份管理、可扩展性、统一访问控制、分析引擎、数据存储等能力。
开发体验即决策驱动(Developer Experience as Decision Driver):早期采用者阶段。在开发者决定是否倡导采用一项特定的技术时,开发体验正在成为一个越来越关键的因素。缺乏良好的开发体验可能意味着风险或重要能力存在瓶颈,如可扩展性、自动化、创新速度,甚至是安全性。许多开发社区都更喜欢小众的、高度专业化的云计算供应商(例如,Vercel、Netlify、Stripe 等),因为这些供应商为他们的工作负载提供了卓越的开发体验,可以在无监督的情况下即时部署和自动扩展。顶级的云计算领导者可以向小公司学习,大力投资开发体验,以不断满足客户的期望。我们开始看到,这个领域有了更多的进展,也获得了更大的优先权,例如 AWS Proton 开发体验,可以自动化容器和无服务器部署管理,同时结合了基础设施即代码、CI/CD 管道和可观察性自助服务能力,并且不需要具备相关底层服务的专业知识。我们应该关注的另一个主要的开发体验领域是弥合本地开发和部署环境与生产云部署之间的差距。
数据可观察性:创新者阶段。数据可观察性是一项新兴技术,可以帮助我们更好地理解和解决数据密集型系统的问题。我们接触可观察性的概念已经有一段时间了,因为像 Honeycomb 这样优秀的公司已经做了很多工作——Charity Majors 提供了一些关于这一方面的最好的资源。数据可观察性的概念由 Monte Carlo Data 的 Barr Moses 在 2019 年首次提出。她是这样说的,“数据可观察性是一个组织充分了解其系统中数据健康状况的能力”。数据停机是指数据不完整、错误、缺失或不准确。将从 DevOps 中学到的最佳实践应用于实现数据管道的可观察性,可以消除数据停机时间。它使用自动监控、告警和分流来识别和评估数据质量和可发现性问题。这可以提升管道的健康状况,提高团队的生产力。
AI 开发民主化:早期采用者阶段。我们看到,云端采用和提供的预训练模型越来越多,开发者可以在没有机器学习经验的情况下用它们来处理常见的用例。这消除了复杂技术采用的障碍,让更多的开发者可以从中受益——亚马逊人工智能自助服务 Rekognition,以及 Azure Cognitive Services,就是很好的例子。
Funambol 首席云架构师、亚马逊云科技数据英雄 Renat Losio:
FinOps:早期采用者阶段。“FinOps”这个词,一年前还几乎不为人知,现在已经变得非常流行,大多数时候,它指代公司已经在做的实践,只是用了不同的名字。
无服务器数据库:也许仍然是早期采用者阶段,又或许已经是早期多数阶段,但不管怎样,它都已成为所有数据相关服务的必选项目。我们看到,在过去的 12 个月里,不管是服务提供还是采用,无服务器和分布式 SQL 数据库在云原生应用领域都出现了大幅增长。数据仓库和分析领域现在也有了无服务器选项。然而,为了获得更多的用户,提升工作负载弹性,有些公司,包括亚马逊云科技在内,却在无服务器概念上走了捷径,例如不提供数据 API 或规模缩小为零的能力。
边缘计算:现在处于早期多数阶段,选择无处不在,常常不知不觉的就使用了。边缘计算提供了新的选项,在靠近终端用户的地方提供数据处理、分析和存储。云供应商将他们的基础设施和服务扩展到了更多的地方,并整合企业数据中心以支持新的边缘应用场景。
可持续发展会计:早期采用者阶段,通过大多数云供应商提供的软件即服务解决方案来记录和减少环境对部署的影响。它往往只是用于成本管理 / 削减,具有很高的“漂绿(greenwashing)”风险。
混沌工程实践:早期大多数阶段。已经有更多的工具可以使用,甚至作为一种服务,终于有更大或更有影响力的公司做了,或至少假装以某种形式做了。
HSO 技术集成架构师、Microsoft Azure MVP Steef-Jan Wiggers:
FinOps:从创新者阶段到早期采用者阶段。我也同意 Renato 的观点。越来越多的公司已经对云支出有了成本意识,并采用了 FinOps 基金会的做法。此外,公有云供应商扩展和增强了他们的成本管理服务,比如亚马逊云科技有 AWS Billing Conductor,这是 AWS 云财务管理解决方案的一部分,还有 AWS 管理控制台主页。谷歌有计算引擎暂停 / 恢复(Suspend/Resume of Compute Engine)和无人值守项目推荐器(Unattended Project Recommender)。最后是微软。除了公有云供应商,还有许多其他第三方商业产品,如 Cast AI、CloudZero 和 Yotascale。
最新的《2021 年 FinOps 现状报告》提供了一个明确的结论:不管云支出的规模大小,云财务管理(即 FinOps)已经成为大型企业的主流做法。
可持续发展会计:也从创新者变为早期采用者。公有云供应商微软、谷歌和亚马逊云科技是巨大的能源消费者,因为它们的数据中心遍布全球。他们及其他许多人都签署了气候承诺书。为了让客户了解工作负载的碳足迹,亚马逊云科技发布了一个客户碳足迹工具,而谷歌则预览了碳足迹服务。与此同时,从 2020 年开始,微软就已经推出了可持续发展计算器。
跨云 / 云原生混合方法:也是从创新者到早期采用者。公有云供应商一直在投资这些产品。例如,谷歌有 Anthos for Virtual Machines 预览版,微软有 Container App Services 正式版,亚马逊云科技有 Outposts(新增两种规格,用于空间有限的地方)。。
Data Ops:Data Ops 去年有很大的发展,特别是在数据治理、数据谱系、数据质量和数据目录工具方面。Microsoft Purview 就是一个很好的例子,这个名字是最近才改的,其中包括 Microsoft Data and AI 的数据治理,以及 Microsoft Security 的合规和风险管理。该服务增加了身份和访问管理、威胁保护、云安全、端点管理和隐私管理等能力。在我看来,它仍然处于“早期采用者”阶段。
Ambassador Labs DevRel 部门负责人、InfoQ 新闻经理、QCon 主持 Daniel Byrant:
平台工程、黄金路径和开发经验:Lena 评论说开发体验成为决策驱动力,我在平台领域也看到了这一点。云原生工程师逐步成为“全周期开发者”,他们需要编码、交付和运行应用程序。他们还被告知要“特性左移”,如安全性、可靠性、可扩展性等,如果没有工具、抽象和平台支持,工程师就无法做到这些。为了构建这些平台,平台工程师的角色正在各种规模的组织中兴起。
从技术的角度来看,Spotify 团队早就谈到了他们如何开辟“黄金路径”,Netflix 也有类似的“铺路”方法。《团队拓扑学》的作者已经涵盖了这些组织和文化方面的内容,而且这本书的受欢迎程度也在不断提高。如果你感兴趣的话,可以观看我最近在 KubeCon EU 的演讲“从 Kubernetes 到 PaaS 到...... 呃,下一步是什么?”,我在其中更深入地介绍了这个话题。
eBPF 和 Wasm——代理扩展的最后对决?正如其他人所提到的那样,eBPF 和 Wasm 是两个热门技术,尽管它们存在根本的不同,但在很多重叠的用例中存在竞争。在 KubeCon EU 大会上,一个比较前沿的用例是在网络代理中实现可扩展性。Cilium 团队在 eBPF 方面做了大量工作,在 Kernel 中提供了类似服务网格的网络扩展,而谷歌和 Envoy 团队在通过 Wasm 插件实现 Envoy Proxy 扩展性方面取得了很大的进展。
我说这是一场“对决”,这是玩笑话。实际上,这是两种互补的技术,应该可以为服务网格和其他云网络解决方案的终端用户带来很多好处。希望这是目前一些(复杂的)网络栈被推上平台的前兆。这让我想到了下一点。
简化 K8s 网络——Envoy 网关:在 KubeCon EU 大会上,云网络领域另外一个令人兴奋的消息是 Envoy 网关项目。该项目基于 Emissary-ingress、Contour 项目和 Kubernetes Gateway API 社区的工作,目的是简化 Kubernetes 的入口。这是该领域正在进行的大规模努力的一部分。
软件供应链保护:这个领域有两个项目,软件物料清单(SBOM)和软件工件的供应链级别(SLSA),得到了很多关注。我个人从 Kelsey Hightower 那里了解到了很多关于这些项目的需求。目前,这个领域出现了很多供应商,因为技术很复杂,要做好并不容易,而且风险也很大,只要看看越来越多的供应链黑客就知道了。与构建时安全同样重要的是,我们也开始看到,人们对运行期安全检测的兴趣有所回升,例如 Falco 项目(巧合的是,它使用了 eBPF)。
CNCF & CDF 大使、产品经理 Feynman Zhou:
早期创新者新话题:
1. 软件安全供应链(DevSecOps)
2. 应用程序定义和编排(新的应用程序框架进入 CNCF 沙箱,如 KubeVela 和 Porter)
1. 策略即代码(OPA 和 Kyverno 使 Kubernetes 策略管理现代化)
2. 跨云 / 云原生混合方法(混合云和多云是企业架构的新趋势)
1. 云 FaaS/BaaS 应更名为 FaaS/BaaS(云无关的无服务器平台正在出现,如 OpenFaaS、OpenFunction、Knative、Kubeless 等)。
CloudRoads 负责人、InfoQ DevOps 编辑 Mostafa Radwan:
2. 如今,作为其云产品的一部分,几乎所有主要的云供应商都提供量子计算服务。这可以通过直接访问量子计算机(即 IBM)或模拟器(即 Amazon Bracket)实现。
4. 有许多 eBPF 应用程序包含应用程序监控和调试
有更多的专业人士正在接受关于 FinOps 原则和实践的培训。它没有被广泛采用,但许多人正在研究它或雇用 FinOps 专业人员成为其云运营组织的一部分。
大大小小的组织都意识到,他们不希望被云锁定,他们更喜欢利用每个云供应商独有的特性,以提升安全性并降低成本。此外,一些企业正在考虑或已经在使用跨多个云的云原生集群。
Salesforce 敏捷交付负责人、Agile & DevOps 转型教练 Shaaron Alvares:
我看了一下去年的图表,没有看到多少变化。但也许在创新者和早期采用者中有两种趋势?
无触式(或无代码)IT-Ops 代替 no-Ops
我不确定我们是否可以以此作为实践,但 DevOps DORA Metrics 应该是处于早期采用者阶段。
D2L 云平台副总裁、InfoQ DevOps 责任编辑 Matt Campbell:
正如其他一些人所指出的那样,供应链安全在过去的一年里有了很大的发展。攻击大幅增加推动了一些新的发展。随着各组织采取行动打击这些新的威胁,这方面技术的采用速度也很快。
将一切东西编码化的趋势继续扩大。文档即代码(或持续文档)有一些新的发展,因为企业希望简化文档编制过程,保证重要的文档可以及时更新。我觉得这在早期采用者阶段。
在过去的一年里,作为沟通结果和目标的工具,SLO 的采用继续增加。人们对传统事件报告指标(如事件计数或 MTT* 指标)的局限性了解的更多了,也就意味着需要替代方案。我希望看到各种可观察性平台很快就开始增加 SLO 创建和跟踪工具。我认为这是个晚期创新者话题。
一个令人兴奋的新趋势是 The VOID 目前正在做的事情,即把软件事件报告汇总到一个地方。这使得对这些报告进行有趣的数据分析成为可能,人们有望借此找出改善软件弹性的线索。我将把这种按行业聚合的事件分析归入创新者行列。
作者简介:
Steef-Jan Wiggers 是 InfoQ 资深云计算编辑之一,在荷兰 HSO 公司担任技术集成架构师。目前,他主要致力于集成平台实施、Azure DevOps 和 Azure 平台解决方案架构。Steef-Jan 是荷兰 Azure 用户组的董事会成员,是会议和用户组的演讲者,也是 InfoQ 和 Serverless Notes 的撰稿人。此外,在过去的 11 年中,他被微软评为 Microsoft Azure MVP。
Matt Campbell 是 InfoQ DevOps 编辑团队的负责人。他是教育科技公司 D2L 的云平台副总裁,负责基础设施和云平台团队。他关注的领域是 DevOps 和 SRE 及其企业实施。
Lena Hall 是亚马逊云科技北美区开发者关系主管。她影响着云技术的未来和构建者的开发体验。她是推进云服务进一步加速的工程倡议的驱动者。Lena 在解决方案架构和软件工程方面有超过 10 年的经验,专注于分布式云编程、实时系统设计、高可扩展性和高性能系统、大数据分析、数据科学、函数编程和机器学习。在此之前,她是微软 Azure 的工程总监,专注于大规模分布式系统和现代化架构。她与人共同组织了 ML4ALL 大会,并经常是 Kafka 峰会、Lambda 世界大会等会议计划委员会的受邀成员。她在本文的观点只代表她自己,不代表她的雇主。
Renato Losio 是一名拥有多年开发经验的软件工程师,在意大利、英国、葡萄牙和德国担任过技术负责人和云服务专家。他住在柏林,作为 Funambol 的首席云架构师远程工作。云服务和关系型数据库是他的主要工作方向。他是亚马逊云科技数据英雄。
Daniel Bryant 在 Ambassador Labs 担任 DevRel 总监,同时也是 InfoQ 的新闻经理和 QCon 伦敦大会的主席。目前,他主要致力于 DevOps 工具、云 / 容器平台和微服务实现。Daniel 是伦敦 Java 社区(LJC)的负责人,为多个开源项目做贡献,并为 InfoQ、O'Reilly 和 DZone 等知名技术网站撰稿,还定期在 QCon、JavaOne 和 Devoxx 等国际会议上发表演讲。
Feynman Zhou 是微软的产品经理。他主要致力于供应链安全项目。在加入微软之前,Feynman 在 QingCloud 工作了 4 年,担任高级社区经理。他帮助 3 个开源项目加入 CNCF,并从头开始建立社区。此外,Feynman 还是一名活跃的 CNCF 和 CDF 大使。他帮助 CNCF 和 CDF 在中国推广云原生技术。
Mostafa Radwan 是一位专注于云和云原生技术的技术顾问。他的职业生涯是从一名 Java 软件工程师开始的,之后进入了应用程序和生产支持领域。过去几年中,他一直在帮助企业采用 DevOps 和云原生技术,帮助他们获得更好的业务成果。在不研究技术或服务客户的时候,Mostafa 喜欢阅读、骑行,以及和家人一起环游世界。
Shaaron A Alvares 是 InfoQ DevOps、文化 & 方法版块的新闻记者和编辑。同时,她还在华盛顿州西雅图的 F500 企业中担任经理和敏捷转型教练与培训师。她在技术和组织转型方面有丰富的全球工作经验,她在欧洲多家全球 500 强企业中引入了精益敏捷产品和软件开发实践,如法国巴黎银行、纽约泛欧交易所、美国铝业公司等。她在亚马逊、Expedia、微软、T-Mobile、迪士尼等公司领导了重要的精益敏捷和 DevOps 实践的采用和转型,同时专注于引入敏捷思维和与组织绩效目标一致的定制化价值驱动实践。她是董事会成员、博主、作家和主题演讲者,是 DevOps 研究所和持续交付基金会的大使。Shaaron 在法国国家科学研究中心(CNRS)发表了她的硕士和博士论文。
原文链接: