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