Slide 1

Slide 1 text

Blurring the IaaS/PaaS Divide Google Cloud Platform Developer Roadshow - 2014

Slide 2

Slide 2 text

PaaS IaaS Your code Today: Cloud as a binary choice Your code Flexibility Agility

Slide 3

Slide 3 text

Next Gen Cloud Auto-Managed Open / Flexible Productive Flexibility Management and

Slide 4

Slide 4 text

• Flexibility of Compute Engine • Access to native resources, machine types • Auto-management of App Engine • High Availability • Image updates, security patches • Access to all Managed Services • Collocation with other services • Developer productivity Managed VMs Virtualized hardware Abstracted computing power IaaS Infrastructure-as-a-Service PaaS Platform-as-a-Service Managed VMs

Slide 5

Slide 5 text

Resource View create/ destroy VM VM Replica Pools Replica Pool actuator VM Template image metadata bash cmds Load Balancer 1 template ⇒ many machines

Slide 6

Slide 6 text

Flexibility Agility Google Compute Engine Compute as a spectrum Your Code Manage your infrastructure

Slide 7

Slide 7 text

Manage your infrastructure Flexibility Agility Google Compute Engine Your Code Compute as a spectrum Your Code Replica Pools Provisioning and health checking

Slide 8

Slide 8 text

Manage your infrastructure Flexibility Agility Google Compute Engine Your Code Compute as a spectrum Replica Pools Provisioning and health checking Managed VMs OS management, deployments, logging and monitoring Your Code Your Code

Slide 9

Slide 9 text

Manage your infrastructure Flexibility Agility Google Compute Engine Your Code Compute as a spectrum Replica Pools Provisioning and health checking Managed VMs OS management, deployments, logging and monitoring Your Code Your Code App Engine Managed Runtimes Manage your serving stack Your Code

Slide 10

Slide 10 text

Managed VMs Demo

Slide 11

Slide 11 text

Managed VMs Demo Sudoku Example 5 1 7 3 9 3 9 8 8 2 3 6 5 7 3 4 8 7 7 5 1 3 9 7 2 8 8 5 1 8 4 9 4 6 7 9 3 8 4 1

Slide 12

Slide 12 text

OpenCV

Slide 13

Slide 13 text

Peter Norvig’s Sudoku Solver

Slide 14

Slide 14 text

?

Slide 15

Slide 15 text

Backend Managed VMs Frontend App Engine Sudoku architecture VM VM VM VM VM Task Queue

Slide 16

Slide 16 text

application: compute-demo version: 1 runtime: python27 api_version: 1 threadsafe: yes handlers: - url: /favicon\.ico static_files: favicon.ico upload: favicon\.ico - url: .* script: main.APP libraries: - name: webapp2 version: "2.5.2" - name: jinja2 version: latest app.yaml application: compute-demo version: 1 module: solver runtime: python27 vm: true api_version: 1 threadsafe: yes handlers: - url: .* script: main_solver.APP libraries: - name: webapp2 version: "2.5.2" vm_settings: machine_type: n1-standard-1 apt_get_install: python-opencv backend.yaml

Slide 17

Slide 17 text

application: compute-demo version: 1 runtime: python27 api_version: 1 threadsafe: yes handlers: - url: /favicon\.ico static_files: favicon.ico upload: favicon\.ico - url: .* script: main.APP libraries: - name: webapp2 version: "2.5.2" - name: jinja2 version: latest app.yaml application: compute-demo version: 1 module: solver runtime: python27 vm: true api_version: 1 threadsafe: yes handlers: - url: .* script: main_solver.APP libraries: - name: webapp2 version: "2.5.2" vm_settings: machine_type: n1-standard-1 apt_get_install: python-opencv backend.yaml

Slide 18

Slide 18 text

$ gcloud preview app deploy . command line Deployment https://developers.google.com/cloud/sdk/gcloud-app

Slide 19

Slide 19 text

Live Demo!

Slide 20

Slide 20 text

Backend workers App Engine VM VM VM VM VM Task Queue Sudoku architecture

Slide 21

Slide 21 text

from google.appengine.api import modules modules.set_num_instances(42) Python Application specific scaling https://developers.google.com/appengine/docs/python/modules/ https://developers.google.com/appengine/docs/java/modules/

Slide 22

Slide 22 text

$ git clone https://github.com/GoogleCloudPlatform/appengine-opencv-sudoku-python command line Clone from Github

Slide 23

Slide 23 text

IaaS or PaaS is a false dichotomy Removing the split with great new technology This is only the beginning! 1 2 3 Summary https://developers.google.com/appengine/docs/managed-vms/ http://goo.gl/ykbnsd

Slide 24

Slide 24 text

cloud.google.com Images by Connie Zhou