Harper Reed: Cloud Contraints


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Harper Reed: Cloud Contraints

  1. 1. Cloud Constraints Harper Reed harper@nata2.org @harper
  2. 2. Hi!
  3. 3. I build a lot of applications.
  4. 4. BIG
  5. 5. SMALL (ish) supertrackr fukung.net
  6. 6. Cloud Computing is Awesome
  7. 7. Cloud computing has a lot of constraints Architecture Development Deployment
  8. 8. Architecture You never know if a resource may disappear/fail. Examples: EC2 Instances Cloud Server Resources
  9. 9. Development The languages and supported technologies may be limited Examples: App Engine: python/java Heroku: ruby
  10. 10. Deployment Old style simple deployment is gone. Examples: App engine deploy tools EC2 Tool chain Heroku tool chain
  11. 11. Google App Engine
  12. 12. Google App Engine A platform for developing and hosting web applications in Google- managed data centers.
  13. 13. App Engine Time per request: 30 sec Blobstore size: 2 GB HTTP response size: 10 MB Datastore item size: 1 MB Application code size: 150 MB
  14. 14. Time per request Limit the time allowed per request
  15. 15. Query Constraints App Engine used to only return resultsets with 1000 results.
  16. 16. Datastore Often PaaS providers limit the type and kind of queries you can do over a datastore. Joins are not your friend
  17. 17. Port 80 You can only serve and make requests on port 80.
  18. 18. Misc tools/apis Queue Search Map Reduce Datastore Email see: http://addons.heroku.com/
  19. 19. Servers EC2 and Rackspace Cloud
  20. 20. Servers offer a lot of freedom. They are also a pain in the ass (don't trust them).
  21. 21. Architecture Architecting server infrastructures in clouded environments is MUCH different than the old fashioned big iron way. see: elastic scaling, IaaS vs PaaS
  22. 22. Cloud Server Constraints Less constraints than PaaS providers. Often emulates a real server. see: rackspace cloud
  23. 23. Some real constaints Transient servers Architect for failure Deployment
  24. 24. Transient servers Your servers may/will disappear. You need to build that assumption into your infrastructure.
  25. 25. Architect for failure When you don't control the resource and hardware - you will experience failures. Build around the potential for failure.
  26. 26. Deployment The nature of cloud servers let's you pop up 100s or 1000s of boxes. This is a nightmare to manage without awesome tools like puppet, chef, etc.
  27. 27. The Magic
  28. 28. Work within these constraints even when you don't have them Your apps will be better. They will respond better. They will be more efficient. Your users will be happier
  29. 29. ? Questions @harper harperreed.org harper@nata2.org