3. Cloud Computing
• Companies don‘t own the physical
infrastructure
• Computing time and storage is rented from
a third party
4. Advantages
• Variable costs instead of capital
expenditure
• Costs lining up with real usage
• Real usage lining up with sales volume
• Higher flexibility
28. Cons
• Oversimplification
• Predefined sets of OS and Ruby version
• No ssh access
• No choice of physical location
• Only predefined tools available
• For larger setups: pretty expensive
• Porting apps may be hard
29. Pros
• Very simple start
• Low costs in the beginning / for small apps
• Offers simple management of complex
apps, if developed with the heroku stack in
mind
30. I do recommend
Heroku for any new
projects that were built
with heroku restrictions
in mind, because it can‘t
get any simpler!
* no capital expenditure
* low barriers to entry
* low risk (cancel contract any time)
* e.g. fire up test systems for load tests and pay by the hour
* utility like electricity
* e.g. Amazon and possibly your management provider can read your data
* XING uses SSDs to quickly serve small image files (not possible with Amazon)
* agility/scalability: fire up instances automatically
* low costs: variable costs, low risk
* security: experts take care of backups, it‘s their core business
* reliability: replicate data between cloud providers, fire up instances on the other if one is down
The cloud does not make any sense without automation.
* no direct contact between customers and amazon
* heroku could switch the hosting provider any time without anyone noticing
* customer has 2 contracts: one with scalarium, one with amazon
* scalarium is tailored specifically to aws
* Reverse Proxy: Nginx
* HTTP Cache: Varnish
* Routing Mesh: Custom, written in Erlang
* SQL: PostgreSQL
* Memcache
* shared: multiple users on 1 powerful computing unit
** better for peaks
** impacts by other users
* dedicated: 1 dedicated computing unit
* database.yml will be replaced automatically on deployment
* No Ruby 1.9.2 -> no Rails 3 beta3
* e.g. no Redis
* every custom tool must be manually managed, out of the Heroku scope
* technical term confusion, e.g. bundle and migration