Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Agile Apps with App Engine

1,444 views

Published on

Build Agile Applications with Google App Engine!

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Agile Apps with App Engine

  1. 1. Google App Engine
  2. 2. Advantages
  3. 3. Advantages • No Server! • Free (within Quota) • Quick Deployment • Python!
  4. 4. Disadvantages
  5. 5. Disadvantages • Not suitable if specific dependencies are required (e.g. poppler library on linux servers) • Disconcerting for Developers who are used to traditional servers • Rewrite all Queries/ORMs! Good luck! • Deal with query quirks, API limitations. • Schema Migration? Problem ☺
  6. 6. Google App Engine Frameworks?
  7. 7. Why Frameworks?
  8. 8. Why Frameworks?
  9. 9. Why Frameworks? • Agile development • Team development • MVC for maintainability • Problem Isolation and Identification • Test Driven Development on “organised components” - Apps • No cowboy coding • Framework gives consistency
  10. 10. Simple Example (AEP)
  11. 11. Execution Details? • 30 minutes quick start • Around 2 days to be up and running • More time for making it look pretty • Slight confusion at the start with Django ORMs • Django Forms! Nice. • 1-to-1, M2M, FK relationships are different (of course) • Query Object Count limitations. Need “sharding”.
  12. 12. Another Framework (Kay)
  13. 13. Execution Details? • 30 minutes quick start • Around 2 days to be up and running • More time for making it look pretty (in progress) • Steeper learning curve for Jinja2 and Werkzeug • 1-to-1, M2M, FK relationships are different (of course) • Query Object Count limitations. Need “sharding”. • Gotcha - Templatetag is more complex. Url mapping is confusing. • Not all bad: werkzeug debugger is awesome.
  14. 14. Agile Job Board (alpha)
  15. 15. Other Framework Solutions? • Plenty! • The usual non-MVC webapp • web2py • Bottle • App Engine Helper • App Engine Oil • EngineLight • Blablabla……..
  16. 16. Take Away • Write code to scale. Sharding techniques: http://code.google.com/appengine/articles/sh arding_counters.html • Use db.run_in_transaction(txn) User Uploaded Images • Use boto.zip for pushing images to Amazon S3 • Or use BlobProperty()
  17. 17. What would I recommend? • Don’t know at this point. • Still experimenting on Live Projects. • Ideas and Collaboration for experiments welcome! Criteria? • Useful. • Pretty. • 1 week. • Open source some completed components
  18. 18. Should we use App Engine?
  19. 19. Small Team. Big Apps.

×