Slide 1

Slide 1 text

Deploying Go Apps with Google App Engine Stephen Lewis Code samples at https://github.com/stephenlewis/eveningwithgo

Slide 2

Slide 2 text

What is App Engine? ● Application hosting on Google infrastructure ● Free to get started ● Supports Python (since 2008), Java (2009) and Go (2011) ● Comes with a suite of services (most importantly the Datastore) ● Automatically manages resources to allow scaling according to demand

Slide 3

Slide 3 text

How to get started 1. Download SDK 2. Write a Go app with net/http handlers 3. Write an app.yaml 4. Use appcfg.py to upload your code

Slide 4

Slide 4 text

"Hello World" demo

Slide 5

Slide 5 text

Services available on App Engine Datastore URL Fetch Memcache Users Blobstore Capabilities Channel Task Queues Mail (A few more with Python and Java...)

Slide 6

Slide 6 text

URL Fetch demo

Slide 7

Slide 7 text

The Datastore ● A schemaless key-value store ● Emphasis on read/query performance ● Only answers queries using existing indexes ● Offers transactions (within entity groups) ● Eventually consistent queries ● Data replicated across data centres

Slide 8

Slide 8 text

Datastore demo

Slide 9

Slide 9 text

Pricing ● Compute-wise, you pay for instance hours ($0.08 per hour) ● Datastore writes ($0.10 per 100k operations) ● Datastore reads ($0.07 per 100k operations) ● Also: outgoing bandwidth, storage, outgoing HTTP requests, emails sent, channels opened ● Memcache is free (and use is encouraged!) ● Minimum charge: $9 per month

Slide 10

Slide 10 text

Questions? N.B. I made a mistake in an answer to one of the questions in the video: the first SLA trigger is 99.95%, not 100%