谷歌開源Knative:將多云Serverless引入到企業界
谷歌想要讓 Serverless 計算足夠容易,連大企業都易于使用。本周,谷歌公開發布了一個名為 Knative 的新開源項目(https://github.com/knative),旨在讓企業組織和服務提供商得以搭建這樣的 Serverless 基礎設施:可以跨多個公共云或者在企業內部運行同樣的容器化代碼,基本上不需要開發人員操心什么。
谷歌云的產品管理總監奧倫·泰奇(Oren Teich)在近日召開的谷歌 Next 2018 大會上介紹這項技術時說:“Knative 的目的完全在于,將 Serverless 的構建模塊整合起來,為你提供工作負載易于移植的這個優點。”
Knative 建立在 Kubernetes 編排引擎和 Istio 服務網格之上,不過開發人員不需要了解這兩者的復雜性,就能享受到好處。泰奇告訴與會人士:“Knative 不是為最終用戶設計的,它是為用戶能夠在其上面構建產品的基礎設施部分設計的。”軟件讓用戶無需操心在云原生環境中準備和運行應用程序的所有步驟,包括容器構建過程、編排、路由及流量管理、負載均衡及自動擴展以及服務綁定。
Knative 有三個不同的組件來處理下列任務:容器自動構建(automated container builds)、容器服務(container serving)和事件綁定(event binding)。構建服務充分利用 Kubernetes 基元,在集群上利用源代碼構建容器。服務組件提供了中間件,以快速部署容器和根據需求擴展容器,路由和獲取已部署的代碼和配置的時間點快照。
泰奇說:“最終,我們的目標是依托該項目將 Serverless 界整合起來。我們的希望是打造整個生態系統,以便推出的 Serverless 產品能夠兼容、可移植。”
為此,SAP、IBM、Red Hat、Pivotal 及其他公司都為該項目做出了貢獻。SAP 計劃使用 Knative 為自己的開發人員簡化開發過程,開發人員只需操心自己編寫的代碼。SAP 使用 KNative 的早期封閉測試版,構建了一個名為 Kyma 的輕量級框架,用于將 SAP 的商業產品組合擴展到云原生環境。
Red Hat 計劃將 Knative 與其 OpenShift 這個商業 Kubernetes 發行版及自己的 Operators 框架結合起來,提供一種實現自動化運維的多云容器平臺。Pivotal 正將 Knative 納入到即將發布的 Pivotal Function Server,得到了該公司用于構建事件驅動型函數的 Riff 軟件的幫助。
IBM 院士兼 IBM 云副總裁杰森·麥吉(Jason McGee)在介紹 Knative 與 IBM 自己的函數即服務軟件 OpenWhisk 如何聯系時寫道:“有朝一日,Knative 讓開發人員能夠使用 Apache OpenWhisk,以 Serverless 的方式編排云應用程序的所有部分,比如運行容器和函數即服務事件,這一切都按需提供、按需實現。這有望顯著擴大可以使用 OpenWhisk 等 Serveless 工具的范圍,從原來的函數進化成生產環境中全尺寸應用軟件的完整基礎。”
谷歌最先提出了這個想法,以此為谷歌應用引擎和谷歌云功能(GCF)提供 Serverless 容器服務。根據谷歌規范的定義,這些容器并不寫到本地磁盤,完全采用請求-響應模式來運行。
谷歌預覽了 GCF 上的一種新服務:Serverless Containers,它可以運行符合規范的任何容器。現在,除了接納代碼外,GCF 還接納容器并執行容器。該服務定于今年晚些時候亮相,不過現對 alpha 測試人員開放。
泰奇說:“我們意識到容器不僅僅是包裝格式,還是交換格式。”泰奇演示了如何使用服務,結合了開源 Blender 3D 渲染軟件包的容器化版本。
在谷歌 Next 2018 大會上首次亮相的還有 GKE On-Prem,GKE 的這個發行版可以在內部運行。它包括一個基于 Knative 而建的 Serverless 附件,讓針對 GCF 容器化的應用軟件可在內部運行,因而消除了重復代碼。
來自: mp.weixin.qq.com