0% found this document useful (0 votes)
84 views

Workbook - Design & Process

The document discusses migrating an internal mining application called MineMap to the cloud. MineMap is used by 10,000 employees globally to track metrics for each mine. The migration aims to improve performance for users in India and Australia while minimizing costs. Key requirements include high availability, scalability, and optimizing performance across locations. Various design aspects are covered such as user personas, APIs, storage, networking, and diagrams.

Uploaded by

rahul koul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
84 views

Workbook - Design & Process

The document discusses migrating an internal mining application called MineMap to the cloud. MineMap is used by 10,000 employees globally to track metrics for each mine. The migration aims to improve performance for users in India and Australia while minimizing costs. Key requirements include high availability, scalability, and optimizing performance across locations. Various design aspects are covered such as user personas, APIs, storage, networking, and diagrams.

Uploaded by

rahul koul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 29

Proprietary + Confidential

Google Cloud
Architect Design and
Process Workbook
Proprietary + Confidential

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...
Proprietary + Confidential

1b. [Case Study Name


Here]
Brief description:
We have just kicked off a project with one of our clients, Mine-IT, in the mining industry. The first phase of our project will be to migrate one of their internal applications, MineMap, to the cloud. MineMap was developed internally to track metrics for each mine operated by the
Client and has grown to play a critical role in day-to-day operations. Approximately 10,000 of Mine IT's employees across the world are using MineMap at any given time.
 
Currently, Mine-IT has a single datacenter, located in the United States, out of which it runs MineMap. This has resulted in frustratingly poor performance for the two thirds of Mine-It's employees that live in India and Australia.
 
As part of this migration, Mine-IT would like suggestions for improving performance for these employees, while minimizing costs. They have noted that 99% of users only require access to the data related to mines in their country. And most users are online between 7am and
7pm, in local time.
 
MineMap is composed of the following microservices:
● mm-frontend: a stateless web application that serves the Web UI for users
● mm-backend: a stateless api server that stores session state in mm-redis and application state in mm-db
● mm-redis: a redis instance used by mm-backend for caching
● mm-db: a relational database used by mm-backend to store state
 
Mine-IT has also spent significant investment into securing and hardening their on-premise and corporate n

List a few main features:


• Global availability
• Highly Scalable
• Cost affective
• Performance Optimization for all locations
• Security

List roles of typical users:


• IT users who need to access MineMap application
Proprietary + Confidential

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.
Proprietary + Confidential

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.
Proprietary + Confidential

3. Defining SLIs and


SLOs
Based on the requirements of your case study, fill in the table on the next slide with SLOs and SLIs
as shown in the example below.

User story SLO SLI


Balance Inquiry Available 99.95% Fraction of 200 vs 500 HTTP responses
from API endpoint measured per day
Balance Inquiry 95% of requests complete in under 300 ms Time to last byte GET requests
measured every 10 seconds aggregated
per minute
Proprietary + Confidential

3. Defining SLIs and


SLOs
Based on the requirements of your case study, fill in the table below with SLOs and SLIs.

User story SLO SLI


Proprietary + Confidential

4. MineMap Application
Diagram showing Minemaps microservices and their connections.

MM-
Frontend

Web
Users
UI

MM- MM-
Backend Redis

Auth
Service MM - DB
Proprietary + Confidential

5. Designing REST
APIs
Fill in the table on the next slide with your services and their resources and operations as shown in
the example below.

Service name Collections Methods


Mine Service Locations List
Add
Delete
Proprietary + Confidential

6. Defining storage characteristics


On the next slide fill in the required storage features. Below is an example.

Strong or Amount of
Structured or Read only
Service SQL or NoSQL Eventual Data (MB,
or
Consistency GB, TB, PB,
Unstructured Read/Write
ExB)
MM-DB Structured SQL Strong TB Read/Write
Proprietary + Confidential

7. Choosing Google Cloud Storage and Data


Services
On the next slide choose the Google Cloud storage products for each service.
Below is an example.

