Upload
lynn-langit
View
2.645
Download
2
Tags:
Embed Size (px)
Citation preview
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– [email protected]
• 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)