Google Professional Cloud Developer Exam Prep - Introduction
Google Professional Cloud Developer Exam Prep - Introduction

This introduction to the Google Professional Cloud Developer Exam Preparation learning path gives an overview of the requirements for Google's Professional Cloud Developer exam and how they will be covered.

The five major subject areas are:

  1. Designing highly scalable, available, and reliable cloud-native applications
  2. Building and testing applications
  3. Deploying applications
  4. Integrating Google Cloud Platform services
  5. Managing application performance monitoring

Hello and welcome to our learning path to prepare you for the Google Professional Cloud Developer exam. Even if you're not planning on taking the exam, but you'd like to learn how to develop applications on the Google Cloud Platform, then you're still in the right place.

My name's Guy Hummel, and I'm a Google Certified Professional Cloud Architect and Data Engineer.

The Cloud Developer exam tests your knowledge of five subject areas:

  • Designing highly scalable, available, and reliable cloud-native applications
  • Building and testing applications
  • Deploying applications
  • Integrating Google Cloud Platform services
  • Managing application performance monitoring

These five sections cover an incredibly wide range of topics. For a start, you need to be familiar with nearly all of the services available on Google Cloud Platform. Some examples include compute services, such as virtual machines and container clusters, network services, such as Virtual Private Cloud, and storage services, including not only Cloud Storage but also NoSQL datastores like Cloud Bigtable, relational databases like Cloud SQL, and data warehouses like BigQuery. To help you get an understanding of the suite of services available, this learning path starts with GCP fundamentals.

Once you have that foundation, we'll move on to the first section of the exam, which is about designing for scalability, availability, and reliability. Although GCP services are architected to deliver these characteristics, you need to design your implementations to take advantage of what GCP provides. For example, if you want to ensure that your application will continue to run even if an entire geographic region suffers a catastrophe, then you'll need to distribute your application across multiple regions.

The next section is on building and testing applications. One of the most important topics in this section is how to build a continuous integration pipeline. This includes putting your code in a shared repository, automating the building and testing of that code when new changes are committed to the repository, and creating container images to make it easy to deploy your applications.

After that, we'll move on to the actual deployment of your applications. There are four different compute services where you can deploy your code. The traditional way is to use virtual machines. This gives you full control of your servers, but it requires you to maintain them. These days, it's becoming more common to use containers. Containers don't include the operating system, so they're much easier to manage. Nevertheless, if you have an application that's composed of lots of containers, then you'll need a way to provision, schedule, and manage them. Google's solution is called Google Kubernetes Engine.

Google's services for virtual machines and containers are known as Infrastructure-as-a-Service because you're essentially renting infrastructure in the cloud. Another option, known as Platform-as-a-Service or PaaS, takes care of the underlying infrastructure for you. Google's PaaS offering is called App Engine.

If you want an option that hides as much of the underlying environment as possible, then you can go even further by using Cloud Functions. This is known as a serverless solution because the servers are hidden so well that it doesn't seem like they even exist. With Cloud Functions, you just deploy code and let GCP figure out how to run it.

The next section is on integrating your applications with other GCP Services. For example, you may need to use a messaging service to pass data from one module to another. The best way to do that is to use Cloud Pub/Sub, which allows one module to publish a stream of messages and other modules to subscribe to that stream of messages. Another example is if you need to add an artificial intelligence feature, such as speech recognition, to your app. You can do this easily by integrating one of Google's AI services, such as the Cloud Speech-to-Text service in this case.

The final section is on managing application performance monitoring. GCP has a whole suite of operations tools, formerly known as Stackdriver, for monitoring, logging, debugging, and tracing your applications.

Now if you're ready to learn how to develop applications on the Google Cloud Platform, then let's get started! 

To get to the next course in this learning path, click on the learning path pullout menu on the left side of the page. But please remember to rate this introduction before you go on to the next course. Thanks.

About the Author
Learning Paths

Guy launched his first training website in 1995 and he's been helping people learn IT technologies ever since. He has been a sysadmin, instructor, sales engineer, IT manager, and entrepreneur. In his most recent venture, he founded and led a cloud-based training infrastructure company that provided virtual labs for some of the largest software vendors in the world. Guy’s passion is making complex technology easy to understand. His activities outside of work have included riding an elephant and skydiving (although not at the same time).