google app engine for developers

25
Google App Engine Getting started…for Java developers @LynnLangit

Upload: lynn-langit

Post on 15-Jun-2015

1.847 views

Category:

Technology


7 download

DESCRIPTION

Slides from web

TRANSCRIPT

Page 1: Google App Engine for Developers

Google App EngineGetting started…for Java developers@LynnLangit

Page 2: Google App Engine for Developers

New Course Preview – Google App Engine for Developers

@LynnLangitwww.lynnlangit.com

www.TeachingKidsProgramming.org

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

• New Developer User Group for GAE• first meeting at DevelopMentor in LA • Monthly – first meeting March 20

Page 3: Google App Engine for Developers

Full Course Objectives

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

• Understanding Google’s Cloud Storage Options– Non-relational, relational and more…

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

Page 4: 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 5: Google App Engine for Developers

GAE APIs core and more…

Page 6: 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 7: 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 8: Google App Engine for Developers

GAE Setup in Eclipse

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

account– 5 GB storage free

Page 9: Google App Engine for Developers

Hello (Google) World – first application

Page 10: Google App Engine for Developers

Viewing Deployed Applications

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

each instance

Page 11: Google App Engine for Developers

Managing your application

Page 12: Google App Engine for Developers

Version Control

• Updating current versions• Using appcfg

Page 13: Google App Engine for Developers

Google App Engine – 2. Storage Options

Getting started…for developers@LynnLangit

Page 14: Google App Engine for Developers

Default data storage location – noSQL -- Datastore

Page 15: Google App Engine for Developers

Two types of Datastores I – About High-Replication

• 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)• Reads are transactional

Page 16: Google App Engine for Developers

Two types of Datastores II – About 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 17: Google App Engine for Developers

Create your Application

• Select the storage options >>>

Page 18: Google App Engine for Developers

Configure your GAE Application for Data Storage

• Configure the data storage in Eclipse– HR Datastore (default) -- noSQL

• JDO/JPA (optional)• JDBC/nHibernate not supported

– Cloud mySQL (optional) -- RDBMS• Use local mySQL instance for testing

– Can also use Developer Storage -- buckets

Page 19: Google App Engine for Developers

HR Datastore put and get (asList)…from Ikai’s blog

Page 20: Google App Engine for Developers

Transactional Put..another example from Ikai

Page 21: Google App Engine for Developers

Viewing GAE storage

Page 22: Google App Engine for Developers

Cloud Data Storage Options for GAE

NoSQLRDBMS

Other

Page 23: Google App Engine for Developers

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 - RDBMS

Graph Freebase Beta

MapReduce Big Query Beta (Invite only)

Other Full-text indexing Beta (Invite only)

Document-based

None available n/a

Page 24: Google App Engine for Developers

www.TeachingKidsProgramming.org

• Do a Recipe Teach a Kid (Ages 10 ++) free courses

• Teach or Donate

Page 25: Google App Engine for Developers

New Course Preview – Google App Engine for Developers

@LynnLangitwww.lynnlangit.com

www.TeachingKidsProgramming.org

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

• New Developer User Group for GAE• first meeting at DevelopMentor in LA • Monthly – first meeting March 20