Kubernetes联合创始人谈云原生计算以及CNCF


过去十年以来,谷歌公司已经将大量开发资源投入到系统创建工作当中,旨在顺利实现规模扩展。通过创建高复杂度应用程序以处理大规模流量及数据集已经让我们得以在应用程序架构以及整体操作模式层面积累起丰富的经济与可观的创新型成果。

目前技术业界开始将这类方案称为“云原生计算”,而其与传统系统间的核心区别主要分为以下三种:
  1. 容器化封装。以封装形式将应用程序单元部署在应用程序容器内部能够显著提升可预测能力。在规模化场景下,我们无法利用传统的命令或者脚本实现部署任务。单一系统中的任何自由支配空间都不可能直接扩展至互联网规模级别。
  2. 动态管理。运营人员无法以人工方式对每周高达20套容器系统进行调度与管理。相反,我们高度依赖容器解决方案构建智能化系统,从而针对所需运行任务之数量以及运行位置做出准确决策。这能够从根本上提升执行效率,让我们的开发人员专注于代码编写工作。这种方式能够让我们建立起小型化、专业化且拥有高度授权的运维团队,并将主要精力集中在提供常规服务身上。
  3. 面向微服务。我们的全部系统依赖于松散耦合之架构,且通过服务端点进行关联性描述。这让我们的系统拥有更为出色的敏捷性,同时从根本上提升代码复用率。这也意味着我们不需要为每套子系统创建新的常规服务实例。


在谷歌之外,这种方法被称为“GIFEE”——即Google Infrastructure for Everyone Else。有趣的是,我们也可以将其称为“FIFEE”或者“TIFEE”——因为 Facebook与Twitter也利用类似的计算方案以处理自身规模化运营任务。虽然各方案在具体细节上存在诸多差异,但其基础模式可谓高度一致。这也是最理想的技术进化方式。只有这一种实践手段能够处理互联网规模运营工作,而截至目前,每一家互联网企业也都立足于同样的基础模式创建出属于自己的独特解决思路。

展望未来,我们认为将有更多传统企业被迫面对互联网规模所带来的各类难题。物联网将给企业带来无法预测的流量等级。而更多联网与移动设备介入业务流程则使得客户群体以及企业员工要求利用互联网规模解决方案对其提供支持。几乎可以肯定的是,每家企业都必将面临这些挑战,而技术业界则需要以协作方式将强大的技术堆栈构建成足以支撑此类业务需求的创新成果。

容器技术的下一发展阶段:标准化

最近一段时间,我们发现众多技术企业开始各自推进关键性技术成果的开发,旨在支持这种面向云原生计算的发展趋势。不过独立方案的弊端在于,其要求单一供应商交付一套“完整堆栈”。由于缺少容器运行时、编排、常规服务以及其它各类技术组件的执行标准,由此建立的云原生堆栈导致每家企业身为单独孤岛,而且其中只有极少数有能力提供完整的解决方案。

在我们看来,每家企业都能够立足于合理的独特设计获得收益。如果一家初创企业对于改进容器运行时环境有着独特的见解,他们应该有能力率先做出尝试并创建出一套独特的运行时环境,而无需受到既定镜像格式的限制。如果另一家初创企业擅长构建调度机制以解决特定工作负载问题,他们亦应该有能力构建并销售相关方案,而不必为其构建一套完整堆栈。

考虑到这一点,我们开始将着眼点放在Kubernetes的发展前景身上——这项容器编排技术由谷歌公司内部编排与调度系统(即Borg项目)的开发团队所打造。最理想的方式在于将其交由基金会打理,并与广泛社区合作以协调各类可交互“堆栈”之间的对接,从而为每家企业客户提供云原生计算支持能力。有鉴于此,我们与Linux基金会取得联系,同时汇集多家技术合作伙伴(包括英特尔、红帽、思科、IBM、VMware、Docker、CoreOS以及Mesosphere等等)共同建立起云原生计算基金会(简称CNCF)。

