GCP App Engine
March 28th, 2023
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)
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
This post was referenced in: