Overview of Cloud Computing and how it can be used by startups. Case study on how the cloud helped the development of PriceChirp.com. Talk given to Barcamp NOLA 2009
1. Cloud Computing and Startups
Case Study: PriceChirp.com
Steven Evatt
Blog: http://www.evatt.com/blog
Web: http://PriceChirp.com
Twitter: @sevatt
NOLA Barcamp 2009
2. Today We'll Cover:
Cloud Computing Basics
Ruby on Rails Projects
Case Study of PriceChirp.com
Take Aways
2
5. Formal Definition: Cloud Computing
Wikipedia
A style of computing in which dynamically scalable and
often virtualized resources are provided as a service over
the Internet. Users need not have knowledge of, expertise
in, or control over the technology infrastructure in the
"cloud" that supports them.
Comparisons
Grid Computing
Utility Computing
Autonomic Computing
5
6. Common Definition: Cloud Computing
No consensus on the definition of
“Cloud Computing”. It is a generic
marketing term for any computing
resources on the internet.
To many, it means:
6
7. My Definition: Cloud Computing
Cloud computing to me:
Using computer resources in the interwebs,
without real control over the hardware
specifications, it's location, and having the ability to
add or remove resources without capital expenses
and/or contracts, preferably in an automated
fashion.
7
8. Benefits of the Cloud
Application Building blocks
Stable APIs
Proven Infrastructures
Low cost of entry
No long term commitment
8
9. Options other than the Cloud
Cheap / Budget host
GoDaddy, HostGator, WebHostGiant, etc...
Dedicated hardware
Colocation
Hosting on your own hardware / internet
agreements
9
10. Discussing Three Clouds
Amazon Web Services
Google App Engine
The Rackspace Cloud / Slicehost
Many More
Citrix, Google Apps, IBM, Microsoft, Sun, Zoho
10
11. Amazon Web Services
Offerings
Hardware as a service – AWS-EC2
− Red Hat Enterprise, Windows Server 2003,
OpenSolaris, Ubuntu, Gentoo, Debian, etc...
− IBM DB2, Apache, IIS, Oracle 11g, MS SQL,
MySQL Enterprise, Ruby on Rails, Jboss, Java
Application Server, Windows Media Server, etc...
11
12. Amazon Web Services
Offerings
Storage as a service – AWS-S3
Database as a service – SimpleDB
Queuing as a service – SQS
CDN as a service – CloudFront
12
13. AWS – Some Use Cases
Startups
Low entry point (10 cents an hour for a CPU)
Can scale up to Terabytes of storage and
thousands of servers with the same price structure
Everything is automated and has programmatic
access (No calls to system admin to configure or
restart a server)
Enterprise
Performance testing
Compatibility testing
13
14. Google App Engine
Exposes the Google Infrastructure
The Python Runtime – (webapp, Django, CherryPy, Pylons,
Web.py)
Datastore API (BigTable) – Google's Database
Images API – Image manipulation service
Mail API – Send mail from your app
Memcache API – Distributed memory cache
URL Fetch API – Access other hosts from your app
User API – Integrate Google users with your app
14
15. Google App Engine
Costs
Free for 500 MB storage and 5 million page views
$0.10 – $0.12 per CPU core-hour
$0.15 – $0.18 per GB-month of storage
$0.11 – $0.13 per GB outgoing bandwidth
$0.09 – $0.11 per GB incoming bandwidth
15
16. Google App Engine
Bonuses
Automatic scaling
Using the same infrastructure Google uses
16
17. Google App Engine
Issues
Python
If not starting from scratch, expect a complete
re-write
BigTable – must rethink the way you use a DB
− Not a relation DB
− Can only query indexed data
17
18. The Rackspace Cloud / Slicehost
Offerings
Hardware as a service – Cloud Servers
Storage as a service – Cloud Files
Compared to Amazon AWS
Utility Billing
Persistent data
Only support Linux instances
Support smaller instances, so they have
less expensive options
Slicehost is the same as The Rackspace
Cloud with flat billing
18
20. The Choice for PriceChirp
What part of the cloud is right for PriceChirp?
Slicehost
− Support Linux
− Static IP included
− Persistent data
− Root access
− Full support for Ruby on Rails
− Flat billing
− Only need a 512 MB instance
20
22. Kung-Fu?
“Ruby on Rails is astounding. Using it is like
watching a kung-fu movie, where a dozen bad-
ass frameworks prepare to beat up on the little
newcomer only to be handed their asses in a
variety of imaginative ways.”
– Nathan Torkington, O'Reilly Program Chair for OSCON
22
23. Ruby on Rails
Ruby – fewer lines with more readable code, shorter
development times, simple but powerful
Convention over configuration => almost no config files,
predefined directory structure, naming conventions => less
code, easier maintenance
Best Practices: MVC, DRY, Testing
Almost everything in Rails is Ruby code (SQL and JavaScript
are abstracted)
Integrated AJAX support. Web services with REST.
Good community, tools, and documentation
Extracted from a real application
23
24. Rails Frameworks
Bort – Kick start a project
Restful Authentication, OpenID support, Exception
Notifier, Will Paginate
Insoshi – Open source Social Networking
Activity feeds, profiles, photo sharing, comment
wall, blogs, forums, user messaging, and an admin
panel.
Lovd By Less – Open Source Social Networking
Activity feeds, profiles, messaging, blogs, photo
galleries, site search for friends, Flickr and
YouTube integration
24
25. Other Free Tools
Google Analytics
Enterprise-class web analytics
Free for up to 5 million page view a month
Google Webmaster Tools
Monitor how google spiders your site
Sitemaps
25
26. What all this meant for PriceChirp
Low setup / monthly costs
Linux environment
Powerful tools
Quick prototyping and development
Reliable service
Excellent performance for the end user
Low maintenance
26
27. Take Aways
• The cloud provides a low
barrier to entry
• Frameworks simplify work
required to build a site
• Free tools
• Easier than you expect
• Try one of your ideas,
very little to lose
27
28. Thanks for Coming!
Steven Evatt
Email: steven@evatt.com
Site: PriceChirp.com
Blog: www.evatt.com/blog
Twitter: @sevatt
28