新的标准化实现方案

我们建立云原生计算基金会的目标并非创建起一家传统标准机构(即负责定义标准,而后提供参考实现方案),而是建立起一个能够以厂商中立性为前提的相关技术汇聚平台,并随时间推移对此类技术加以协调,最终为用户群体提供跨越不同堆栈层的标准接口。

我们的目标在于创建一套配备有简洁接口(即API)的简洁架构,而后依据参考实现方式作为各语义块的执行标准。各供应商能够对堆栈内的任意组成部分做出必要扩展,但相关变更需要经过强大的资格测试套件加以“认证”,以审查其与参考实现方案的兼容性水平。基于API的一致性还远远不够,语义一致性对于客户从堆栈中提取必要组件并将其合并成适合自己的方案可谓至关重要。

考虑到这一点,我们发布了以下基金会核心价值取向:
  1. 始终技术高速执行能力。我们必须确保相关项目进程以高速状态推进,从而支持来自用户的各类前瞻性需求。
  2. 开放性。基金会必须保持开放性与可参与性,同时独立于任何特定厂商之利益做出运营决策。其必须接纳一切正面贡献成果,且其技术必须可根据开源价值取向向需要各方开放。
  3. 公平性。我们必须创造公平的竞争环境,允许各小型企业以与主流厂商对等的姿态参与创新成果的开发与推动。
  4. 一致性。技术方案必须在外观与使用感受层面同风格、理念以及原则保持一致。
  5. 强大的技术特征。基金会必须实现并保持高度技术自主能力,并跨越不同项目建立明确的技术特征。
  6. 边界明确。必须设立明确的发展目标。但在多数情况下,与基金会既定目标有所区别的工作同样能够促进项目之间的有效并存,进而帮助生态系统了解与创新成果相关的关注方向。


新型治理模式

为了实现上述目标,我们必须立足于局外审视基金会的运作结构。虽然我们对基金会当前的工作成果感到满意,但有迹象表明,仍有相关一部分关键性目标尚未得到确切实现。而且与传统商业管理委员会不同,我们决定尝试新的治理模式以提高执行效率:
  1. 强调技术意见的重要地位。我们的目标是为市场带来极具颠覆性的新型技术成果,同时帮助整个世界向新的、更理想的工作方式过渡。要实现这项目标,我们需要一整套具备高度授权的管理机构,且其决策不会与任何单一供应商之现实利益捆绑起来。有鉴于此,我们建立了技术监督委员会——这个包含九名成员的团队将负责制定技术发展愿景、推动子项目开发并解决技术纠纷。这些成员皆拥有丰富的技术行业从业经验,且立足于社区而非特定供应商之利益。
  2. 对最终用户负责。我们发现很多基金会组织往往受到供应商驱动,而缺乏强有力的最终用户问责机制。为了解决这个问题,我们积极招募并建立经过授权的最终用户委员会。此委员会将直接代表最终用户的利益同技术监督委员会进行沟通(类似于代表厂商利益的商务委员会)。
    我们希望能够通过建立这些检查与平衡机制建立起一个稳定且专注的社区,从而利用创新成果不断推动全世界向着云原生计算技术的方向持续迈进。


如何参与云原生计算基金会

要参与这一面向最终用户的问责体系,要求相关企业考虑或者正在着手推进由传统架构面向云原生架构的过渡工作。

参与各方将有机会加入云原生计算基金会的一系列开源项目。欲参与Kubernetes社区,企业可以考虑加入我们的Slack频道、关注GitHub上的Kubernetes项目或者加入谷歌Kubernetes开发团队。随着技术监督委员会逐步推出Kubernetes之外的更多项目,参与途径也将随之增加。

除此之外,云原生计算基金会还需要多个角度的反馈意见以帮助我们指导自身运作。以最终用户成员的身份加入云原生计算基金会将确保您的声音得到倾听与考量。

原文链接:The evolution of internet scale enterprise(翻译:孙科)

0 个评论

要回复文章请先登录注册