This course covers the core choices around compute, storage and networking, and demonstrates how complex architectures can be assembled relatively easily by putting together the powerful building blocks that the GCP provides. The Google Cloud Platform offers up a very large number of services for every important aspect of public cloud computing. In this course, Leveraging Architectural Design Patterns on the Google Cloud, you will learn how the different core design choices in storage, compute, and networking can be made to assemble complex architectures for specific use cases. First, you will learn specific types of reusable design patterns built using GCP components. These include the use of managed instance groups for infrastructure, cloud functions for event-driven compute, lambda and kappa architectures for big data processing, and BigQuery ML and Cloud ML Engine for machine learning applications. Next, you will explore how to pull together Jenkins, Cloud Source Repositories, and the Google Container Registry to orchestrate a CI/CD pipeline. This involves first creating a cluster and installing Helm (which is the Kubernetes package manager), then deploying your app via a canary release, committing the code into the Cloud Source Repos and finally using Jenkins (which is an automated build server) to push the master branch into production. Finally, you will understand and construct various different networking patterns on the GCP. These include the use of a bastion host, or jump host to restrict the external touch-points within a VPC network. By the end of this course, you will be very comfortable identifying the important decisions that a Cloud Architect depends upon, and will have the skills and knowledge to use complex architectural design patterns that have been put to proven use by others.