值得关注的 9 个开源云原生项目

Bryant Son 的头像

·

·

·

6,585 次阅读

工作中用了容器?熟悉这些出自云原生计算基金会的项目吗?

随着用容器来开发应用的实践变得流行,云原生应用也在增长。云原生应用的定义为:

“云原生技术用于开发使用打包在容器中的服务所构建的应用程序,以微服务的形式部署,并通过敏捷的 DevOps 流程和持续交付工作流在弹性基础设施上进行管理。”

这个定义提到了构成云原生应用的不可或缺的四个元素:

  1. 容器
  2. 微服务
  3. DevOps
  4. 持续集成和持续交付 (CI/CD)

尽管这些技术各有各自独特的历史,但它们之间却相辅相成,在短时间内实现了云原生应用和工具的惊人的指数级增长。这个云原生计算基金会(CNCF)信息图呈现了当今云原生应用生态的规模和广度。

Cloud-Native Computing Foundation applications ecosystem

云原生计算基金会项目

我想说,瞧着吧!这仅仅是一个开始。正如 NodeJS 的出现引发了无数的 JavaScript 工具的爆炸式增长一样,容器技术的普及也推动了云原生应用的指数增长。

好消息是,有几个组织负责监管并将这些技术连接在一起。 其中之一是 开放容器倡议 Open Containers Initiative (OCI),它是一个轻量级的、开放的治理机构(或项目),“它是在 Linux 基金会的支持下形成的,其明确目的是创建开放的行业标准的容器格式和运行时。” 另一个是 CNCF,它是“一个致力于使云原生计算普及和可持续发展的开源软件基金会”。

通常除了围绕云原生应用建立社区之外,CNCF 还帮助项目围绕其云原生应用建立结构化管理。CNCF 创建了成熟等级的概念(沙箱级、孵化级或毕业级),分别与下图中的“创新者”、“早期采用者”和“早期大量应用”相对应。

CNCF project maturity levels

CNCF 项目成熟等级

CNCF 为每个成熟等级制定了详细的标准(为方便读者而列在下面)。获得技术监督委员会(TOC)三分之二的同意才能转为孵化或毕业级。

沙箱级

要想成为沙箱级,一个项目必须至少有两个 TOC 赞助商。 有关详细过程,请参见《CNCF 沙箱指南 v1.0》。

孵化级

注:孵化级是我们期望对项目进行全面的尽职调查的起点。

要进入孵化级,项目除了满足沙箱级的要求之外还要满足:

  • 证明至少有三个独立的最终用户已成功将其用于生产,且 TOC 判断这些最终用户具有足够的质量和范围。
  • 提交者的数量要合理。提交者定义为具有提交权的人,即可以接受部分或全部项目贡献的人。
  • 显示出有大量持续提交和合并贡献。
  • 由于这些指标可能会根据项目的类型、范围和大小而有很大差异,所以 TOC 有权决定是否满足这些标准的活动水平。

毕业级

要从沙箱或孵化级毕业,或者要使一个新项目作为已毕业项目加入,项目除了必须满足孵化级的标准外还要满足:

  • 至少有两个来自组织的提交者。
  • 已获得并保持了“核心基础设施计划最佳实践徽章”。
  • 已完成独立的第三方安全审核,并发布了具有与以下示例类似的范围和质量的结果(包括已解决的关键漏洞):https://github.com/envoyproxy/envoy#security-audit,并在毕业之前需要解决所有关键的漏洞。
  • 采用《CNCF 行为准则》。
  • 明确规定项目治理和提交流程。最好将其列在 GOVERNANCE.md 文件中,并引用显示当前提交者和荣誉提交者的 OWNERS.md 文件。
  • 至少有一个主仓的项目采用者的公开列表(例如,ADOPTERS.md 或项目网站上的徽标)。
  • 获得 TOC 的绝大多数票,进入毕业阶段。如果项目能够表现出足够的成熟度,则可以尝试直接从沙箱级过渡到毕业级。项目可以无限期保持孵化状态,但是通常预计它们会在两年内毕业。

值得关注的 9 个项目

本文不可能涵盖所有的 CNCF 项目,我将介绍最有趣的 9 个毕业和孵化的开源项目。

名称授权类型简要描述

via: https://opensource.com/article/19/8/cloud-native-projects

作者:Bryant Son 选题:lujun9972 译者:messon007 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注