Microsoft Connect(); 2018發佈的眾多最新科技,都讓全球開發者驚豔不已。其中一項最令開發者矚目並迫不及待——微軟聯合Docker發佈了雲本地應用捆綁包(Cloud Native Application Bundle,以下簡稱CNAB),這意味着分佈式應用的日子就要到來!

cnb docker_分佈式應用


cnb docker_分佈式應用_02

cnb docker_Docker_03

CNAB是一套全新的開源包格式規範,通過與Docker密切合作創建而成,並得到了HashiCorp、Bitnami等的廣泛支持。藉助於CNAB,無需使用多個工具集,開發者可以使用單個可安裝文件來管理分佈式應用,以及在不同的環境中可靠的配置應用資源,並輕鬆的管理應用生命週期。

CNAB依賴於開發者熟悉的技術,如JSON、Docker容器和OpenPGP等,並描述出一種用於打包、安裝和管理分佈式應用的格式。在設計上,它是與雲無關,適用於從Azure到本地(on-prem)OpenStack、從Kubernetes到Swarm、從Ansible到Terraform的各種東西。它可以在工作站、公有云、無線隔離的(air-gapped)網絡或者受約束的物聯網環境中執行。它具有足夠的靈活性,可以滿足從面向客户的市場到內部構建管道的各種平台需求。

cnb docker_分佈式應用_04

總體而言,CNAB帶來了目前的生態系統中所不具備的若干功能:

❖將多個離散資源作為構成一項應用的單個邏輯單元進行管理

❖ 使用和定義操作謂詞以進行應用的生命週期管理(安裝、升級、卸載)

❖ 簽署並以數字方式驗證捆綁包

❖ 證明並以數字方式驗證捆綁包已經達到了該狀態,以便控制捆綁包的使用方式

❖ 支持捆綁包和所有依賴項的導出,以便在另一個環境進行可靠的複製,包括離線環境

❖ 將捆綁包存儲在庫中,以便進行遠程安裝。


cnb docker_分佈式應用_05

cnb docker_開發者_06

為讓CNAB可更快速地應用,微軟推出Duffle。作為CNAB客户端的開源參考實現,Duffle提供了與CNAB協同工作所需要的所有核心功能。它可以安裝、升級和卸載CNAB捆綁包;可以創建新的捆綁包、對其進行加密簽名以及驗證其完整性。作為一個參考實現,Duffle提供瞭如何構建基於CNAB的解決方案的示例。

同時,微軟還發布了一套VS Code(代碼)擴展,可簡化構建和託管CNAB捆綁包的過程,將捆綁包的安裝轉變為簡單的點擊式體驗!

cnb docker_分佈式應用_07

通過把這套規範與相關工具組合到一起,讓立即着手使用CNAB成為可能。

無論是運行自己的應用,還是專注於為無線隔離(air-gapped)網絡編寫應用,或是打算把應用分發到各種不同的雲環境中,CNAB都是一種可以提供幫助的打包格式。

為了推動CNAB在業界的發展,微軟的生態系統合作伙伴——Docker、HashiCorp和Bitnami ,將提供標準化內容(CNAB捆綁包),以供客户從CNAB兼容的目的地(如DockerHub、GitHub等等)託管或下載。