Google Compute Engine enables you to rapidly bring up a fleet of virtual machines. Once this virtual datacenter is up, you want to efficiently install, configure, and execute the software that runs your services. As your service grows and your engineers develop new features, you'll regularly need to deploy changes. Installing and configuring your software manually can lead to systems that are difficult and expensive to maintain and cannot be replicated for capacity expansion, development, or testing.

Over the last decade, a vibrant ecosystem of open source tools has emerged to manage the complexity of large-scale compute deployments. These tools allow you to deploy changes more rapidly, recover faster from failures, and take unused resources out of service, enabling you to keep your services' uptime high and operational costs low.

The paper Compute Engine Management with Puppet, Chef, Salt, and Ansible helps you understand how resource deployment on Google Compute Engine works, and how you can use open source software management tools to manage your compute infrastructure.

Google provides the basic building blocks for Compute Engine resource management with the Compute Engine API and the gcutil command line tool. However, these are built for resource management rather than software management. As the complexity of your compute infrastructure grows, you may benefit from tools designed for software management.

Puppet, Chef, Salt, and Ansible are configuration management tools that provide software and resource management. They are open source and support Google Compute Engine. If your organization already uses one of these tools for managing other systems, we hope to help you get started using it with Google Compute Engine. If you are not already using any of these tools, consider reading Compute Engine Management with Puppet, Chef, Salt, and Ansible as a minimal primer to begin evaluating them.

-Posted by Matt Bookman, Solutions Architect