Cloud Computing and Startups
Steven Evatt
Blog: http://www.evatt.com/blog
Web: http://PriceChirp.com
Twitter: @sevatt
NOLA Barcamp 2009
Case Study: PriceChirp.com
2
Today We'll Cover:
Cloud Computing Basics Ruby on Rails Projects Case Study of PriceChirp.com Take Aways
3
Ideas to Make $$
4
What is Cloud Computing?
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
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:
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.
8
Benefits of the Cloud
Application Building blocks Stable APIs Proven Infrastructures Low cost of entry No long term commitment
9
Options other than the Cloud
Cheap / Budget host GoDaddy, HostGator, WebHostGiant, etc...
Dedicated hardware Colocation Hosting on your own hardware / internet
agreements
10
Discussing Three Clouds
Amazon Web Services Google App Engine The Rackspace Cloud / Slicehost Many More
Citrix, Google Apps, IBM, Microsoft, Sun, Zoho
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...
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
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
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
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
16
Google App Engine
Bonuses Automatic scaling Using the same infrastructure Google uses
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
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
19
Rackspace / Slicehost Rates
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
21
Programming Frameworks
Frameworks Ruby on Rails (Ruby) Sinatra (Ruby) Django (Python) Zend (PHP) Cake (PHP) Catalyst (Perl) CodeIgniter (PHP) Symphony (PHP) Plone (Zope)
CMS Drupal (PHP) Joomla (PHP) Wordpress (PHP) MovableType (Perl)
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
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
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, photogalleries, site search for friends, Flickr and YouTube integration
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
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
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
28
Thanks for Coming!
Steven Evatt
Email: [email protected]
Site: PriceChirp.com
Blog: www.evatt.com/blog
Twitter: @sevatt
Recommended