Course Summary
Start course


NOTICE: This course is outdated and has been deprecated


Modern software systems have become increasingly complex. Cloud platforms have helped tame some of the complexity by providing both managed and unmanaged services. So it’s no surprise that companies have shifted workloads to cloud platforms. As cloud platforms continue to grow, knowing when and how to use these services is important for developers. 

This course is intended to help prepare individuals seeking to pass the Google Cloud Professional Cloud Developer Certification Exam. The Cloud Developer Certification requires a working knowledge of building cloud-native systems on GCP. That covers a wide variety of topics, from designing distributed systems to debugging apps with Stackdriver. 

This course focuses on the third section of the exam overview, more specifically the first five points, which cover deploying applications using GCP compute services.

Learning Objectives

  • Implement appropriate deployment strategies based on the target compute environment
  • Deploy applications and services on Compute Engine and Google Kubernetes Engine
  • Deploy an application to App Engine
  • Deploy a Cloud Function

Intended Audience

  • IT professionals who want to become cloud-native developers
  • IT professionals preparing for Google’s Professional Cloud Developer Exam


  • Software development experience
  • Docker experience
  • Kubernetes experience
  • GCP experience



Hello, and welcome. In this lesson, we'll summarize some of the high points for you to remember before taking the exam. Understanding the different conceptual deployment models helps to recognize when we see them in practice, which means when you learn that Compute Engine can perform rolling updates, you also know that implies that it's probably going to be able to do canary and A/B deployments. Understanding blue/green deployments means that when you see App Engine with its ability to migrate traffic, we see the potential to deploy a new version without promoting it, testing that version, and cutting over to it when we're ready. Be comfortable with the different types of deployments before taking the exam. 

Looking at the documentation makes it clear that Google favors managed instance groups as its preferred instance management method, which makes sense. Managed instance groups support the most functionality: they can create instances dynamically based on immutable templates, they can dynamically manage instance creation with autoscaling and health checks, as well as being supported by all of the load balancers. So be comfortable with managed instance groups before taking the exam. Kubernetes has consumed a fair amount of the container orchestration space, and Google seems invested in ensuring that it stays that way. They're putting a lot of development effort into their container management ecosystem, including Kubernetes, and they want to make sure that certified engineers understand it. 

If you don't work with Kubernetes regularly, I recommend investing the effort into a Kubernetes course, as well as plenty of hands-on experience. Use kubectl, deploy some applications, practice debugging them, really get to know how it is that you'd identify problems in a production application, diagnose application crashes, monitor the cluster, etc. So be comfortable with Kubernetes and kubectl before taking the exam. App Engine's versioning supports traffic splitting and migration. It allows for canary, A/B and blue/green deployments. And it's worth taking the time to deploy an actual app. Recall that standard and flexible environments are different in many ways. Standard environments, such as the Python 2.7 runtime have built-in functionalities such as memcache that doesn't exist in all environments, which means there are aspects of App Engine that are specific to different runtimes. So be comfortable with the different possible application deployment methods on App Engine, and test out actually deploying and using some of the built-in services such as memcache. Cloud functions are fully managed execution environments that can execute code in response to events. HTTP functions are triggered through a URL. Background functions are executed in response to infrastructure events. I recommend being comfortable with deploying functions before taking the exam. With that said, that's going to wrap up this course. I hope this has been helpful to you. Thank you so much for watching, and I will see you in another course.

About the Author
Learning Paths

Ben Lambert is a software engineer and was previously the lead author for DevOps and Microsoft Azure training content at Cloud Academy. His courses and learning paths covered Cloud Ecosystem technologies such as DC/OS, configuration management tools, and containers. As a software engineer, Ben’s experience includes building highly available web and mobile apps. When he’s not building software, he’s hiking, camping, or creating video games.