intro to google app engine for developers

21
Google App Engine – 1. Setup Getting started…for developers @LynnLangit

Upload: lynn-langit

Post on 15-Jun-2015

2.640 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Intro to Google App Engine for Developers

Google App Engine – 1. Setup

Getting started…for developers@LynnLangit

Page 2: Intro to Google App Engine for Developers

Objectives

• Understanding GAE– Setup for development with GAE– Creating first simple site with IDE templates – Simple deployment

• Using Google Cloud Storage• Using Google Relational Cloud Storage• Using Authentication• Understanding other APIs• Deploying• Next Steps

Page 3: Intro to Google App Engine for Developers

What is Google App Engine? Why use it?• What

– Google’s cloud hosting and storage environment– Java or Python are supported– NoSQL (High-Replication Datastore) and/or mySQL

supported

• Why– Easy and free to try it out– Interesting feature set

• Automatic compute scaling• Flexibility on data storage / queries• Authentication choices• Access to other Google APIs

Page 4: Intro to Google App Engine for Developers

Download and Configure Eclipse for GAE

• Download Eclipse• Get GAE SDK (access

to APIs)• Get GAE plug-in for

Eclipse

Page 5: Intro to Google App Engine for Developers

Configure Eclipse for GAE - options

• Enable other available APIs, partial list shown below• Use the GWT (Google Web Toolkit)

Page 6: Intro to Google App Engine for Developers

GAE Setup in Eclipse

• GAE SDK• GAE Eclipse plug-in• GAE developer

account– 5 GB storage free

Page 7: Intro to Google App Engine for Developers

Hello (Google) World – first application

Page 8: Intro to Google App Engine for Developers

Viewing Deployed Applications

• Create up to 10 applications• Click application to view detailed information about

each instance

Page 9: Intro to Google App Engine for Developers

Managing your application

Page 10: Intro to Google App Engine for Developers

Version Control

• Updating current versions• Using apgcfg

Page 11: Intro to Google App Engine for Developers

Google App Engine – 2. Storage Options

Getting started…for developers@LynnLangit

Page 12: Intro to Google App Engine for Developers

Default data storage location – Datastore

Page 13: Intro to Google App Engine for Developers

Two types of Datastores I – About High-Replication

• High-Replication (default)– Data is replicated across multiple data centers using a

system based on the Paxos algorithm, in synch, multi-master

– Provides the highest level of availability for reads and writes (99.999% SLA)

– at the cost of higher latency on writes due to the propagation of data (2x slower on write than other datastore type [master/slave])

– Results in most queries being eventually consistent*– Reads from ‘fastest source’ (usually local)

Page 14: Intro to Google App Engine for Developers

Two types of Datastores II – About Master/Slave

• Master/Slave– Data written to a single master data center is replicated

async to all other (slave) data centers– Offers strong consistency for all reads and queries– Results in periods of temporary unavailability during data

center issues or planned downtime (99.9% SLA)– Reads from master only

Page 15: Intro to Google App Engine for Developers

Create your Application

• Select the storage options >>>

Page 16: Intro to Google App Engine for Developers

Configure your GAE Application for Data Storage

• Configure the data storage in Eclipse– HR Datastore (default)– JDO/JPA (optional)

• JDBC/nHibernate not supported– Cloud mySQL (optional)

• Use local mySQL instance for testing

Page 17: Intro to Google App Engine for Developers

Viewing GAE storage

Page 18: Intro to Google App Engine for Developers

Cloud Data Storage Options for GAE

NoSQLRDBM

S

Other

Page 19: Intro to Google App Engine for Developers

Other Cloud Data Storage Options for GAEType Name Notes

noSQL Datastore – High Replication

Default (Data, Blobs. Queues)

noSQL Datastore – Master/Slave For highest consistency

noSQL Developer Storage Beta (Experimental)

RSDBMS mySQL Beta

Graph Freebase Beta

MapReduce Big Query Beta (Invite only)

Other Full-text indexing Beta (Invite only)

Document-based

None available n/a

Page 20: Intro to Google App Engine for Developers

Contact Info

• @LynnLangit– www.lynnlangit.com– www.teachingkidsprogramming.org– [email protected]

• 4 day class ‘Intro to GAE’ • www.Develop.com• On Site or at DevelopMentor

Page 21: Intro to Google App Engine for Developers

www.TeachingKidsProgramming.org

• Do a Recipe Teach a Kid (Ages 10 ++)• Microsoft SmallBasic Free Courseware (recipes)