【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

作者: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:003896

评论

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

从0-1教你利用服务器做属于自己的个人博客

坚果

git 博客 服务器 nodejs 11月日更

Vue进阶(幺陆玖):JS 垃圾回收机制

No Silver Bullet

Vue GC 11月日更

开源应用中心|最好用的5款开源论坛软件,你知道吗?

开源 博客 开源软件 论坛

Elastic-Job的执行原理及优化实践

安第斯智能云

Java 架构 分布式 后端

【LeetCode】只出现一次的数字 IIIJava题解

Albert

算法 LeetCode 11月日更

外包学生管理系统的架构

胡颖

Android C++ 系列:JNI数组操作

轻口味

android 11月日更

如何从 JavaScript 中的数组中删除空元素?

devpoint

JavaScript filter 11月日更

性能优化反思:不要在for循环中操作DB

CRMEB

极复杂编码,下载《原神》角色高清图、中日无损配音,爬虫 16 / 120 例

梦想橡皮擦

11月日更

Hazelcast在openLooKeng中的应用(Cache篇)

openLooKeng

大数据 cache 计算引擎 openLooKeng

基于Hive Connector的openLooKeng Connector 创建复用机制剖析

openLooKeng

大数据 hive 多数据源配置 计算引擎 openLooKeng

云上远程运维的最后那点担心,“云梯”帮你解决

华为云开发者联盟

运维 华为云Stack 远程运维 安全可信 云梯

新版本发布!openLooKeng v1.4.0上线

openLooKeng

大数据 计算引擎 openLooKeng

浅析openLooKeng安全认证机制

openLooKeng

大数据 ldap openLooKeng 安全认证

毕业总结

babos

#架构实战营

超详细攻略!手把手教你如何在windows下搭建openLooKeng开发环境

openLooKeng

大数据 计算引擎

推荐!DevOps工具正越来越自动化

SoFlu软件机器人

MySQL 默认隔离级别是RR,为什么阿里这种大厂会改成RC?

Hollis

CSS响应式布局之REM(二)

Augus

CSS 11月日更

基于软件分析的智能化开发新型服务与技术

华为云开发者联盟

程序员 开发 漏洞 软件分析 智能开发

【Flutter 专题】15 图解 ListView 异步加载数据与 Loading 等待

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

架构实战营模块三作业

孙志强

架构实战营

dart系列之:dart语言中的内置类型

程序那些事

flutter dart 程序那些事 11月日更

vivo 全球商城:商品系统架构设计与实践

vivo互联网技术

软件架构 架构设计 商城项目

超简单教程!自动部署openLooKeng

openLooKeng

大数据 计算引擎 openLooKeng 安装部署

JPA + EclipseLink + 云平台 = 运行在云端的数据库应用

Jerry Wang

数据库 Cloud Cloud Native 11月日更

模块九—电商秒杀系统

babos

#架构实战营

微信朋友圈复杂度分析

豪毅

架构实战营

Scrum Master们,难道每天都在摸鱼

华为云开发者联盟

摸鱼 敏捷教练 开发团队 Scrum Master 领导

【Promise 源码学习】第一篇 - Promise 简介

Brave

源码 Promise 11月日更

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