Google LLC最近宣布,其云平臺(tái)中的一些核心服務(wù)正在獲得對(duì)Cloud Native Buildpacks的支持,Cloud Native Buildpacks是一種旨在加快容器化應(yīng)用程序創(chuàng)建速度的開源技術(shù)。
這家搜索巨頭還發(fā)布了開源模板,以方便客戶采用該技術(shù)。軟件容器托管可在多個(gè)計(jì)算環(huán)境中運(yùn)行的現(xiàn)代應(yīng)用程序的組件。
Cloud Native Buildpacks的原始版本是由Salesforce.com Inc.的Heroku子公司創(chuàng)建的。在2018年,Heroku將這項(xiàng)技術(shù)變成了一個(gè)開源項(xiàng)目,并將其貢獻(xiàn)給了Cloud Native Computing Foundation。
作為該技術(shù)最常用的術(shù)語,buildpack的目的是加快容器項(xiàng)目的繁瑣組裝階段。容器化的應(yīng)用程序通常不僅包括核心軟件代碼本身,還包括各種支持組件,例如安全模塊和操作系統(tǒng)映像。要?jiǎng)?chuàng)建他們的應(yīng)用程序,開發(fā)人員必須將這些組件手動(dòng)組裝到一個(gè)文件中,這在包含大量活動(dòng)部件的大型項(xiàng)目中可能會(huì)花費(fèi)大量時(shí)間。
Buildpacks在很大程度上實(shí)現(xiàn)了流程的自動(dòng)化。該技術(shù)可以掃描應(yīng)用程序的源代碼,推斷出所需的支持組件,然后無需人工輸入即可將所有內(nèi)容組合在一起。開發(fā)人員會(huì)收到一個(gè)可立即使用的Docker容器映像,該映像可部署在其公司的基礎(chǔ)架構(gòu)中。
谷歌今天表示,它將構(gòu)建包作為在Google Cloud的App Engine應(yīng)用程序托管平臺(tái)上部署軟件的主要機(jī)制。此外,構(gòu)建包將成為在Cloud Functions上部署無服務(wù)器計(jì)算工作負(fù)載的默認(rèn)機(jī)制。無服務(wù)器計(jì)算是一種不需要客戶管理基礎(chǔ)計(jì)算資源的體系結(jié)構(gòu)。
Google提供的可幫助客戶管理其云基礎(chǔ)架構(gòu)的工具Cloud Shell現(xiàn)在具有內(nèi)置的buildpacks創(chuàng)建功能。同時(shí),這家搜索巨頭的Cloud Code和Skaffold編碼輔助服務(wù)也將支持該技術(shù)。
Google正在推出原生支持,以及一系列客戶可以在軟件項(xiàng)目中使用的預(yù)打包buildpack模板。每個(gè)模板都包含由搜索巨頭維護(hù)的Ubuntu 18.04操作系統(tǒng)的所謂托管副本。結(jié)果,使用Google提供的buildpack構(gòu)建的應(yīng)用程序在發(fā)布時(shí)會(huì)自動(dòng)收到操作系統(tǒng)安全補(bǔ)丁。
Cloud Native Buildpacks的另一功能被稱為“重定基礎(chǔ)”,從而使此類無縫補(bǔ)丁成為可能。組裝應(yīng)用程序后,該技術(shù)允許將所包含的操作系統(tǒng)映像更新為新版本,而無需重建整個(gè)應(yīng)用程序。
谷歌產(chǎn)品經(jīng)理MatthewSoldo和Steren Giannini在最近的公告中詳細(xì)說明:“Google云構(gòu)建包也可以通過附加的系統(tǒng)包進(jìn)行定制,或者滿足開發(fā)團(tuán)隊(duì)的特殊需求。構(gòu)建包本身都是用Go編寫的?!?/span>
Google的buildpack模板可在GitHub上獲得。(https://github.com/GoogleCloudPlatform/buildpacks)