Google Cloud – App Engine Standard vs Flexible Environment
Application instances that run in a sandbox, using the runtime environment of a supported language only.
Sandbox restricts what the application can do
only allows the app to use a limited set of binary libraries
app cannot write to disk
limits the CPU and memory options available to the application
Sandbox does not support
Background threads (limited capability)
Using Cloud VPN
Application instances run within Docker containers on Compute Engine virtual machines (VM).
As Flexible environment supports docker it can support custom runtime or source code written in other programming languages.
Allows selection of any Compute Engine machine type for instances so that the application has access to more memory and CPU.
Accessing external services
application can accesses services such as Datastore via the built-in google.appengine APIs.
Google APIs are no longer available.
GCP recommends using the Google Cloud client libraries, which make the application more portable.
Rapid scaling and Zero downscaling is possible, can scale from zero instances up to thousands very quickly.
uses a custom-designed autoscaling algorithm.
must have at least one instance running for each active version and can take longer to scale up in response to traffic.
uses the Compute Engine Autoscaler.
does not use health checks to determine whether or not to send traffic to an instance.
Instances are health-checked, that will be used by the load balancer to determine whether or not to send traffic to an instance and whether or not it should be autohealed.
allows you to choose to route requests to the target version, either immediately or gradually.
only allows immediate traffic migration
Single zone failures
applications are single-zoned and all instances of the application live in a single availability zone
In the event of a zone failure, the application starts new instances in a different zone in the same region and the load balancer routes traffic to the new instances.
Latency spike can be observed due to loading requests and also a Memcache flush.
applications use Regional Managed Instance Groups with instances distributed among multiple availability zones within a region.
In the event of a single zone failure, the load balancer stops routing traffic to that zone.
Deployments are generally faster than deployments in flexible environment.
VM Instance comes up in seconds in case of auto scaling
Instance startup time in minutes rather than seconds when compared to standard environment
Deployment time in minutes rather than seconds when compared to standard environment
GCP Certification Exam Practice Questions
Questions are collected from Internet and the answers are marked as per my knowledge and understanding (which might differ with yours).
GCP services are updated everyday and both the answers and questions might be outdated soon, so research accordingly.
GCP exam questions are not updated to keep up the pace with GCP updates, so even if the underlying feature has changed the question might not be updated
Open to further feedback, discussion and correction.
You’re writing a Python application and want your application to run in a sandboxed managed environment with the ability to scale up in seconds to account for huge spikes in demand. Which service should you host your application on?
App Engine Flexible Environment
App Engine Standard Environment
A Company is planning the migration of their web application to Google App Engine. However, they would still continue to use their on-premises database. How can they setup application?
Setup the application using App Engine Standard environment with Cloud VPN to connect to database
Setup the application using App Engine Flexible environment with Cloud VPN to connect to database
Setup the application using App Engine Standard environment with Cloud Router to connect to database
Setup the application using App Engine Flexible environment with Cloud Router to connect to database