Design and Process Workbook
1a. Defining Your Case Study
Come up with a case study. Then fill in the next slide.
Examples:
● Online Banking Portal
● Ride sharing application (like Uber)
● Online shopping site
● Something else...
1b. Language online platform learning
Brief description:
List a few main features:
List roles of typical users:
2a. Writing User Personas
Create two user personas that describe typical users of your application. Add a new
slide for each persona.
Example persona:
Jocelyn is a busy working mom who wants to access MegaCorp Bank to check her
account balances and make sure that there are enough funds to pay for her kids' music
and sport lessons. She also uses the web site to automate payment of bills and see her
credit account balances. Jocelyn wants to save time and money, and she wants a credit
card that gives her cash back.
2b. Writing User Stories
Create three user stories for the roles you defined earlier.
Create a new slide for each user story.
Example user story:
Balance Inquiry
As a checking account holder, I want to check my available balance at any time of
day, so that I am sure not to overdraw my account.
3. Defining SLIs and SLOs
Based on requirements of your case study, fill in the table below with SLOs and SLIs.
User Story SLO SLI
Balance Available 99.95% Fraction of 200 vs 500 HTTP responses from API
Inquiry endpoint measured per day
Balance 95% of requests will complete Time to last byte GET requests measured every 10
Inquiry in under 300 ms. seconds aggregated per minute
4. Design Microservices for Your Application
Draw a diagram showing your application's microservices and their connections.
Accounts
Service
Products
Service
Web Accounts
UI Database
Customer
Reporting
Service
Analytics Service
Mobile
UI Service
Customer
Database
Auth Data
Service Warehouse
5. Designing REST APIs
Fill in the table with your services and their resources and operations.
Service name Collections Methods
Account Service transactions list
deposit
withdraw
transfer
6. Defining Storage Characteristics
Fill in the worksheet of required storage features.
Service Structured or SQL or NoSQL Strong or Amount of Data Read only or
Unstructured Eventual (MB, GB, TB, Read/Write
Consistency PB, ExB)
Account Service Structured SQL Strong GB Read/Write
7. Choosing Google Cloud Storage and Data Services
Choose the Google Cloud storage products for each service.
Service
Persistent Cloud Cloud Firestore Cloud Cloud BigQuery
Disk Storage SQL Bigtable Spanner
Account X
Service
8a. Defining Network Characteristics for Your Services
Fill in the worksheet of required network features.
Service Internet facing HTTP TCP UDP Multiregional?
or Internal only
account Internal only Yes No
8b. Select the Load Balancers for Your Services
Choose the Google Cloud load balancer products for each service.
Cloud
Service
HTTP TCP UDP
Account X
9. Diagramming Your Network
Draw a diagram that depicts how your services will communicate over the network. Include
regions, zones, load balancers, CDN, and DNS if applicable.
Products Accounts
Service Service
Products Accounts
Database Database
UI
HTTPS
Global HTTP
Load Balancer Customer
Service
Auth Customer
Database
Service
Third-Party VPC
10. Designing Reliable, Scalable Applications
Even if some service is down, we want the web frontend of our application to be available nearly all the
time. We also want the website to be fast with very low latency to users all over the world. Draw a diagram
that depicts how we can achieve this using Google Cloud services.
us-east-1 us-central-1
us-central1
us-central1-a
us-central1-a
Orders Cloud Inventory Analytics
UI Service SQL Service Service BigQuery
HTTPS us-central1-b
TCP Load
HTTP Balancer
Orders Inventory
Global Load us-central1-b Failover Firestore
Service Service
Balancer
UI
Multi-regional Cloud Storage bucket for backups
11a. Disaster Recovery Scenario
You've deployed for high availability by replicating resources in multiple zones. However, to
meet regulatory requirements, you need a plan to recover from a disaster that brings down the
entire region. The current architecture is depicted below. On the next slide, create a plan to
bring up your application in another region if your main region is down.
us-central-1
us-central1-a
Orders Cloud Inventory Analytics
Service SQL Service Service BigQuery
us-central1-b
TCP Load
Balancer
Accounts Products
Service Failover Service Firestore
11b. Service Disaster Recovery Scenarios
Write a high-level list of possible scenarios.
Service Scenario Recovery Point Recovery Time Priority
Objective Objective
Ratings Service Programmer deleted 24 hours 1 hour Med
all ratings
accidentally
Orders Service Orders database 0 (can’t lose any 2 minutes High
crashes data)
11c. Resource Disaster Recovery Plans
For each scenario, fill in the table.
Resource Backup Strategy Backup Location Recovery Procedure
Ratings Database Daily automated backups Multi-Regional Cloud Run Restore Script
Storage Bucket
Orders Database Failover replica plus Multi-zone deployment Automated
daily backups
12. Modeling Secure Google Cloud Services
Draw a diagram that depicts how you will secure your services. Include firewalls, IAM
roles, service accounts and network resources as appropriate.
Custom VPC
Cloud Armor Block Firewall Rules:
blacklisted IPs
Allow HTTPS from [Link]/0
Allow SSH from known sources
Subnets:
HTTPS
HTTP us-central1
Global Load us-east1
Balancer
13. Cost Estimating and Planning
Use the pricing calculator to determine the cost of your microservices.
Service name Google Cloud Resource Cost
Accounts Cloud SQL $574.71/month