Architecting with Google Cloud Platform: Design and Process

(2 days)


Learn efficient patterns for creating, deploying, and managing applications

This class equips students to build highly reliable and efficient solutions on Google Cloud Platform, using proven design patterns and the principles of Google Site Reliability Engineering (SRE). It is a continuation of the Architecting with Google Cloud Platform: Infrastructure course and assumes hands-on experience with the technologies covered in that course.

Through a combination of presentations, demos, and hands-on labs, participants learn to design GCP deployments that are highly reliable and secure; and how to operate GCP deployments in a highly available and cost-effective manner.


This course teaches participants the following skills:

  • Design for high availability, scalability, and maintainability
  • Assess tradeoffs and make sound choices among Google Cloud Platform products
  • Integrate on-premises and cloud resources
  • Identify ways to optimize resources and minimize cost
  • Implement processes that minimize downtime, such as monitoring and alarming, unit and integration testing, production resilience testing, and incident post-mortem analysis
  • Implement policies that minimize security risks, such as auditing, separation of duties and least privilege
  • Implement technologies and processes that assure business continuity in the event of a disaster


This class is intended for the following participants:

  • Cloud Solutions Architects, Systems Operations professionals, DevOps Engineers, IT managers
  • Individuals using Google Cloud Platform to create new solutions or to integrate existing systems, application environments, and infrastructure with the Google Cloud Platform


To get the most out of this course, participants should have:

  • Completed Architecting with Google Cloud Platform: Infrastructure or equivalent experience
  • Basic proficiency with command-line tools and Linux operating system environments

Course Outline


Module 1: Defining the Service

  • Microservices architecture
  • Twelve-factor application principles
  • User personas
  • SLOs, SLAs, and key performance indicators

Module 2: Design Patterns for Business-Logic Layers

  • Mapping compute needs to Google Cloud Platform services
  • Designing for separation of control plane and data plane
  • Configuring networks for compute nodes

Module 3: Design Patterns for Data Layers

  • Classifying and characterizing application data
  • Mapping storage needs to Google Cloud Platform services
  • Design for scalability and resilience
  • Identifying and meeting data encryption needs
  • Planning for data retention and lifecycle management

Module 4: Design Patterns for Networks

  • Translating latency and throughput requirements to design elements
  • Mapping load-balancing needs to Google Cloud Platform services
  • Designing for integration with on-premises and multi-cloud environments

Module 5: Design Patterns for Scalability, Resiliency, and Disaster Recovery

  • Designing for availability
  • Planning for business continuity
  • Designing reliable backup regimens

Module 6: Design Patterns for Security

  • Firewalls and access controls
  • Attack shielding
  • Sharing and isolation
  • Data encryption and key management
  • Designing for separation of duties and least privilege
  • Designing for auditing and compliance

Module 7: Cost Optimization and Capacity Planning

  • Forecasting growth
  • Understanding compute, storage, and network costs

Module 8: Deployment and Monitoring

  • Elastic deployment methodologies
  • Designing and implementing monitoring regimens using Stackdriver

Module 9: Alerting and Incident Response

  • Designing and implementing alerting regimens
  • Defining change management and decision-making processes
  • Supporting operational troubleshooting
  • Developing tooling for incident response