作者
,译者Cloud Native Computing Foundation(CNCF)发布了新的托管项目:Docker Notary通过使用强壮的加密签名为容器镜像等数字内容提供了安全信任机制;纽约大学Tandon工程学院的The Update Framework(TUF)是一个开源的安全信任规范,而Notary是TUF的一个实现;Lyft Envoy服务网格是一种用在微服务通信方面的数据面板代理;Uber的Jaeger跟踪系统可以用于在分布式系统(如基于微服务架构的应用)中跟踪请求和数据的流向。
Docker公司于2015年创立了Notary项目,它通过使用强壮的数字签名为数字内容提供了高级的安全信任机制。例如,可以用它为容器镜像和相关的元数据进行数字签名。除了可以确保软件的安全性,它还能保证软件在没有得到授权的情况下不会被修改。带有Docker Content Trust(使用了Notary)的企业版Docker就可以为数字内容建立清晰的安全策略。
TUF是一组开源的规范,由Justin Cappos教授于2009年制订,后由Cappos教授领导的纽约大学Tandon工程学院安全系统实验室继续后续的开发工作。他们与Notary合作将该项目提交给了CNCF,因为Notary是众多实现了TUF规范的项目中最为成熟的一个。Notary/TUF提供了一个客户端和一对服务器应用程序,可以用来托管签名过的元数据,并执行有限的在线签名。
图1. Notary/TUF的签名和验证流程图
目前Notary的使用案例:Docker使用Notary来实现Docker Content Trust和所有的子命令安全信任机制;CoreOS的Quay(一种容器注册表SaaS)使用Notary来验证容器镜像和元数据;LinuxKit使用Notary来发行它的内核和系统包。Notary不仅被用在容器发行上,还被用在生产环境当中,比如Cloudflare将它集成到他们的PAL工具中,而Kolide用它来加固osquery工具的更新管理器。
上月,Envoy成为CNCF的第11个托管项目。Envoy最初由Lyft开发,用于拆解他们的单体系统,是一个高性能的开源服务代理,旨在让网络通信对应用程序透明。软件工程师Matt Klein领导了这支开发团队,通过巧妙的设计为应用程序开发人员隐藏掉了复杂的网络通信细节。出于性能方面的考虑,他们选择使用C++来开发Envoy。它的进程外(out-of-process)架构让它可以被用在基于任何一门语言开发或使用任意一种运行时运行的应用程序。它支持HTTP/2或gRPC、MongoDB过滤和速率限定,等等。
图2. Envoy目前在Lyft的使用情况
Klein在最近的一篇博文上写道,Lyft的业务几乎都是以开源技术为支撑的。
如果没有这些开源技术,我们所钟爱的共乘服务可能就不会存在到今天。我们在Envoy上投入了大量的开发工作,我们也意识到很多组织在从单体迁移到微服务架构过程中也面临着同样的问题,我们希望能够为促进Lyft发展的广大社区回馈我们的力量。因此,我们决定将Envoy开源,并努力为其建立一个社区。
目前,Envoy项目有78个贡献者,他们至少来自10个不同的公司,与一些来自Lyft和谷歌的主要开发者共同维护着这个项目。Klein相信,“从技术方面来看,Envoy完全有机会成为现代微服务架构的一个主要组件”。这种信念很快就成为了现实,Verizon已经将其用在他们的Nelson自动化容器部署平台上,而Istio服务网格控制面板项目也很快在业界引起了人们的注意,初创公司Datawire正在基于Envoy开发开源工具Ambassador。Envoy弥补了CNCF服务网格项目Linkerd(由Buoyant公司创立)的不足。
最近发布的托管项目还有Jaeger分布式跟踪器,最初由Uber创立,是CNCF的第12个托管项目。Jaeger使用了与OpenTracing兼容的数据模型,提供了多种语言的增强包,如Go语言、Java、Node和Python。OpenTracing是一个现有的CNCF托管项目,定义了一个与厂商无关的分布式跟踪开放标准。
图3. Jaeger的架构和Jaeger在Uber的使用情况
Uber从2015年开始在公司内部部署Jaeger,现在它已经被集成到数千个微服务当中,每秒钟可以记录数千个跟踪事件。Base CRM、Stagemonitor和Symantec等公司也使用了跟踪系统。另外,Red Hat等公司也是该项目的活跃贡献者。CNCF技术委员会代表及项目赞助者Bryan Cantrill在最近的一篇博文中说,分布式跟踪系统为微服务系统提供了可观测性:
微服务架构的槽点之一是微服务有可能变成分布式单体:复杂而相互依赖的系统,一些不可预见的交互就会导致它们失效。为了解决这个问题,我们必须具备在服务间跟踪代码的能力。
关于Jaeger更多的信息可以在Uber的“解决分布式跟踪”这篇博文中看到,博文由Yuri Shkuro撰写,解释了Jaeger背后的历史和架构发展的来龙去脉。
CNCF网站上提供了章程细节、当前的成员关系和托管项目的清单。CNCF网站上的公告区也包含了在这篇新闻里提到的托管项目的细节。
查看英文原文:CNCF Adds Security, Service Mesh and Tracing Projects: Docker Notary, Lyft Envoy and Uber Jaeger
转自 http://www.infoq.com/cn/news/2017/11/cncf-notary-envoy-jaeger