Harper Reed holding up one finger Harper Reed (@harper) describes himself as "probably one of the coolest guys ever."

At Social Dev Camp Chicago, Harper gave probably one of the coolest talks on cloud computing constraints I've ever heard. Granted, it was the only such talk I've ever heard, but it was pretty cool nonetheless.

The 10,000 foot view of his talk is:
1 - Cloud computing platforms have constraints
2 - Embracing constraints will make you a better programmer

- all of the constraints will cause you to be a better developer
- embrace the constraints
- cloud computing is awesome
- everyone in the room is a cloud computing consumer
- Ravi was the only hackathon participant to not use cloud computing (he developed a iPad app)

huge players in cloud computing
- salesforce
- google apps
- heroko (harper not a fan of ruby but likes what they've done)
- rackspace cloud
- amazon did a great job of packaging enterpise infrastructure as a service

- you don't control the resource and hardware
- you will experience failures
- you never know when a resource might evaporate
- must architect around that
- Always have at least two boxes.

- app engine: python/java
- heroku: ruby

- Old style simple deployment via FTP is gone
- Ever since rails came out people have been talking about how to better deploy apps

- app engine deploy tools
- ec2 tool chain

Google App Engine
- Harper's favorite cloud platform
- A platform for developing and hosting web applications in Google-managed data centers
- it's free

Servers Harper's not a big fan of 'em
- Likes SSHing into things - its fun to do
- He doesn't trust servers

App Engine Constraints:
- Time per request: 30sec (Harper's favorite feature)
- Blobstore:2G
- Http Response: 10MB
- Datastore item size:1M
- App code size: 150M
- App Engine used to only return resultsets with 1000 results
- Now is fixed, but you don't need 1000 records at once anyway
- Often PaaS providers limit the type of kind of queries you can do over a datastore
- Joins are not your friend - app engine just doesn't let you do it.
- You can only serve and make requests on port 80
- forces you to think more like an API consumer

One of the coolest pages in cloud computing
- http://addons.heroku.com/

If you work within these constraints:
- your apps will be better
- they will respond better
- they will be more efficient

Find a new product in 5 days?  Learn how with our Free Google Design Sprint eBook