Choosing Compute Options
Choosing Compute Options
Options in GCP
Where to run your application
Imre Nagi
Cloud Platform Engineer, Gojek
Cloud Google Developer Expert
@imrenagi
https://imrenagi.com
Credits to:
Brian Dorsey - Where Should I Run My Stuff? Choosing Compute Options
Where I should run my application?
It depends..
Web & mobile backends
Event driven
Your code
Web applications
events/web + containers
Your container
Containerized applications
Existing systems
Too much options?
Cloud Functions
Serverless
● Fully managed execution environment
● Pay only for what you use
● Autoscales with usage
What do you think about?
Events
Function definitions
Demo
App Engine
No patches/updates
Versioning
Traffic splitting
HTTP Request
Versions
Good fit? Constraints?
Good fit Constraints
Lightweight
Isolated
Easily deployable
Composable
SSL termination
Pay only for actual CPU & memory used @ 100ms granularity
What do you think about?
Code in a container image
Container contract:
● compute nodes
● software updates
● cluster autoscaling
What do you think about?
Logical infrastructure
● What programs?
● How are they connected?
● Where do they store state?
Demo
Good fit? Constraints?
Good fit Constraints
Per VM max:
● 224 vCPUs, 1,792 GB of RAM, 64 TB of disk, 8 GPUs, TPUs
○ Independently configurable, including disk!
Local SSD
● Lowest latency
● 375 GB per disk (up to 8)
● Tied to VM lifecycle
What do you think about?
Your software
Your code
Web applications
events/web + containers
Your container
Containerized applications
Existing systems
Found a good fit already?
Abstraction Technical Team &
level Requirements Organization
Events
Abstraction Function definitions
Code
HTTP Requests
Usage / Resources
Resources
Resources
Team is mostly dev focused
New project
Existing /
Migration
Credits to:
Brian Dorsey - Where Should I Run My Stuff? Choosing Compute Options
Thanks!