Developers use scripts to automate mundane tasks and make implementations more efficient. Infrastructure as code is the most comprehensive option for scripting, because it creates an abstraction layer between applications and the underlying infrastructure to automate all operational tasks.
Google’s infrastructure-as-code tool, Google Cloud Deployment Manager, deploys infrastructure as repeatable, declarative code. It can use up to three file types per Google Cloud Platform deployment — a configuration file in YAML, a schema file and a template file in Python or Jinja2. The configuration file, which is the source code for Deployment Manager, is the only required file — the other two types are optional but improve a deployment’s portability.
Currently, Deployment Manager doesn’t support all Google Cloud tools and services, but it does work with most of Google’s compute, storage and database resources. Developers can run the gcloud deployment-manager types list command in the gcloud command-line interface to see if Deployment Manager supports the resource they need to deploy.
Deployment Manager is free to use, though standard charges apply for any related services it deploys.
GCP users that prefer platform-specific automation templates can use Google Cloud Deployment Manager to express infrastructure and configurations as readable code.
Google Cloud Deployment Manager uses a declarative language that supports templates, external references, metadata and environment variables. It uses up to three file types to describe a GCP deployment:
A required configuration file that uses human-friendly YAML syntax to describe the necessary resources.