Google现在为GCP用户提供完整基础设施即程序代码(Infrastructure as code,IaC)服务,让用户能以程序代码开发的方式,测试、自动应用以及审核云计算环境变更,现在GCP集成了热门的IaC工具,用户可以简单地开始使用,Google提到,采用IaC原则能够为大量增长的应用程序需求,打下稳固的基础。
IaC是一个让用户以处理应用程序程序代码的方式,配置基础设施的过程,用户可以将基础设施配置逻辑以程序代码控制系统进行管理,并且加入进持续集成( CI)和持续部署(CD)的工作管线中,共享给组织的其他成员使用。 IaC流程可以在不同类型的基础设施中使用,像是虚拟机或是裸机系统,也能应用在部署于Kubernetes集群上的容器,或是在混合环境也没问题。
用户可以在程序代码控制系统中管理IaC的相关文件,包括YAML描述档、Dockerfiles、shell脚本以及其他相依文件,Google提到,无论使用哪一种工具管理基础设施配置,重点是必须创建一套可重复且自动化的IaC文件捕捉流程。
在项目中执行IaC流程,组织能够更好的控制基础设施的设计,开发团队跟运营团队都能简单的对基础设施进行审核,而且通过部署到CI/CD工作管线中,用户可以简单地更改程序代码存储库,在几分钟内应用测试。
GCP支持了Deployment Manager、Terraform、Chef、Puppet、Ansible以及Packer等自动化工具,帮助组织创建IaC流程。 Google提醒,要在组织中实行IaC,就跟开始执行DevOps一样,需要从思维上进行根本的改变,IaC自动化需要更改流程和组织治理,当部分程序还需要手动执行时,则会造成文件版本不一致,因此在IaC的相关程序,不应该允许任一步骤手动执行。
另外,Google认为,并非所有组织都适合执行IaC,构建IaC流程需要付出相当的时间成本,因此当组织认为花费的时间过多,那就没必要坚持采用,因为流程创建完,还需要训练没有IaC概念和工具使用体验的成员。