Service
Persistent Cloud Cloud Disk Firestore Cloud Cloud BigQuery
Storage SQL Bigtable Spanner

Account
X
Service
Proprietary + Confidential

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

MM –DB X X
Proprietary + Confidential

8a. Defining network characteristics for your


services
On the next slide fill in the required network features. Below is an example.

Internet facing
Service HTTP TCP UDP Multiregional?
or Internal
only
Minemap Internal only X Yes
Proprietary + Confidential

8b. Select the load balancers for your


services
.

Service
HTTP TCP UDP

mm-Frontend X
mm-backend X
Proprietary + Confidential

9. Diagramming your network


On the next slide draw a diagram that depicts how your services will communicate over the network.
Include regions, zones, load balancers, CDN, and DNS if applicable. Below is an example.

Mm-redis
Mm-
backend

mm-frontend
HTTPS
Global HTTP
Load Balancer

Auth
Mm -DB
Service

Third-Party VPC
Proprietary + Confidential

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.
Proprietary + Confidential

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. On the next
slide, draw a diagram that depicts how we can achieve this using Google Cloud services. Below is an
example.
us-east-1 us-central-1

us-central1 us-central1-a

us-central1-a Orders Cloud Inventory Analytics BigQuery


SQL Service Service
UI Service

HTTPS
TCP Load us-central1-b
HTTP Global Balancer
us-central1-b
Load Balancer Orders Inventory Firestore
Failove
UI Service
r
Service

Multi-regional Cloud Storage bucket for backups


Proprietary + Confidential

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.
Proprietary + Confidential

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. Below is an example.

us-central-1

us-central1-a

Orders Cloud Inventory Analytics BigQuery


SQL Service Service
Service

TCP Load us-central1-b


Balancer
Accounts Products Firestore
Failove
Service Service
r
Proprietary + Confidential

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 on the previous slide. Create a plan to bring up your application in
another region if your main region is down.
Proprietary + Confidential

11b. Service disaster recovery scenarios


Write a high-level list of possible scenarios on the next slide. Below is an example.

Recovery Recovery
Service Scenario Priority
Point Time
Objective Objective
Ratings Service Programmer deleted 24 hours 1 hour Med
all ratings
accidentally

Orders Service Orders 0 (can’t lose any 2 minutes High


database data)
crashes
Proprietary + Confidential

11b. Service disaster recovery scenarios


Write a high-level list of possible scenarios.

Service Scenario
Recovery Point Recovery Time Priority
Objective

Objective
Proprietary + Confidential

11c. Resource disaster recovery plans


For each scenario, fill in the table on the next slide. Below is an example.

Resource Backup Strategy Backup Location Recovery Procedure

Ratings Database Daily automated backups Multi-Regional Run Restore Script


Cloud Storage
Bucket
Orders Database Failover replica plus Multi-zone deployment Automated
daily backups
Proprietary + Confidential

11c. Resource disaster recovery plans


For each scenario, fill in the table.

Resource Backup Strategy Backup Location Recovery Procedure


Proprietary + Confidential

12. Modeling secure Google Cloud


services
Draw a diagram on the next slide that depicts how you will secure your services. Include firewalls, IAM
roles, service accounts and network resources as appropriate. Below is an example.

Custom VPC

Google Cloud Armor Block Firewall Rules:


denied IPs Allow HTTPS from 0.0.0.0/0
Allow SSH from known sources

HTTPS
Subnets:
HTTP us-central1
Global Load Balancer us-east1
Proprietary + Confidential

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.
Proprietary + Confidential

13. Cost estimating and planning


Use the pricing calculator to determine and record on the next slide the cost of your microservices.
Below is an example.

Service name Google Cloud Resource Cost

Accounts Cloud SQL $574.71/month


Proprietary + Confidential

13. Cost estimating and planning


Use the pricing calculator to determine and record the cost of your microservices.

Service name Google Cloud Resource Cost

You might also like