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
Today We'll Cover:
   Cloud Computing Basics
   Ruby on Rails Projects
   Case Study of PriceChirp.com
   Take Aways




                                   2
Ideas to Make $$




                   3
What is Cloud Computing?




                           4
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
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
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
Benefits of the Cloud
   Application Building blocks
   Stable APIs
   Proven Infrastructures
   Low cost of entry
   No long term commitment




                                   8
Options other than the Cloud
   Cheap / Budget host
       GoDaddy, HostGator, WebHostGiant, etc...
   Dedicated hardware
   Colocation
   Hosting on your own hardware / internet
    agreements




                                                   9
Discussing Three Clouds
   Amazon Web Services
   Google App Engine
   The Rackspace Cloud / Slicehost
   Many More
    Citrix, Google Apps, IBM, Microsoft, Sun, Zoho




                                                     10
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
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
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
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
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
Google App Engine
   Bonuses
       Automatic scaling
       Using the same infrastructure Google uses




                                                    16
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
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
Rackspace / Slicehost Rates




                              19
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
Programming Frameworks
   Frameworks                    CMS
       Ruby on Rails (Ruby)          Drupal (PHP)
       Sinatra (Ruby)                Joomla (PHP)
       Django (Python)               Wordpress (PHP)
       Zend (PHP)                    MovableType (Perl)
       Cake (PHP)
       Catalyst (Perl)
       CodeIgniter (PHP)
       Symphony (PHP)
       Plone (Zope)

                                                            21
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
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
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
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
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
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
Thanks for Coming!
Steven Evatt

  Email: steven@evatt.com
  Site: PriceChirp.com
  Blog: www.evatt.com/blog
  Twitter: @sevatt




                              28

Cloud Computing for Barcamp NOLA 2009

  • 1.
    Cloud Computing andStartups 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
  • 3.
  • 4.
    What is CloudComputing? 4
  • 5.
    Formal Definition: CloudComputing  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: CloudComputing  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: CloudComputing  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 theCloud  Application Building blocks  Stable APIs  Proven Infrastructures  Low cost of entry  No long term commitment 8
  • 9.
    Options other thanthe 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 – SomeUse 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
  • 19.
  • 20.
    The Choice forPriceChirp  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
  • 21.
    Programming Frameworks  Frameworks  CMS  Ruby on Rails (Ruby)  Drupal (PHP)  Sinatra (Ruby)  Joomla (PHP)  Django (Python)  Wordpress (PHP)  Zend (PHP)  MovableType (Perl)  Cake (PHP)  Catalyst (Perl)  CodeIgniter (PHP)  Symphony (PHP)  Plone (Zope) 21
  • 22.
    Kung-Fu? “Ruby on Railsis 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 thismeant 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! StevenEvatt Email: steven@evatt.com Site: PriceChirp.com Blog: www.evatt.com/blog Twitter: @sevatt 28