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

Google App Engine for Developers

Jun 15, 2015

Download

Technology

Lynn Langit

Slides from web
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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