intro to google app engine for developers

Post on 15-Jun-2015

2.640 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Google App Engine – 1. Setup

Getting started…for developers@LynnLangit

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

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

Download and Configure Eclipse for GAE

• Download Eclipse• Get GAE SDK (access

to APIs)• Get GAE plug-in for

Eclipse

Configure Eclipse for GAE - options

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

GAE Setup in Eclipse

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

account– 5 GB storage free

Hello (Google) World – first application

Viewing Deployed Applications

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

each instance

Managing your application

Version Control

• Updating current versions• Using apgcfg

Google App Engine – 2. Storage Options

Getting started…for developers@LynnLangit

Default data storage location – Datastore

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)

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

Create your Application

• Select the storage options >>>

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

Viewing GAE storage

Cloud Data Storage Options for GAE

NoSQLRDBM

S

Other

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

Contact Info

• @LynnLangit– www.lynnlangit.com– www.teachingkidsprogramming.org– lynnlangit@live.com

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

www.TeachingKidsProgramming.org

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

top related