NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

云原生系统可组合性的商业价值

作者:Bill Mulligan

  • 2022-07-17
  • 本文字数:2992 字

    阅读完需:约 10 分钟

云原生系统可组合性的商业价值

纵观云原生生态,不管是云原生还是开源,都有很大的商业价值。时至今日,相关公司总市值接近 143 亿美元,融资接近 295 亿美元。在外人看来这可能很难理解,“免费”的东西如何能挣到这么多钱?实际上,免费和开源并不会降低这些项目为企业和终端用户提供服务的价值。相反,开源生态系统的可组合性提升了整个生态系统的创新和价值。

可组合性相当于复利

在金融领域,复利是世界第八大奇迹,因为钱能生钱。在软件、IT 和开源领域,可组合性是世界第一大奇迹,因为它是在创新之上创新。站在巨人的肩膀上,说的就是这个意思。


可组合的项目和产品可以搭配使用、重新组合、反复作为构建基础使用,从而满足每个客户的独特需求。在云原生领域,可组合性使开发人员能够快速迭代和交付功能,从而为金融服务医疗保健电信运输等行业的企业创造复合价值。加入开放、可组合的生态系统,如云原生,可以为供应商和最终用户带来更好的产品、更大的市场和更好的商业成果,因为它们是可组合的。

可组合性分解

在深入探讨可组合性如何帮助我们实现这些商业成果之前,让我们退一步看看可组合性到底是什么。可组合性是处理组件间相互关系的系统设计原则。高度可组合的系统支持在各种组件中做出选择并组装,以满足特定的用户需求。

 

如果你与终端用户公司(使用但不销售软件的公司)合作过,你一定知道,虽然许多挑战可能是相同的(需要运行容器),但它们各有自己的“怪癖“(但防火墙需要静态出口网关)。可组合系统通过选用满足特定需求的组件克服这些挑战。用户可以根据特殊业务需求自由选择,云原生生态迅速扩张的原因就在于此。现在,我们已经对什么是可组合性有了更多的了解,下面介绍现实世界中如何应用。

可组合接口

存储

一开始,Kubernetes的许多部分,比如存储,都是作为 Kubernetes 核心代码的一部分。虽然将其作为一个整体提供可以简化安装,但如果企业想要增加存储系统支持(甚至修复现有卷插件的 Bug),就必须与 Kubernetes 的发布过程保持一致。此外,第三方存储代码造成的可靠性和安全性问题对维护者来说往往也很难(在某些情况下不可能)测试和维护。

 

容器存储接口(CSI)是为了规范存储系统将自己暴露给容器化工作负载的方式,使存储具有可组合性。现在有超过110个CSI驱动程序供大量的供应商和存储系统选用。创建可组合的接口,既增加了可供终端用户选择的选项数量,也增加了使用 Kubernetes 的终端用户数量,为存储供应商带来了更大的潜在市场。不仅如此,它还减轻了维护者的负担,提高了 Kubernetes 核心的安全性。对于接口来说,这并不坏。



网络

在网络方面,容器网络接口(CNI)由一组规范库组成,用于编写在 Linux 容器中配置网络接口的插件。在Cilium社区,我经常看到一些用户,开始时使用简单的 CNI,如WeaveFlannel,后来则切换到高级 CNI,如 Cilium,为的是满足可扩展性、可观察性或安全性需求。放在以前,重连整个集群中的每个接口几乎是不可能的。CNI 有标准化的容器网络,大大简化了切换 CNI 的任务,甚至有可能进行在线迁移。有了 CNI,终端用户可以选择适合他们需求的 CNI,并在有变化时进行切换。

eBPF

eBPF是一种可以安全地扩展 Linux 内核功能的技术,无需等待更改内核源代码。该技术可以在运行时选择并添加额外的功能,这带来了许多新的可能。Cloudflare 用它来缓解 DDoS,Meta 用它来实现高性能负载平衡,Cilium 用它来实现云原生网络、可观察性和安全性。它将功能移至主内核开发过程之外,这样大大加快了用户用上新功能的速度。它还解锁了新的用例,如 Tetragon 提供的安全可观察性。eBPF 使 Linux 内核具备了可组合性,并为云原生生态系统带来了许多有价值的新特性、功能和用例。



可组合接口的价值

Kubernetes 的存储和网络的可组合性为整个生态系统中的终端用户、供应商和维护者都带来了很多好处。首先,终端用户有更多的选择。这增加了采用 Kubernetes 的公司数量和它可以满足的用例。如果需求或用例发生变化,则可以进行替换,而不必从头开始。第二,终端用户增加意味着供应商收入增加。用户基数大了,需要技术支持、企业级功能或管理服务的用户也增加了。最后,通过更高程度的模块化,项目测试和维护更容易了,这可以减轻维护者的负担。可组合接口可以为整个生态系统赋能。

可组合生态系统

到目前为止,我们探讨了可以替换单个组件的价值以及这为企业带来的价值。这只是一个方面。可组合性不仅是指软件栈是由什么项目和产品组成,它还包括整个生态系统的可组合性。生态系统的价值不只是其各个组成部分的总和,还包括各部分之间的相互关系,以及如何将它们组装起来以满足生态系统和终端用户的需求。

 

构成一个生态系统的创意、人员和工具也是可组合的。在这种情况下,生态系统的价值才会真正得以释放。让我们来看一些真实的例子,看看可组合性如何提高整个云原生生态系统的价值。

 

创意

