開源夜聊欄目開播:聊聊新晉 CNCF 專案 sealer 背後的故事

阿里巴巴雲原生發表於2022-05-25
開源夜聊是阿里云云原生團隊策劃併發起的一檔對話欄目,關注雲原生領域開源專案,通過嘉賓們的解讀,讓我們看到每個開源專案背後的故事。

4 月 26 日,雲原生計算基金會(CNCF) TOC 例會投票,一致通過 sealer 開源專案成為 CNCF 官方沙箱專案。sealer 專案誕生於阿里雲,旨在解決分散式軟體的打包、分發與執行的標準化問題。

去年 5 月,阿里雲工程師選擇將 sealer 專案開源,一年時間走來,sealer 在獨立軟體供應商(ISV)市場,得到了廣大使用者的青睞。也正是其創新的思路,以及短時間內的增長較快的使用者基數,使 sealer 得以順利申請並加入 CNCF 。

系列文章:

sealer 成為 CNCF Sandbox 專案,旨在構建分散式應用交付新標準

與阿里雲容器服務 ACK 發行版的深度對話第一彈:如何藉助 sealer 實現快速構建 & 部署

Sealer - 把 Kubernetes 看成作業系統叢集維度的 Docker

政採雲基於 sealer 的私有化業務交付實踐

5 月 26 日(週四)晚上 19:00-20:00,sealer 發起人中弈、政採雲交付技術負責人摩羯、ADP-online 產品負責人呂莫做客【開源夜聊】,與開發者一起聊聊 sealer 背後難忘的故事。

關注「阿里巴巴雲原生」視訊號,立即預約直播!

sealer 是什麼?

作為阿里巴巴開源的一款幫助分散式應用快速進行打包、交付和執行的解決方案,sealer 可以通過把分散式應用及其資料庫中介軟體等依賴項一起打包來解決複雜應用的交付問題。

sealer 構建出來的產物我們稱之為叢集映象,叢集映象裡內嵌了一套完整的 Kubernetes + 容器,它們雙劍合璧,解決了分散式應用的交付一致性問題。

 title=

它的核心原理可以參考下圖:

 title=

Docker 可以把單個作業系統(rootfs)和單機應用構建(docker build) 成一個容器映象,並在單機上快速執行(docker run),而 sealer 則把 Kubernetes 看作整個叢集的作業系統(cloud rootfs),並和其上部署的分散式應用構建(sealer build)成一個叢集映象,在叢集上快速執行(sealer run)。與此同時,叢集映象也可以被推送(push)到公共映象倉庫(如 DockerHub、阿里雲容器映象服務等)中共享給其他使用者使用。

對於專有云交付類的公司而言,sealer 最終能幫你的就是實現規模化交付,擴大營收,降低成本,提高利潤。採用 sealer 技術的公司可以在規模化競爭中取勝,降低單次產品交付價格,創造核心價格優勢。

以現有的交付類專案現狀來看幾乎都是幾十萬上百萬起步,這幾乎就把客戶群體限制在頭部客戶了,但是對於中小企業需求是真實存在的,由於交付成本高導致出現這種有需求無市場的情況。如果價格能降低到數千或者幾萬,那新的市場就會完全被開啟。

對於甲方來說也是一樣,採購一套軟體到落地都是數月的時間,和銷售溝通、poc、交付等等,整個鏈路非常長。因為乙方的交付成本變低,相應甲方的採購成本也會降低。在 sealer 出現之前想一年線下交付一萬套複雜軟體對於絕大多數企業而言幾乎不可能完成,像小時級別的交付更是異想天開,但是 sealer 可以實現自助化,交付規模不再受技術水平限制,還能實現快速一鍵交付。

舉個例子,政採雲的私有化交付客戶為政企場景,需交付業務規模較大:300+ 業務元件, 20+ 中介軟體,交付目標的基礎設施不同構且不可控,網路限制嚴格,一些敏感的場景甚至是完全隔離的網路,在這種背景下,業務交付的最大痛點就是部署依賴的處理以及交付一致性的問題。雖然業務統一基於 Kubernetes 進行交付實現了執行環境的一致,但是如何解決部署過程中所依賴的所有映象、 各種包的統一處理以及交付系統自身的一致性等一系列問題,亟需解決。

然而一個複雜的業務, 其交付的本身就是一個工程浩大的問題,以政採雲的場景為例:各種 helm chart、RBAC, istio gateway,cni,中介軟體等各種資源物件的部署和配置,再加上 300 餘業務元件的交付,每一次私有化交付帶來的都是大量人力和時間成本的消耗。

政採雲正處於業務高速發展的時期, 私有化部署專案的需求不斷新增,高成本的交付方式越來越難以支撐實際的需要,如何降低交付成本,並保障交付的一致性是運維團隊最迫切的需要解決的問題。

偶然間,政採雲交付技術負責人摩羯發現 sealer,第一時間聯絡到了 sealer 發起人中弈,同時邀請社群的夥伴來公司進行了交流, 使用 sealer 我們重新定義了交付流程,通過 Kubefile 將業務元件、容器化中介軟體的交付、映象快取等元件的交付直接使用 sealer 來完成。利用 sealer lite build 模式, 自動化的完成依賴映象的解析及快取內建。

利用 sealer 遮蔽了大量應用交付的複雜過程邏輯,和依賴處理邏輯,使實施難度極大的簡化。實施邏輯的持續簡化,使得規模化交付成為可能。在我們的實踐場景中,使用新的交付系統,交付週期從 15 天/人縮短至 2 天/人,實現了包含 20G 業務映象快取, 2000G+記憶體 800+核心 CPU 規模叢集的成功交付。下一步我們計劃通過持續的簡化交付過程,使一個新手只需要簡單的培訓即可完成整個專案的交付。

sealer 已經完成了“叢集維度的 Docker”這一設定,未來在生態發展上會增加更多的投入,創造更多更優質的官方映象,建立更多的合作伙伴,真正把軟體的提供者與使用者連線起來,高效的協作。sealer 還是一個新專案,在最開始開源的幾個月裡經歷了多次“打擊”,摩羯說:“我們對 sealer 的設計模式抱有很大的期望和信心, 我們選擇了與社群一起協作共建,共同成長。”

更多開源專案背後的故事,歡迎預定 5 月 26 日晚開源夜聊直播間。

 title=

相關文章