自 2017 年开年以来,致力于推进云端本地服务开发的开源基金会 CNCF( Cloud Native Computing Foundation,云端原生计算基金会)名下新增管理了三个项目,它们分别是:提供服务发现、错误处理及服务可见性的透明代理服务网格 Linkerd,跨语言高性能的 RPC 框架 gRPC 以及快速且可配置的云端原生 DNS 服务器 CoreDNS。
CNCF 是一个开源 Linux 基金会,它致力于推进云端原生应用和服务的开发。在 CNCF 的纲领中描述了云端原生系统应该包含的属性:基于容器的打包,即在软件容器中运行应用和进程,并以隔离单元的形式进行应用部署;动态管理,即通过一个中央管理进程对各个组件进行动态调度及管理;微服务导向,使用低耦合的服务,并通过服务端点等显示地描述其中所需的依赖。
正如纲领中所描述的任务、角色以及价值观,CNCF 名下已经管理了多个云端原生技术项目,包括最初的谷歌容器管理调度平台 Kubernetes 。自基金会创立以来,它还收纳了:专注于时间序列数据、灵活查询以及为客户端依赖及第三方数据消费提供广泛集成选项的开源监控解决方案, Prometheus ;对厂商无关的分布式追踪开源标准, OpenTracing ;用于创建统一日志层的开源数据收集器, Fluentd 。从 2017 年开年以来基金会又新接纳了三个处于不同发展进度的项目:Linkerd(起步期),gRPC 和CoreDNS(起步期)。
Linkerd 是一个提供弹性云端原生应用服务网格的开源项目。其核心是一个透明代理,可以用它来实现一个专用的基础设施层以提供服务间的通讯,进而为软件应用提供服务发现、路由、错误处理以及服务可见性等功能,而无需侵入应用内部本身的实现。Linkerd 是由Buoyant 的创立者William Morgan 和Oliver Gould 于2015 年创建的,它的原型是Twitter 所构建的一个基于scala 的可扩展RPC 系统 Finagle 。
gRPC 是一个由谷歌创建的现代化高性能开源远程过程调用(RPC)框架。目前它正被多个谷歌云产品和对外 API 所使用。CoreOS 的分布式键值存储 etcd 就使用了 gRPC 进行点对点通讯。Docker 的便携式容器运行时 containerd 也通过 gRPC 暴露其功能,同时 containerd 本身也被捐献给了 CNCF。在 gRPC 中可以使用 Protocol Buffers 来定义服务的接口,Protocol Buffers 是一个强大的二进制序列化工具和语言。gRPC 也和诸多语言进行了集成,并可以自动生成特定语言的客户端和服务端接口。
CoreDNS 的前身是 SkyDNS ,它的主要目的是构建一个快速灵活的 DNS 服务器,让用户可以通过不同方式访问和使用 DNS 内的数据。它被设计为 Caddy 网络服务的一个服务器插件。CoreDNS 的每个特性都可以被实现为可插拔的中间件,如,日志、基于文件的 DNS 以及多种后端技术,进而可以拼接多个插件来创建定制化的管道。CoreDNS 已经得到扩展,可以直接被Kubernetes 访问服务数据,并以 KubeDNS 的形式提供给用户使用。
CNCF 项目的额外信息可以在基金会网站查看。CNCF 还将在 2017 年 3 月 29-30 日于德国柏林举办 CloudNativeCon 和 KubeCon。
查看英文原文: Cloud Native Computing Foundation (CNCF) Adds Linkerd, gRPC, and CoreDNS to Growing Portfolio
评论