App Engine Flashcards
App Engine Environment
1) Standard
2) Flexible
Standard App Engine
Application running in specific language
supported such as Go, Python, Java, Node.js, Ruby, .NET
Flexible App Engine
Running using docker containers
Support any language runtime and can access to local disks
App Engine component
1) Application
2) Service
3) Version
Services
An application can have multiple microservices and different settings
Application
A project can only have one application in a single region
Version
Version can run in multiple instances and have options for rolling back updates and splitting traffic between the versions
App Engine features(4)
1) Auto load balancing
2) Auto scaling
3) Application versioning
4) Traffic splitting between versions
Autoscaling options for standard environment
1) Auto
2) Manual
3) Basic
Autoscaling options for flexible environment
1) Auto
2) Manual
Automatic scaling
1) Suitable for continuous running workloads
2) Scale based on CPU utilization, throughput utilization and max concurrent request
3) Need to configure max and min number of instances
Manual scaling
Adjust specific number of instances over period of time
Basic scaling
Instance are created when request are received
Recommended for adhoc workloads
Not supported for flexible environment
Command to set configuration to the project
gcloud config set project
Command to deploy app engine application
gcloud app deploy
Command to list services that has been deployed
gcloud app services list
Command to deploy new version of app engine
gloud app deploy –version=v2
Command to deploy new version of app engine without diverting traffic to new version
gcloud app deploy –version=v2 –no-promote
Command to deploy new version of app engine with all traffic to new version
gcloud app deploy –version=v2 –promote
Command to deploy new version of app engine by splitting traffic to new version and old version
gcloud app services set-traffic –splits=v2=.5,v3=.5
Request routing
1) via URL
2) Dispatch file using yaml file
3) Cloud Load Balancer
Command to deploy new version of app engine by gradually migrating traffic to new version
gcloud app services set-traffic –splits=v2=1 –migrate
Ways to splitting the traffic
1) IP
2) Cookie : based on GOOGAPPUID
3) Random