Creating testing, staging, and production environments for your application is still too hard. Today, you might run scripts to configure each environment or set up a separate server to run an open source configuration tool. Customizing and configuring the tools and testing the provisioning process takes time and effort. Additionally, if something goes wrong, you need to debug your server deployment and your tools.
Google Cloud Deployment Manager, now in beta, lets you build a description of what you want to deploy and takes care of the rest. The syntax is declarative, meaning you declare the desired outcome of your deployment, rather than the steps the system needs to take. For example, if you want to provision an auto-scaled pool of VMs, you would declaratively define the VM instance type you need, assign the VMs to a group, and configure the autoscaler and load balancer. Instead of creating and configuring each of these items through a series of command line interface calls or writing code to call the APIs, you can define these resources in a template and deploy them all through one command to Deployment Manager.
Key features of Deployment Manager:
Define your infrastructure deployment in a template and deploy via command line or RESTful API
Templates support jinja or python, so you can take advantage of programming constructs, such as loops, conditionals, and parameterized inputs for deployments requiring logic
UI support for viewing and deleting deployments in Google Developers Console
Tight integration with Google Cloud Platform resources from compute to storage to networking, which provides faster provisioning and visualization of the deployments
A Sample Deployment
We’re often asked how Deployment Manager differs from existing open source configuration management systems like Puppet, Chef, SaltStack, or Ansible. Each of these are powerful frameworks for configuration management, but none are natively integrated into Cloud Platform. To truly unlock the power of intent driven management, we need a declarative system that allows you to express what you want to run, so that our internal systems can do the hard work of running it for you. Also, unlike other configuration management systems, Deployment Manager offers UI support directly in Developers Console, allowing you to view the architecture of your deployments.
Because Deployment Manager is natively supported by Cloud Platform, you don’t need to deploy or manage any additional configuration management software, and there’s no additional cost for running it. Take the complexity out of deploying your application on Cloud Platform and test drive Deployment Manager today. We also welcome your feedback feedback at firstname.lastname@example.org.
-Posted by Chris Crall, Technical Program Manager