Leveraging Architectural Design Patterns on the Google Cloud

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.
Course info
Level
Advanced
Updated
Jan 10, 2019
Duration
2h 31m
Table of contents
Course Overview
Understanding Classic Architectural Patterns on the GCP
Leveraging Container-based Pipelines on the GCP
Designing Network Architectures on the GCP
Description
Course info
Level
Advanced
Updated
Jan 10, 2019
Duration
2h 31m
Description

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.

About the author
About the author

A problem solver at heart, Janani has a Masters degree from Stanford and worked for 7+ years at Google. She was one of the original engineers on Google Docs and holds 4 patents for its real-time collaborative editing framework.

More from the author
Building Features from Image Data
Advanced
2h 10m
Aug 13, 2019
Designing a Machine Learning Model
Intermediate
3h 25m
Aug 13, 2019
More courses by Janani Ravi
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi. My name is Janani Ravi, and welcome to this course on Leveraging Architectural Design Patterns on the Google Cloud. A little about myself. I have a Masters degree in Electrical Engineering from Stanford and have worked at companies such as Microsoft, Google, and Flipkart. At Google, I was one of the first engineers working on real-time collaborative editing in Google Docs, and I hold four patents for its underlying technologies. I currently work on my own startup, Loonycorn, a studio for high-quality video content. In this course, you will learn how the different code 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. Here you will explore, in a hands-on manner, how load balancers on the GCP can be used connect users for client application with a backend service that implements autoscaling and autohealing. Next, you will learn how to pull together Jenkins, Cloud Source Repositories, and the Google Container Registry to orchestrate a continuous integration/ continuous delivery pipeline. This involves, first, creating a Kubernetes cluster and installing the Jenkins open course automation software. You will deploy code from your master branch in Cloud Source Repositories to your production environment and also work with canary releases of your application. The beauty of this application is that your developers can now check-in their code, and the CI/CD pipeline will automatically build that code, create build artifacts in the form of Docker containers, place these containers in the Container Registry. From there, they are picked up by Jenkins and deployed right into production on your Kubernetes cluster. 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 touchpoints within a VPC network. Then you will explore the use of multiple network interfaces to station a single instance at the intersection of several different networks. When this course is complete, you will be very comfortable identifying the important decisions that a cloud architect depends on and will have the skills and knowledge to use complex architectural design patterns that have been put to proven use by others.