Docker on Google App Engine
Ekaterina Volkova
Software Engineer
Bridging the worlds of application hosting and
developer tooling
Turn-key deployment Automatic health
checking, monitoring,
logging, and scaling
A complete local
development
environment
Deep integration
with core services
Google App Engine
+ = ?
+ =
Managed
VMs
minutes!
Deploy a more complex app that really does something
1
2
Deploy a simple app, look at the tools App Engine provides
In this talk, we will
Look at Local Development experience3
Google Compute
Engine Instance
Dockerfile
app.yaml
All you need
Google App Engine dockerd
Docker
Container
Your app
Dockerfile
FROM debian:wheezy
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get -q update ; apt-get -y -q --no-install-recommends
install python2.7 python-pip
RUN pip install Flask
EXPOSE 8080
ADD . /app
ENTRYPOINT ["/usr/bin/python2.7", "/app/app.py"]
app.yaml
application: gloomy-vms-prod
module: python-flask
version: hello-world
runtime: custom
api_version: 1
threadsafe: on
vm: true
manual_scaling:
instances: 1
handlers:
- url: /.*
script: main.app
gcloud app deploy <path/to/your/context>
Demo
Behind the scenes
docker build
using
google/docker-registry
container
Google Compute Engine
instance
your laptop
docker run
gcloud deploy startupdate
using
google/docker-registry
container
private
Google Cloud
Storage
bucket
Google App
Engine
Your awesome
docker image
Your awesome
docker image
docker container
docker push
docker pull
Let’s try something more real!
https://index.docker.io/u/google/mysql/
Dockerfile
FROM google/mysql
Demo
App Engine APIs
Storage: Cloud Datastore, Cloud SQL, Cloud Storage
Memcache
Task Queue
Cloud Endpoints
Find more! https://cloud.google.com/products/app-engine/
App Engine APIs in your Docker container!
Dockerfile
FROM google/appengine-python27
app.yaml
runtime: <python27|java|go>
App Engine Local Development
gcloud app run <path/to/your/context>
Demo
App Engine for Docker
Simple to manage
Private Registry Bucket
APIs and SDK
Loadbalancing
Autoscaling is coming!
Docker for App Engine
Use any library
Run any code
Transparency
New Runtimes, build your own!
registry.hub.docker.com
+
We are in limited preview!
developers.google.com/cloud/managed-vms

Docker on Google App Engine

  • 1.
    Docker on GoogleApp Engine Ekaterina Volkova Software Engineer Bridging the worlds of application hosting and developer tooling
  • 2.
    Turn-key deployment Automatichealth checking, monitoring, logging, and scaling A complete local development environment Deep integration with core services Google App Engine
  • 3.
  • 4.
  • 5.
  • 6.
    Deploy a morecomplex app that really does something 1 2 Deploy a simple app, look at the tools App Engine provides In this talk, we will Look at Local Development experience3
  • 7.
    Google Compute Engine Instance Dockerfile app.yaml Allyou need Google App Engine dockerd Docker Container Your app
  • 8.
    Dockerfile FROM debian:wheezy ENV DEBIAN_FRONTENDnoninteractive RUN apt-get -q update ; apt-get -y -q --no-install-recommends install python2.7 python-pip RUN pip install Flask EXPOSE 8080 ADD . /app ENTRYPOINT ["/usr/bin/python2.7", "/app/app.py"]
  • 9.
    app.yaml application: gloomy-vms-prod module: python-flask version:hello-world runtime: custom api_version: 1 threadsafe: on vm: true manual_scaling: instances: 1 handlers: - url: /.* script: main.app
  • 10.
    gcloud app deploy<path/to/your/context>
  • 11.
  • 12.
    Behind the scenes dockerbuild using google/docker-registry container Google Compute Engine instance your laptop docker run gcloud deploy startupdate using google/docker-registry container private Google Cloud Storage bucket Google App Engine Your awesome docker image Your awesome docker image docker container docker push docker pull
  • 13.
    Let’s try somethingmore real! https://index.docker.io/u/google/mysql/ Dockerfile FROM google/mysql
  • 14.
  • 15.
    App Engine APIs Storage:Cloud Datastore, Cloud SQL, Cloud Storage Memcache Task Queue Cloud Endpoints Find more! https://cloud.google.com/products/app-engine/
  • 16.
    App Engine APIsin your Docker container! Dockerfile FROM google/appengine-python27 app.yaml runtime: <python27|java|go>
  • 17.
    App Engine LocalDevelopment gcloud app run <path/to/your/context>
  • 18.
  • 19.
    App Engine forDocker Simple to manage Private Registry Bucket APIs and SDK Loadbalancing Autoscaling is coming! Docker for App Engine Use any library Run any code Transparency New Runtimes, build your own! registry.hub.docker.com +
  • 20.
    We are inlimited preview! developers.google.com/cloud/managed-vms