Features
- auto load balancing & auto scaling
- managed platform updates
- application health monitoring
- application versioning
- traffic splitting
Compute Engine vs App Engine compute E = IAAS app E = Paas, serverless
Environments
- standard - language specific sandbox
- v1 - java python php go (old versions)
- python & php -> restricted network access + restricted libs
- v2 - java, python, php, node, ruby, go (newer versions)
- v1 - java python php go (old versions)
- flexible - docker containers
- uses compute engine VMs
- access to background processes
- attach local disks
Component Hierarchy Application: 1 per project Service: 1 per micro-service
- (eg. backend & frontend)
- each service has settings
- aka “modules”
Version: code + config Instance:
- run multiple versions
- split traffic
- rollback
Scaling A) Automatic - based on load
- recommended: continuous workloads
- triggers
- CPU threshold
- Throughput threshold
- max concurrent requests
- config: max & min instances
B) Basic - scales down to 0
- recommended: ad hoc workloads
- cold start possible
- only app engine env standard (not flexible env aka docker)
- config
- max instances
- idle timeout
C) Manual
- configure how many instances
- manually change how many instances