Google App Engine Flashcards
How many App Engine applications can be hosted per project?
Only one per project. Versions are served to the End User based on the network traffic configuration, making rollouts and roll backs easy.
How are applications deployed?
Applications are deployed regionally making it highly available across zones in that region but also needs to be in the same regions as the resources you are using.
How do you deploy an App Engine instance?
Define an app.yaml, then develop the nessasary code for the application. Then use “gcloud app deploy” command to deploy it to app engine.
App Engine Standard
Uses containers running in GCP standardize for each available execution enviornment, and traffic to your application is distributed via load balancing. Sometimes considered a sandbox for developers.
What execution enviornments are included in App Engine Standard?
Python 2.7 and 3.7, Java 8 and 11, Node.js 8 and 10, PHP 5.5/7.2/7.3, and Go 1.9/1.11/1.12
App Engine Flexible
Uses GCE virtual machine instances, autoscales and uses load balancing but always requires at least a single instance to run. Starting an instance can also take minutes rather than seconds. Instances are restored on a weekly basis to apply nessasary patches.
What execution enviornments are included in App Engine Flexible?
Java 8, Python 2.7/3.6, Node.js, Ruby, PHP 5.6/7.0/7.1/7.2, .NET core, Go 1.9/1.10/1.11, or custom options
What does it mean to Split Traffic?
Where you can decide what percentage of traffic goes to which version of an application before fully deploying to a new version. Used to test before full deployment.
What are the default firewall rules for App Engine?
Allows traffic from all IP ranges and allows it to be lowest priority (evaluated after any rules you create)
Custom Domain
A custom domain can be created for your appplication by inputing one you already have or by registering a new one through the Google Domains service (does come with additional cost)
SSL Certificates
GCP offers globally distributed SSL endpoints so that you can serve your application users, but a custom domain has a managed SSL certificate by default that is provisioned and renewed automatically. If you remove the custom domain the certificate is automatically revoked. If you use your own certificate, you must also manage it.
Manual Scaling
App scaling can be set where you specify the number of running instances no matter the load. SInce instances keep the memory state, it can be used for applications that depend on it.
Automatic Scaling
The number of instances that will run depends on the request rate, response latency, and other application metrics. It also allows you to specify a number of instances that should always run independantly of the load.
Basic Scaling
An instance is created when a request is recieved by the application and shuts down when app is idle. Great for apps driven by user activity.
Cron Jobs
A scheduled task that runs a defined time or regular intervals. Uses include admin tasks that need to reoccur. Configured differently based on the language and are defined in cron.yaml. Alternative to using Compute Engine with native third-party tools.