Google Cloud Platform users often have to maintain scripts to manage the creation of multiple cloud platform resources such as instances, disks and networking. Creating repeatable and consistent configuration across projects was not an easy task. While configuration tools like Chef and Puppet helped to bring some order, they were not natively integrated with Google Cloud Platform tools, and setting them up was a task in itself. Enter Google Deployment Manager, which aims to streamline this process.
Google Deployment Manager, now in general availability, is available via the standard gcloud command line tool and an API to help deploy cloud resources in Google Cloud Platform projects. The process involves declaring the entire infrastructure deployment in a template and then using the familiar gcloud command line tool or API to deploy it. Once the resources (instances, disks, networks, etc.) are deployed, users can view the deployment in the Web console. The command line tool and API also provide information to inspect and manage the deployment, should there be any changes.
The Deployment Manager terminology is defined into configuration, templates, resources and deployment. A configuration is a file (YAML) that a user specifies that declares the various resources in a single deployment. For larger deployments, a user can include templates in a configuration file, where a template defines its own set of resources. A resource could be a Compute Engine instance, disks, network, firewalls and more. Check out the entire list of resources supported. A deployment is an installation of a configuration and is visible in the Web console as shown in the diagram above.
Google Deployment Manager is also accessible via an API (current version is 2). The API is well categorized by resource type. For example, one of the resource types is a deployment, and various REST methods are available to create, list, update and delete deployments.
Deployment Manager is free to use with unlimited API quotas for read and delete requests. Check out the quotas page for more information.