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.
What you'll learn
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.
Table of contents
- Module Overview 1m
- Prerequisites and Course Outline 2m
- Infrastructure Patterns: The Managed Instance Group 4m
- Platform Services Patterns: Cloud Functions 5m
- Big Data Patterns: Lambda and Kappa Architectures 4m
- ML Patterns: BigQuery ML and Cloud ML Engine 4m
- Load Balancing Patterns: HTTPS Load Balancing and Internal Load Balancing 4m
- Provisioning VM Instances for Different Content Types 5m
- Creating Firewall Rules for HTTP and Health Check Traffic 4m
- Creating the Instance Group and Backend Service 5m
- Creating the URL Map Target Proxy and Forwarding Rules 3m
- Reviewing and Testing the Load Balancer 3m
- Module Overview 1m
- Kubernetes in a Hybrid Multi-cloud World 4m
- Jenkins on the GKE 4m
- The Sample Application 2m
- Running CI/CD with Jenkins on the GKE: Steps 3m
- Enabling APIs and Getting Started 5m
- Creating a GKE Cluster 3m
- Installing the Helm Package Manager 3m
- Setting up Jenkins and Connecting to the Admin Console 6m
- Exploring Code and YAML Specification for the Spikey Application 7m
- Deploying the Spikey Application to Canary and Production 5m
- Commiting Code to Cloud Source Repositories 6m
- Automating Production Deployment from the Master Branch Using Jenkins 7m
- Merging Canary Changes to Master and Deploying to Production 7m
- Module Overview 2m
- VPCs and Subnets on the GCP 3m
- Networking Design Patterns 3m
- Creating an Instance and Exploring Firewall Rules 5m
- Installing a Webserver and Setting up a Simple Website 2m
- Restricting Access Using Firewall Rules 3m
- Provisioning a Bastion Host as a Gateway to Your Network 3m
- Multiple Network Interface Cards 2m
- Creating Multiple Networks and Subnets and Configuring Firewall Rules 4m
- Communicating Using VMs with Multiple Network Interfaces 5m
- Shared VPCs 2m
- VPC Network Peering 3m
- VPN with Dynamic Routing 3m
- Summary and Further Study 2m