Non-italicised points represent notes taken from Google’s official case study documentation, with keywords highlighted in bold. Points in italics represent additional insights and possible solutions.

Company Overview

  • Community application
  • Event planning, organizing sporting events, businesses to connect with local communities
  • Initial launch in Dallas—growing into global phenomenon
    • Global and multi-regional resources

Executive Statement

  • Go global—communities to span global regions
  • Desire rapid growth
    • PaaS, managed services

Solution Concept

  • Expand existing service
    • Update functionality
    • New locations
  • Hire/train new teams to support each location in local timezone
  • Ensure:

Existing Technical Environment

  • Mixture of on-prem and Google Cloud infrastructure
  • Team understands app, but limited experience of globally scaled apps
    • Prefer managed solutions
  • APIs run on Compute Engine instances
  • State stored in single MySQL instance in Google Cloud
  • Release cycles—dev freezes during QA testing
    • Require separate dev, QA and prod environments
    • CI/CD process with automated testing
  • No consistent logging
  • Deployments manual by infrastructure engineers during quiet periods
  • Basic SLIs—uptime alerts fired when APIs unresponsive

Business Requirements

  • Expand to new locations—consistent experience
  • Support 10x as many concurrent users
    • Autoscaling: MIGs
  • Collect user metrics—monetize product
  • Ensure regulatory compliance (e.g. GDPR)
  • Reduce infrastructure management time and cost
    • IaC, e.g. Terraform
    • Migrate on-prem to Google Cloud
  • Adopt Google best practices:
    • Workflows/process—application lifecycle management
      • Agile, CI/CD, canary deployments
    • Define SLIs and SLOs

Technical Requirements

Potential Solution Design

hiplocal_case_study

References


Graph View