可观察性(有助于彻底地理解“分布式”系统)是一个热门领域,因为它可以帮助定位并解决生产环境 Bug,使你不会再被凌晨 3 点的警报惊醒。几年前对于可观察性如何实现,人们有许多不同的想法,其中包括OpenCensusOpenTracing。将这两个项目的创意和功能合二为一就形成了OpenTelemetry,这是现在云原生领域发展最快的项目之一。这两个项目没有在标准化方面展开竞争,而是融合到了一个项目里,这为技术的发展提供了强大的推动力。这两个项目的结合,使 OpenTelemetry 社区能够汲取 OpenCensus 和 OpenTracing 项目的优秀创意,使贡献者们能够团结在一起推动项目更快地向前发展,最终为生态系统带来更好的项目。



人员

在可组合生态系统中,人们可以根据自己的兴趣、市场空白和客户需求换入和换出项目。例如,Matt Butcher创建了Helm作为 Kubernetes 的包管理器,Brigade作为 Kubernetes 上的事件驱动脚本平台,Krustlet作为运行 WASM 工作负载的 kubelet,甚至还帮助编制了图说Kubernetes儿童指南。因为云原生生态系统是可组合的,所以他可以基于现有的工作构建这些项目,因为他看到了人们对这些项目的需求。可组合性可以根据终端用户的需求构建,而不是从头开始。这可以创造有价值的项目,满足终端用户的需求,并为生态系统中的人们提供新的商机。

工具

Prow是基于 Kubernetes 的 CI/CD 系统,为 Kubernetes 运行测试基础设施。现在,这些项目已经扩展到整个云原生生态系统,有超过 24 个不同的项目和产品。在整个生态系统中重复使用相同的工具,开发人员能够更容易地为项目提供支持(因为他们已经熟悉了工具),也使许多项目可以利用 Prow 的改进和自动化技术。它还有助于加快新项目的启动速度,因为不需要重新配置 CI/CD。更好的工具有助于项目更快地交付功能,创建更好的产品,提升终端用户体验。

可组合性的复合商业价值

生态系统是由许多不同的部分组成的,包括创意、接口、人员以及工具。当彼此之间可以相互组合时,其交互网络会产生出更大的价值。这种组合和再组合以满足用户独特需求的能力具有如下商业价值。

  1. 帮助项目更快地交付特性和功能;

  2. 创造更好的、更符合终端用户需求的产品;

  3. 寻找空白,创造新的商机;

  4. 增加用户基数、用例覆盖和潜在市场规模;

  5. 为供应商和终端用户公司创造更好的商业成果。

 

可组合性为云原生世界提供了动力,也是其为企业带来商业价值的原因。

 

作者简介:

Bill Mulligan 在 Isovalent 任职,负责 Cilium 和 eBPF 社区的传播和发展。他之前曾在 CNCF、Loodse 和 RiseML 任职。他的 Twitter 账号是 @breakawaybilly。

 

原文链接:

The Compounding (Business) Value of Composable Ecosystems

2022-07-17 08:003898

评论

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

一篇告诉你什么是Spring

JavaPub

spring

ARTS|Week 6 合并有序列表、团队、MIME类型和IIS

Puran

LeetCode ARTS 打卡计划

如何写好一封简历?

石云升

职场 简历优化 职场成长 简历

极客大学架构师训练营 系统架构 消息队列 数据库备份 第10课 听课总结

John(易筋)

负载均衡 极客时间 极客大学 极客大学架构师训练营 消息队列

架构师训练营总结-20200705

caibird1984

极客大学架构师训练营

架构师训练营 第 5 周总结

Lingjun

极客大学架构师训练营

LeetCode | 7. Merge Two Sorted Lists 合并两个有序列表

Puran

Python C# 算法 LeetCode

一文搞懂分布式消息中间件设计

小隐乐乐

消息队列

Git【入门】这一篇就够了

JavaPub

spring

ARTS Week6

丽子

分布式系统架构设计 - 一致性hash算法及其改进

常平

分布式 架构设计

程序人生 | 春风得意马蹄疾,一日看尽长安花

YourBatman

Java 程序员 程序人生

架构师训练营第五周 - 作业

Eric

极客大学架构师训练营

ConcurrentHashMap里面也有死循环

无予且行

Java jdk 面试 jdk8

第五周作业

秦宝齐

学习

从“金 木 水 火 土”到分布式系统架构设计

常平

分布式 架构设计

第五周作业

赵龙

ARTS打卡(2020.06.29-2020.07.04)

小王同学

ARTS 打卡计划

在Windows上使用IIS来托管站点

Puran

windows IIS Server

一致性Hash算法——架构师训练营第5周

架构 极客大学架构师训练营 一致性Hash算法 第5周作业 负载均衡算法

分布式系统架构设计 - 从CAP到PACELC

常平

架构 分布式

第五周学习总结

赵龙

80%会问到的18个Dubbo面试题,快来看看你都掌握了吗

小新

Java 程序员 架构 面试 dubbo

第一个Spring程序(代码篇)

JavaPub

spring

游戏夜读 | 简单认识一下爬虫

game1night

唯一路径的动态规划解法,阿里巴巴架构演化路径 John 易筋 ARTS 打卡 Week 07

John(易筋)

动态规划 ARTS 打卡计划 系统架构演化 唯一路径

总结

Mr.Monkey

分布式缓存架构作业

qihuajun

分布式系统架构学习总结

qihuajun

Python设计模式 单例模式

早睡蟒

Python 面向对象 设计模式 单例模式

架构师训练营作业-20200705

caibird1984

极客大学架构师训练营

云原生系统可组合性的商业价值_服务革新_InfoQ精选文章