Google云计算服务支持云计算原生容器镜像文件技术

Google宣布在其多个云计算服务中,提供云计算原生容器镜像文件技术Buildpacks的支持,以加速容器化应用程序的采用,而Google也发布了开放源码模板,让用户能够简单地在自家应用程序上,使用Buildpacks技术。

Google所提供的Buildpacks,源自于CNCF的开源Cloud Native Buildpacks项目。Buildpacks最一开始是由Heroku在2011年创建,并且被Cloud Foundry以及Google App Engine、Gitlab、Knative等其他PaaS采用,而Cloud Native Buildpacks项目,则是Pivotal和Heroku在2018年初发起,于10月加入Cloud Native沙盒,目标是要统一Buildpacks生态系统。

Cloud Native Buildpacks让开发者能够将应用程序源码,转换成为可在云计算执行的镜像文件,而不需要使用Dockerfile。Buildpacks会被包在一个称为Builder的OCI镜像文件中,Builder拥有构建应用程序所需要的全部信息,一个Builder可含有一个或是多个Buildpack。

而Google云计算发布的Buildpacks版本,则是一系列开源Buildpack以及Builder的集合,并且以CNCF Buildpacks v3规范作为基础,能构建遵循最佳实践的容器镜像文件,在Google的容器平台,像是Cloud Run、Anthos和GKE上执行。

Google强调,他们对Buildpacks的可重复使用性、安全性和执行速度进行优化,让开发者可以将应用程序和函数,都打包成为容器镜像文件,在构建函数时,会是使用Google云计算的开源Functions框架打包。Google Buildpacks使用Ubuntu 18.04基础镜像文件,该镜像文件会定期执行安全漏洞检查,所有被侦测到的漏洞,会自动更新修复,以确保开发者在以Buildpacks构建源码时,能确保其安全性。

Google的Buildpacks完全以程序语言Go编写,而开发者不用以各种语言创建同个Buildpack,可以将较小且模块化的Buildpack结合在一起,像是以Node.js开发,能够安装节点的组件NPM Buildpack,也能被用在其他可以使用NPM组件的语言或是框架上。

Google在一系列产品支持Buildpack,包括用户可以在Cloud Run的持续部署配置中使用Buildpack,而Buildpacks也是较新的App Engine Runtime,默认的程序代码部署机制,Cloud Code IDE可以直接以Buildpacks构建源码,并且部署到GKE中。而Skaffold也使用Buildpack提供即时开发体验,当开发者编辑源码时,Buildpacks便会持续重建应用程序,让开发者预览程序代码的变更。

发表评论