Successfully reported this slideshow.

Google Appengine Intro for Stockholm Django Usergroup

878 views

Published on

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

Google Appengine Intro for Stockholm Django Usergroup

  1. 1. Google AppEngine - Web apps in teh cloud
  2. 2. [jag är inte så duktig på python & django]
  3. 3. Python Molnet Skalbart Ruby Java(!) Django Gratis* Distribuerat Enkelt* BigTable Inlåst Ovant Ungt Begränsat
  4. 4. Webbappar? • Webapp (CGI, WSGI) • Google Accounts • PIL • urllib • Mail • Cron jobb • Memcached • Datastore • Non-relational • GQL • Det svåraste (enligt mig)
  5. 5. Numbers everyone should know - enligt Brett Slatkin • Writes are expensive! • Datastore is transactional: writes require disk access • Disk access means disk seeks • Rule of thumb: 10ms for a disk seek • Simple math: 1s / 10ms = 100 seeks/sec maximum • Depends on: • The size and shape of your data • Doing work in batches (batch puts and gets) 
  6. 6. Numbers everyone should know - enligt Brett Slatkin • Reads are cheap! • Reads do not need to be transactional, just consistent • Data is read from disk once, then it's easily cached • All subsequent reads come straight from memory • Rule of thumb: 250usec for 1MB of data from memory • Simple math: 1s / 250usec = 4GB/sec maximum • For a 1MB entity, that's 4000 fetches/sec 
  7. 7. The Lessons - enligt Brett Slatkin • Writes are 40 times more expensive than reads. • Global shared data is expensive. This is a fundamental limitation of distributed systems. The lock contention in shared heavily written objects kills performance as transactions become serialized and slow. • Architect for scaling writes. • Optimize for low write contention. • Optimize wide. Make writes as parallel as you can. 
  8. 8. Kod
  9. 9. Frågor?
  10. 10. http://delicious.com/hinkeb/appengine Följ mig på twitter @henrikberggren

×