
Infrastructure as Code shows up on the Professional Cloud Architect exam in a fairly narrow set of patterns, and Cloud Deployment Manager is the Google-native tool the exam expects you to recognize. I want to walk through what IaC is solving, how Deployment Manager fits, the migration scenario the exam likes to test, and the limitations you should be ready to acknowledge.
Before IaC, configuring infrastructure meant a series of manual steps. You set up servers, networking, and storage one component at a time, usually through a graphical interface or a command-line tool. That works for a handful of resources but breaks down quickly. It is time-consuming, it is error-prone, and it makes scaling and replicating environments difficult. If you want a second copy of your production environment for testing, or you want to deploy the same setup in a new region, every manual step becomes a chance for inconsistency.
Infrastructure as Code is the response to that problem. Instead of clicking through consoles, you describe the desired state of your infrastructure in configuration files. Servers, databases, networking resources, all of it gets abstracted as software. The configuration files are typically written in YAML, Jinja2, JSON, or a programming language like Python. Because they are code, they can be version-controlled. Teams can collaborate on them, track changes, and reuse the same files across environments.
The payoff is consistency across development, testing, and production, with less human error and faster deployments. IaC also aligns with DevOps practices, which is part of why it pairs naturally with continuous integration and deployment workflows. The exam expects you to recognize the open-source IaC tools as well, primarily Terraform and Ansible, alongside the Google-managed option, Deployment Manager.
Cloud Deployment Manager is Google Cloud's native IaC tool for automating the creation and management of GCP resources. It accepts configuration files in YAML, Python, Jinja2, and JSON, so you have flexibility in how you describe your environment. The core value proposition is that you can deploy and update complex environments repeatably with minimal effort, using the same configuration to stand up identical setups for development, testing, or production.
For the Professional Cloud Architect exam, there are two phrasings that should push you toward Deployment Manager as part of the answer.
The first is when the question asks about automating a deployment as easily or as quickly as possible. Deployment Manager is built for that. You define the infrastructure once in a configuration file and deploy it consistently with no manual clicking.
The second is when the question is about replicating an existing environment or configuration. If the scenario describes spinning up a duplicate of an existing setup, whether for a new region, a new environment, or a new team, Deployment Manager is the tool that lets you reuse the same configuration files to get a consistent result.
If you see either of those cues, automation speed or environment replication, Deployment Manager belongs in your answer.
There is a recurring scenario worth knowing. You have an on-premises setup with three pieces. An Apache web server hosts the application, a PostgreSQL database stores the application data, and a Jenkins server manages the CI/CD pipeline. The setup works, but it is constrained by typical on-prem limits around scalability and maintenance overhead. The goal is to move all of it to Google Cloud.
The first step is to capture the configurations of the existing infrastructure. You export the Apache and PostgreSQL configurations into a format like JSON. Those configurations describe the current state and serve as the blueprint for the cloud version.
From there, Cloud Deployment Manager processes the configurations and translates them into GCP resources. The Apache web server lands on a Compute Engine VM. The PostgreSQL database moves to Cloud SQL, with pg_dump handling the data export and import. The Jenkins CI/CD server also goes onto a Compute Engine VM, preserving the existing automation workflows.
The point of the scenario is that Deployment Manager simplifies the migration by letting you capture the current environment as configurations and automate the deployment of equivalent resources in GCP. The on-prem setup gets replicated in the cloud with the added benefits of scalability and Google Cloud's managed infrastructure.
Deployment Manager is useful, but the exam will sometimes ask you to acknowledge its downsides. There are two worth knowing.
The first is that Deployment Manager is Google Cloud only. It is not designed for multi-cloud setups, and the configurations do not transfer to AWS or Azure. If a scenario involves a multi-cloud strategy, or hints at a possible future migration to another provider, that is a signal to consider a tool like Terraform instead.
The second is the learning curve. Deployment Manager is proprietary to Google Cloud, not open-source, so a team that already knows Terraform or Ansible has to learn a new syntax and a new toolchain. That can slow adoption, especially for organizations that already have IaC expertise on a different tool.
For the Professional Cloud Architect exam, the pattern to internalize is this. Deployment Manager is the right answer when the scenario emphasizes Google Cloud automation speed or environment replication, and the wrong answer when the scenario emphasizes multi-cloud portability or a team that is already invested in another IaC tool.
My Professional Cloud Architect course covers Cloud Deployment Manager and Infrastructure as Code alongside the rest of the containers and serverless material.