写点什么

CNCF CTO 解读:2021 云原生最新趋势

发布于: 2021 年 01 月 26 日
CNCF CTO解读:2021云原生最新趋势

近日,CNCF 发布了 2020 年云原生领域所有工作的年度总结[1],在疫情流行的形势下,我们仍然度过了坚实的一年,希望读者朋友们阅读该报告。


本文将分享我对云原生在 2021 年及以后发展方向及趋势的想法。

作者:Chris Aniszczyk(CNCF CTO)

翻译:Daixiang(华为云原生团队)


云原生 IDE


未来,开发生命周期(代码、构建、调试)将主要发生在云上,而不是本地 Emacs 或 VSCode。每个 PR 都会有完整的开发和部署环境,以满足开发和调试的需求。


目前,GitHub 代码空间和 GitPod 都是这一技术的具体示例。虽然 GitHub 代码空间还在测试阶段,但您可以尝试使用 GitPod。以 Prometheus 为例,在大约一分钟左右的时间里,您就拥有了一个完整的在线开发环境,包括编辑器和预览环境。最疯狂的是,这个开发环境(工作区)是用代码来描述的,并且像其他代码中间件一样可以与团队中的其他开发人员共享。 


我期望未来能看到云原生 IDE 继续不可思议的创新,特别是 GitHub 代码空间结束测试阶段被广泛使用,这样开发者就可以体验到这个新概念并爱上它。


边缘 Kubernetes


Kubernetes 诞生于海量数据中心,但 Kubernetes 会像 Linux 一样演进到新的环境。Linux 的最终结果是,最终用户扩展了内核,以支持不同领域下各种新的部署方案,包括移动端、嵌入式等。


云原生+WASM


Web 汇编(WASM)是一项刚刚起步的技术,但我希望它能成为云原生生态系统中日益重要的角色,特别是随着 WASI 的成熟,以及 Kubernetes 更多被用作上文描述的边缘协同器。一个用例是为扩展机制提供动力,就像 LuaJIT 和 Envoy 所做的那样。与其直接处理 Lua,您可以使用支持多种编程语言的小型优化运行时。


Envoy 项目目前正处于采用 WASM 的征程中,我期望任何环境都遵循类似的模式,而作为流行扩展机制的脚本语言,将来会被 WASM 完全取代。


在 Kubernetes 方面,有一些像微软的 Krustlet 这样的项目正在探索如何在 Kubernetes 中支持基于 WASI 的运行时。这应该不会太令人惊讶,因为 Kubernetes 已经通过 CRD 和其他机制来扩展,以运行不同类型的工作负载,比如 VM (KubeVirt)等。另外,如果您是 WASM 的新手,我推荐这门来自 Linux 基金会的入门课程https://www.edx.org/course/introduction-to-webassembly-runtime


FinOps 的崛起(CFM)


新型冠状病毒的爆发加速了向云原生的转变,至少有一半的公司正在危机中加速他们的云计划……近 60%的受访者表示,由于 COVID-19 大流行(2020 年云状况报告https://info.flexera.com/SLO-CM-REPORT-State-of-the-Cloud-2020),云使用率将超过先前的计划。最重要的是,云财务管理(FinOps)是一个日益增长的问题,也是许多公司所关心的问题。


老实说,在过去六个月中,我和一些公司在云原生旅程中进行了大约一半的讨论。你也可以说,云提供商并没有被激励去简化云财务管理,因为那样会让客户更轻松地减少开支。真正痛苦的是云财务管理缺乏开源创新和标准化(所有云的成本管理方式都不一样),CNCF 中没有多少开源项目试图让 FinOps 更简单,目前的 KubeCost 项目还很年轻。


 此外,Linux 基金会最近推出了 FinOps 基金会,推动该领域的创新,他们在这个领域有许多介绍材料值得一读(https://www.edx.org/course/introduction-to-finops)。我希望在未来几年里,在 FinOps 领域看到更多的开源项目和规范。


更多的云原生 Rust 项目

Rust 仍然是一种年轻而小众的编程语言,特别是如果你以 Redmonk 的编程语言排名为例。然而,我的感觉是,在未来一年,你会看到 Rust 在更多的云原生项目中,因为已经有少数 CNCF 项目开始利用 Rust 的优势,如 microvm Firecracker。虽然 CNCF 目前绝大部分的项目是用 Golang 编写的,但我期望在 Rust 社区成熟后的几年内,基于 Rust 的项目将与基于 Go 的项目持平。


GitOps + CD/PD 大幅增长


GitOps 是云原生技术的运营模型,提供一套统一应用部署、管理和监控的最佳实践(最初由来自 Weaveworks 的 Alexis Richardson 提出)。


GitOps 最重要的方面是描述通过声明方式在 Git 中进行版本化的期望系统状态,这实际上使一组复杂的系统更改能够正确应用,然后进行验证(通过 Git 和其他工具启用的审计日志)。


服务目录 2.0:云原生开发者看板


服务目录的概念并不是什么新东西,对于我们这些在 ITIL 时代长大的老人们来说,你可能会记得 CMDB 之类的东西,但是随着微服务的兴起和云原生的发展,对服务和各种实时服务元数据进行编目和索引的能力对于推动开发人员自动化至关重要。这可能包括使用服务目录来了解处理事件管理、管理 SLO 等的所有权。


跨云不再是梦想


Kubernetes 和云原生运动已经证明,在生产环境中,云原生和多云方法是可能的。数据表明,93%的企业有使用微软、亚马逊和谷歌等多个云厂商的服务(2020 年云状况报告https://info.flexera.com/SLO-CM-REPORT-State-of-the-Cloud-2020)。


随着云市场的不断成熟,Kubernetes 有望开启编程式的跨云管理服务。一个具体例子体现在 Crossplane 项目中,它利用 Kubernetes API 的扩展性,提供一个开源的跨云控制平面,实现跨云工作负载管理(参见https://thenewstack.io/gitlab-deploys-the-crossplane-control-plane-to-offer-multicloud-deployments)。


eBPF 成为主流


eBPF 允许您在 Linux 内核中运行程序,而无需更改内核代码或加载模块,您可以将其视为沙箱扩展机制。eBPF 允许新一代软件扩展 Linux 内核的行为,以支持各种不同的功能,包括改进的网络、监控和安全。eBPF 的缺点是,它需要一个高版本的内核版本来利用它,而且在很长一段时间里,这对许多公司来说并不是一个现实的选择。


然而,情况正在改变,甚至较新版本的 RHEL 开始支持 eBPF ,您将看到更多的项目使用它。如果你看看 Sysdig 的最新容器报告(https://sysdig.com/blog/sysdig-2021-container-security-usage-report/),你可以看到利用 eBPF 进行容器安全检查的 Falco 使用率正在大幅增长。因此,请继续关注并寻找更多基于 eBPF 的项目!


相关链接:

[1] CNCF 2020 年度报告原文: 

https://www.cncf.io/blog/2020/12/29/2020-cncf-annual-report

[2] 原文链接:

https://www.aniszczyk.org/2021/01/19/cloud-native-predictions-for-2021-and-beyond


欢迎关注华为云原生团队,我们将为你提供:


  • 我们每日更新关于云原生技术动态、实战进阶、应用案例等;

  • 入群与行业技术大牛,1 万+云原生爱好者一起链接学习;

  • 不定期邀请云原生 OG 级技术大咖分享技术实战

  • …………


用户头像

还未添加个人签名 2020.02.11 加入

还未添加个人简介

评论

发布
暂无评论
CNCF CTO解读:2021云原生最新趋势