Google App Engine for Developers


Published on

Slides from web

Published in: Technology, News & Politics
  • Be the first to comment

  • Be the first to like this

Google App Engine for Developers

  1. 1. Google App EngineGetting started…for Java developers@LynnLangit
  2. 2. New Course Preview – Google App Engine for Developers• 4 day class ‘Intro to GAE’ • Course in Java • • On Site or at DevelopMentor• New Developer User Group for GAE • first meeting at DevelopMentor in LA • Monthly – first meeting March 20 @LynnLangit
  3. 3. 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
  4. 4. 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
  5. 5. GAE APIs core and more…
  6. 6. Download and Configure Eclipse for GAE• Download Eclipse• Get GAE SDK (access to APIs)• Get GAE plug-in for Eclipse
  7. 7. Configure Eclipse for GAE - options• Enable other available APIs, partial list shown below• Use the GWT (Google Web Toolkit)
  8. 8. GAE Setup in Eclipse• GAE SDK• GAE Eclipse plug-in• GAE developer account – 5 GB storage free
  9. 9. Hello (Google) World – first application
  10. 10. Viewing Deployed Applications• Create up to 10 applications• Click application to view detailed information about each instance
  11. 11. Managing your application
  12. 12. Version Control• Updating current versions• Using appcfg
  13. 13. Google App Engine –2. Storage OptionsGetting started…for developers@LynnLangit
  14. 14. Default data storage location – noSQL -- Datastore
  15. 15. 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
  16. 16. 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
  17. 17. Create your Application • Select the storage options >>>
  18. 18. 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
  19. 19. HR Datastore put and get (asList)…from Ikai’s blog
  20. 20. Transactional Put..another example from Ikai
  21. 21. Viewing GAE storage
  22. 22. Cloud Data Storage Options for GAE Other RDBMS NoSQL
  23. 23. Cloud Data Storage Options for GAEType Name NotesnoSQL Datastore – High Replication Default (Data, Blobs. Queues)noSQL Datastore – Master/Slave For highest consistencynoSQL Developer Storage Beta (Experimental)RSDBMS mySQL Beta - RDBMSGraph Freebase BetaMapReduce Big Query Beta (Invite only)Other Full-text indexing Beta (Invite only)Document-based None available n/a
  24. 24.• Do a Recipe  Teach a Kid (Ages 10 ++)  free courses• Teach or Donate
  25. 25. New Course Preview – Google App Engine for Developers • 4 day class ‘Intro to GAE’ • Course in Java • • On Site or at DevelopMentor • New Developer User Group for GAE • first meeting at DevelopMentor in LA • Monthly – first meeting March 20 @LynnLangit