Google App Engine provides various developer tools and services to build cloud applications easily. These include Cloud Logging for viewing logs, Cloud Debugging for debugging applications, and Cloud Monitoring for integrating with monitoring systems. It also provides security scanning. Developers can use modules and managed virtual machines on App Engine to build applications. Common runtimes on managed VMs include Node.js, Python, Java, and Go. Local testing and deployment to the cloud is simplified.
20. ● Frontend instance (not App Engine Front End)
○ Dynamically created and deleted = low cost
○ Enforce fast response and stateless design
○ Suitable for processing short-lived requests
● Backend instance
○ Statically created and deleted = higher cost
○ No limit for response time, supports stateful design
○ Suitable for batch processing
Frontend Instance vs. Backend Instance
26. From: https://cloud.google.com/appengine/docs/managed-vms/#standard_runtimes
Feature Standard Runtime Custom Runtime
Dockerfile Default file supplied automatically by the SDK Hand-written by the developer
Dockerfile
modifications
permitted
Yes Yes
Languages Python, Java, and Go Any software that can service HTTP requests
Configuration file Python and Go modules use app.yaml, Java modules use
WAR and appengine-web.xml
app.yaml
Start/Stop Request Requests are handled automatically by default. You may
optionally write your own handlers.
Your app will receive these requests but does not need to
respond to them. You may optionally write your own handlers.
Health Checking Requests are handled automatically by default. You may
optionally write your own handlers.
You must write your own handlers or disable health checks.
App Engine
Service APIs
Some API support is baked in. Read thePython, Java, or
Go page for each runtime.
You must use the publicly available REST APIs for cloud
services.
37. gcloud deploy
gcloud build
Your awesome
docker images
your laptop
Google App
Engine
Your awesome
docker images
docker container
private Google
Cloud Storage
bucket
update start
Google Compute
Engine Instance
using
google/docker-registry
container
docker run
using
google/docker-registry
container
docker push
docker pull
Behind the scenes
38. Example - Nginx
Step 1:
git clone https://github.com/GoogleCloudPlatform/appengine-nginx-hello
Step 2:
FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
COPY ok /usr/share/nginx/www/_ah/start
COPY ok /usr/share/nginx/www/_ah/health
ADD www/ /usr/share/nginx/www/
From: https://github.com/GoogleCloudPlatform/appengine-nginx-hello
48. PhantomJS is a easy module for create
screenshot, please reference the link:
“http://phantomjs.org/screen-capture.html”
to create a url screenshot api and deploy to
Google App Engine Managed VM