Developing Deployment Manager templates to automate deployment of an application
Start course

*** NOTICE: This course contains outdated information and has been deprecated ***

This course has been designed to teach you how to deploy and implement Google Cloud Platform solutions. The content in this course will help prepare you for the Associate Cloud Engineer exam.

Learning Objectives

  • To learn how to deploy Kubernetes Engine resources on Google Cloud Platform
  • To learn how to deploy and implement App Engine and Cloud Functions resources
  • To learn how to use Cloud Launcher and Deployment Manager

Intended Audience

  • Those who are preparing for the Associate Cloud Engineer exam
  • Those looking to learn more about GCP networking and compute features


To get the most from this course then you should have some exposure to GCP resources, such as Kubernetes Engine, App Engine, Cloud Functions, Cloud Launcher, and Deployment Manager. However, this is not essential.


Although basic configuration files can be used to deploy less complex workloads, more complex workloads and configurations that you plan to reuse should be handled with templates. A deployment manager template is a file that's imported and used as a type in a configuration. Deployment manager templates allow you to break out a configuration into multiple pieces that you can reuse with different solution deployments. In this lesson, I'm going to show you a basic deployment manager template and its architecture. The template we're going to look at is called demovm.jinja. We'll use it later in this course to deploy a VM. On the screen, you can see our basic demovm deployment template in Jinja format. I created this in preparation for this exercise. In this template, we're defining the name of our VM instance with the name value. In addition to providing a name for our VM, we need to specify the type of resource we're deploying. We do this with the type value. Since we're deploying a VM instance, we need to specify compute.v1.instance as the type. Using the properties value, we need to specify the zone where we want to deploy to and the machine type. In this example, we're deploying an n1-standard-1 machine to the us-central1-a region. The disks value allows us to specify disk information. For this exercise, we're specifying a persistent boot disk called boot and we're configuring the disk for autoDelete so that it's removed when the VM instance is removed. Under initializeParams, we're using the sourceImage value to tell GCP that we want to deploy a debian-9 virtual machine. With the networkInterfaces setting, we're configuring the VM to connect to the default network. In the next lesson, we'll compare configuration files with deployment manager templates. After that, we'll deploy a VM from our demovm deployment manager template.

About the Author
Learning Paths

Tom is a 25+ year veteran of the IT industry, having worked in environments as large as 40k seats and as small as 50 seats. Throughout the course of a long an interesting career, he has built an in-depth skillset that spans numerous IT disciplines. Tom has designed and architected small, large, and global IT solutions.

In addition to the Cloud Platform and Infrastructure MCSE certification, Tom also carries several other Microsoft certifications. His ability to see things from a strategic perspective allows Tom to architect solutions that closely align with business needs.

In his spare time, Tom enjoys camping, fishing, and playing poker.

Covered Topics