Your SlideShare is downloading. ×
0
Survey of Cloud
Hosting Providers

   Michael Peters
    PlusThree, LP
   YAPC::NA 2010
What is "the cloud"?
The definition we'll use for a cloud
hosting provider is a hosting
provider that abstracts away the
h...
Why "the cloud"?
✔Minimal initial capital for a new startup or project
✔Easily make duplicates of servers to scale out
✔Ea...
Why not "the cloud"?
✔Extra strict security requirements (HIPAA, some
PCI Levels)
✔Your application needs access to the ha...
Oodles and Oodles
✔AppEngine (Google)
✔AWS (Amazon)
✔Azure (Microsoft)
✔Rackspace Cloud
✔Linode
✔Engine Yard
✔Prgmr
✔... a...
Oodles and Oodles
✔AppEngine (Google)
✔AWS (Amazon)
✔Azure (Microsoft)
✔Rackspace Cloud
✔Linode
✔Engine Yard
✔Prgmr
✔... a...
Why not...?
 Google's AppEngine
✔Python and Java (JVM) only
✔Very different architecture
✔Your application must be written...
Why not...?
 Microsoft's Azure
✔Fairly New
✔Windows only
  ✔some kind of special windows variant
✔Not a lot of choices in ...
Why not...?
 Engine Yard
✔Ruby on Rails only
Why not...?
 Prgmr
✔Extremely small "slices"
  ✔starts at 64MB RAM, 1.5G storage
  ✔biggest is 4GB RAM, 96G storage
Reference Setup
AWS
http://aws.amazon.com
Composed of lots of different services that
can be combined in different ways.

EC2, S3, EBS, SQ...
AWS
EC2 (Elastic Compute Cloud)
Basically their version of virtual hosts (using
the Xen hypervisor).

Most applications wo...
AWS
EC2 (Elastic Compute Cloud)
Operating Systems
✔Windows
  ✔Server 2003 and 2008
✔Linux
  ✔RHEL, Fedora, OEL, OpenSUSE,
...
AWS
EC2 (Elastic Compute Cloud)
Sizes
✔8 Different sizes in 3 different groups
   ✔standard
   ✔high-memory
   ✔high-cpu
✔...
AWS
EC2 (Elastic Compute Cloud)
Pricing Model
✔On Demand
  ✔Not sure how long you'll need it
✔Reserved
  ✔Can save up to 3...
AWS
EC2 (Elastic Compute Cloud)
Locations
✔Mutiple datacenters in multiple locations
  ✔Northern Virginia
  ✔Northern Cali...
AWS
EC2 (Elastic Compute Cloud)
IP Addresses
✔Instances are limited to 1 (private) IP
Address which is NAT'd to provide pu...
AWS
EC2 (Elastic Compute Cloud)
Elastic Load Balancing
✔Load balance HTTP traffic between EC2
instances.
✔Automatically de...
AWS
EC2 (Elastic Compute Cloud)
Storage
✔Completely ephemeral
✔Plan for failure
✔Not usable for services like a Database o...
AWS
EBS (Elastic Block Storage)
Block level storage volumes that can be
mounted to EC2 instances. Behave like
RAW unformat...
AWS
EBS (Elastic Block Storage)
✔Volume sizes from 1G to 1T
✔Volumes can be moved around EC2 hosts
✔Can't be shared at the...
AWS
EBS (Elastic Block Storage)
Not locally attached, which means every IO
operation is a network operation.

Can be mitig...
AWS
SimpleDB
Non-relational data store (NoSQL).
Automatic scaling, geographically
distributed, zero maintenance, key-value...
AWS
S3 (Simple Storage Service)
Storage of files that are available anywhere
via a URL.

Usable outside of EC2.

Pseudo CD...
AWS
SQS (Simple Queue Service)
Messaging system that can be used by EC2
instances even across zones.

Redundant storage of...
AWS
Cloud Watch
Monitor your EC2 instances to see how they
perform and what resources they are using.

Also allows monitor...
AWS - Basic Setup
AWS - Adv Setup
Linode
http://linode.com
Been around since 2003 providing VPS
hosting. One main product: their virtual
hosts ("linodes") u...
Linode
Operating Systems

✔Just Linux
  ✔Arch, RHEL, Fedora, CentOS, OEL,
  OpenSUSE, Ubuntu, Debian, Gentoo,
  Slackware
...
Linode
Sizes
✔10 Different sizes
✔Smallest: 512M RAM, 16G Storage
✔Largest: 20G RAM, 640G Storage
✔Network usage is built-...
Linode
Pricing Model
✔On Demand
  ✔Not sure how long you'll need it
✔Reserved
  ✔Can save up to 15%
Linode
Locations
✔Mutiple datacenters in multiple locations
  ✔Newark, NJ
  ✔Atlanta, GA
  ✔Dallax, TX
  ✔Fremont, CA
  ✔L...
Linode
IP Addresses
✔Instances start out with 2 IP Addresses (1
private, 1 public)
✔Additional IPs can be purchased
   ✔ir...
Linode
Storage
✔Permanent
✔All disks are local with RAID mirroring
✔No need for anything like EBS
✔Since total storage on ...
Linode
Misc
✔Free DNS hosting
  ✔Support for Reverse DNS
✔Customize Installs with "Stack Scripts"
✔Lish web-based console ...
Linode Setup
Rackspace Cloud
http://rackspacecloud.com

Formerley Mosso and then bought Slicehost
in 2008 and rebranded. Halfway betwee...
Rackspace Cloud
Operating Systems

✔Windows
  ✔Server 2003 and 2008 (beta)
✔Linux
  ✔Arch, RHEL, Fedora, OEL, OpenSUSE,
  ...
Rackspace Cloud
Sizes
✔7 Different sizes
✔Smallest: 256M RAM, 10G Storage
✔Largest: 16G RAM, 620G Storage
✔Network usage i...
Rackspace Cloud
Pricing Model
✔On Demand Only
✔Windows is more expensive than Linux
Rackspace Cloud
Locations
✔Mutiple datacenters in multiple locations
  ✔Dallas, TX
  ✔San Antonio, TX
  ✔Chicago, IL
  ✔Pl...
Rackspace Cloud
IP Addresses
✔Instances start out with 2 IP Addresses (1
private, 1 public)
✔Additional IPs can be purchas...
Rackspace Cloud
Storage
✔Permanent
✔All disks are local with RAID mirroring
✔No need for anything like EBS
✔Since total st...
Rackspace Cloud
Misc
✔Free DNS Hosting
  ✔Support for Reverse DNS
✔Can mix dedicated and cloud servers on
the same network
Rackspace Cloud
Cloud Files
✔Similar to AWS ES3
✔Store individual files accessible via URL
✔Can easily upgrade those files...
Rackspace Cloud
Cloud Sites
✔Basic site hosting with automatic failover,
load balancing and storage redundancy.
✔No root a...
Rackspace Setup
Feature Comparison
Feature                   AWS   Linode Rackspace
Linux                     Yes   Yes   Yes
Windows     ...
Feature Comparison
Feature                   AWS      Linode Rackspace
Auto Scaling              Yes      No       No
Clou...
Price Comparison
Feature              AWS                 Linode          Rackspace
256M RAM                              ...
Performance Comparison
I haven't done a comparison myself, but
others have:

http://www.thebitsource.com/featured-
posts/r...
Performance Comparison
5 different benchmarks were carried out
every 3 hours over a week, leading to 56
runs each. The slo...
Performance Comparison
Single Processor Unixbench
Performance Comparison
Multiple Processor Unixbench
Performance Comparison
SQLBench on PostgreSQL
Performance Comparison
Summarizing the benchmarks gives us one
clear winner: Linode. 32-bit gave the
best results on the U...
Conclusions
My personal opinion:

Go with Linode unless you have a good
reason not to. Unless you need:
✔Mixed dedicated a...
Upcoming SlideShare
Loading in...5
×

Cloud hosting survey

4,208

Published on


This talk will compare the major cloud hosting companies and what products and services they offer. Google's App Engine, Amazon's AWS, Rackspace's Cloud Services and Linode will be compared. We will go beyond a mere checklist of features and dive into such topics as Perl support, cost structures, development strategies, underlying architectures, performance and security.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,208
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
103
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Cloud hosting survey"

  1. 1. Survey of Cloud Hosting Providers Michael Peters PlusThree, LP YAPC::NA 2010
  2. 2. What is "the cloud"? The definition we'll use for a cloud hosting provider is a hosting provider that abstracts away the hardware details and lets you scale your usage on-demand.
  3. 3. Why "the cloud"? ✔Minimal initial capital for a new startup or project ✔Easily make duplicates of servers to scale out ✔Easily add resources to scale up ✔Reduce costs for temporary environments ✔QA, experimentation, etc ✔Resources are guaranteed (vs shared hosting) ✔Reduced system administration ✔Easier and cheaper to migrate to different OS or software stack ✔Easily clone existing machines
  4. 4. Why not "the cloud"? ✔Extra strict security requirements (HIPAA, some PCI Levels) ✔Your application needs access to the hardware ✔Need "appliances" in your clust ✔High speed mailers ✔Search appliances ✔Really high performance hardware
  5. 5. Oodles and Oodles ✔AppEngine (Google) ✔AWS (Amazon) ✔Azure (Microsoft) ✔Rackspace Cloud ✔Linode ✔Engine Yard ✔Prgmr ✔... and lots more ✔Terremark, Go Grid, Joyent, 3Tera, Cloud BG, Carinet, SymteriQ, Etelos, Elastic Hosts, Jungle Disk, etc.
  6. 6. Oodles and Oodles ✔AppEngine (Google) ✔AWS (Amazon) ✔Azure (Microsoft) ✔Rackspace Cloud ✔Linode ✔Engine Yard ✔Prgmr ✔... and lots more ✔Terremark, Go Grid, Joyent, 3Tera, Cloud BG, Carinet, SymteriQ, Etelos, Elastic Hosts, Jungle Disk, etc.
  7. 7. Why not...? Google's AppEngine ✔Python and Java (JVM) only ✔Very different architecture ✔Your application must be written from scratch only using the provided API ✔Ultimate Vendor Lock-In ✔well, you can use AppScale ✔ Very strict limits on computing time and resources
  8. 8. Why not...? Microsoft's Azure ✔Fairly New ✔Windows only ✔some kind of special windows variant ✔Not a lot of choices in language or software ✔some kind of IIS like thing ✔.Net (CLR) languages ✔some scripting languages ✔no binaries, no compilation, no install
  9. 9. Why not...? Engine Yard ✔Ruby on Rails only
  10. 10. Why not...? Prgmr ✔Extremely small "slices" ✔starts at 64MB RAM, 1.5G storage ✔biggest is 4GB RAM, 96G storage
  11. 11. Reference Setup
  12. 12. AWS http://aws.amazon.com Composed of lots of different services that can be combined in different ways. EC2, S3, EBS, SQS, RDS, Elastic MapReduce, Cloud Front, SimpleDB, VPC, FWS, FPS, Cloud Watch and many more.
  13. 13. AWS EC2 (Elastic Compute Cloud) Basically their version of virtual hosts (using the Xen hypervisor). Most applications won't need to be re-written and can run as-is. Your infrastructure will most likely need to be different, system administration will most likely be different.
  14. 14. AWS EC2 (Elastic Compute Cloud) Operating Systems ✔Windows ✔Server 2003 and 2008 ✔Linux ✔RHEL, Fedora, OEL, OpenSUSE, Ubuntu, Debian, Gentoo ✔OpenSolaris Supports both 32bit and 64bit (with restrictions)
  15. 15. AWS EC2 (Elastic Compute Cloud) Sizes ✔8 Different sizes in 3 different groups ✔standard ✔high-memory ✔high-cpu ✔Smallest: 1.7G RAM, 160G Storage ✔Largest: 68G RAM, 1T Storage ✔Network usage is billed separately ✔Measures CPU in "compute units"
  16. 16. AWS EC2 (Elastic Compute Cloud) Pricing Model ✔On Demand ✔Not sure how long you'll need it ✔Reserved ✔Can save up to 35% ✔"Spot" ✔Bid for unused capacity ✔Can be really cheap ✔Can lose it at any time ✔Windows is more expensive than Linux
  17. 17. AWS EC2 (Elastic Compute Cloud) Locations ✔Mutiple datacenters in multiple locations ✔Northern Virginia ✔Northern California ✔Ireland ✔Singapore ✔You have full control over which location is used.
  18. 18. AWS EC2 (Elastic Compute Cloud) IP Addresses ✔Instances are limited to 1 (private) IP Address which is NAT'd to provide public access. ✔You can augment that with Elastic IPs which are associated with an account. ✔Limited to 1 Elastic IP per instance. ✔Quickly remap to a different server for changes or failover
  19. 19. AWS EC2 (Elastic Compute Cloud) Elastic Load Balancing ✔Load balance HTTP traffic between EC2 instances. ✔Automatically detects unhealthy nodes ✔Can span multiple zones ✔Works via DNS CNAMEs and can't be attached to non-root domain names.
  20. 20. AWS EC2 (Elastic Compute Cloud) Storage ✔Completely ephemeral ✔Plan for failure ✔Not usable for services like a Database or a file server ✔For permanent storage you need EBS
  21. 21. AWS EBS (Elastic Block Storage) Block level storage volumes that can be mounted to EC2 instances. Behave like RAW unformatted disks. Need to build your own filesystem on top of an EBS volume.
  22. 22. AWS EBS (Elastic Block Storage) ✔Volume sizes from 1G to 1T ✔Volumes can be moved around EC2 hosts ✔Can't be shared at the same time ✔Automatic replication across zones ✔Saved snapshots of volumes ✔Clone snapshots to create volume copies
  23. 23. AWS EBS (Elastic Block Storage) Not locally attached, which means every IO operation is a network operation. Can be mitigated somewhat by using multiple EBS volumes attached to an EC2 host in a RAID 0 software array. Larger EC2 instances have better network performance, so the larger the instance the better EBS will perform.
  24. 24. AWS SimpleDB Non-relational data store (NoSQL). Automatic scaling, geographically distributed, zero maintenance, key-value store. Vendor lock-in is high, but since there are lots of other distributed key-value stores around it shouldn't be too bad to abstract away.
  25. 25. AWS S3 (Simple Storage Service) Storage of files that are available anywhere via a URL. Usable outside of EC2. Pseudo CDN that can be promoted to full CDN (CloudFront). Supports both public and private files
  26. 26. AWS SQS (Simple Queue Service) Messaging system that can be used by EC2 instances even across zones. Redundant storage of messages (arcoss locations) Unlimited number of readers and writers
  27. 27. AWS Cloud Watch Monitor your EC2 instances to see how they perform and what resources they are using. Also allows monitoring of EBS volumes and Elastic Load Balancing. Charged per-instance but also includes Auto Scaling Almost a necessity with EC2 impermanence
  28. 28. AWS - Basic Setup
  29. 29. AWS - Adv Setup
  30. 30. Linode http://linode.com Been around since 2003 providing VPS hosting. One main product: their virtual hosts ("linodes") using the Xen hypervisor. Like AWS's EC2, most applications won't need to be re-written. Not as many additional services as AWS. Your infrastructure and system administration will probably not change much.
  31. 31. Linode Operating Systems ✔Just Linux ✔Arch, RHEL, Fedora, CentOS, OEL, OpenSUSE, Ubuntu, Debian, Gentoo, Slackware Supports both 32bit and 64bit on all instances
  32. 32. Linode Sizes ✔10 Different sizes ✔Smallest: 512M RAM, 16G Storage ✔Largest: 20G RAM, 640G Storage ✔Network usage is built-in ✔Larger instances have more built-in bandwidth ✔Bandwidth is pooled across all your instances ✔Extra network usage can be purchased
  33. 33. Linode Pricing Model ✔On Demand ✔Not sure how long you'll need it ✔Reserved ✔Can save up to 15%
  34. 34. Linode Locations ✔Mutiple datacenters in multiple locations ✔Newark, NJ ✔Atlanta, GA ✔Dallax, TX ✔Fremont, CA ✔London, UK ✔You have full control over which location is used.
  35. 35. Linode IP Addresses ✔Instances start out with 2 IP Addresses (1 private, 1 public) ✔Additional IPs can be purchased ✔irc support said there were no limits ✔IP Addresses can be configured for failover ✔Can swap between instances at any time
  36. 36. Linode Storage ✔Permanent ✔All disks are local with RAID mirroring ✔No need for anything like EBS ✔Since total storage on any single node is limited to 640G you'll need to handle larger sizes on your own ✔MogileFS ✔Ceph
  37. 37. Linode Misc ✔Free DNS hosting ✔Support for Reverse DNS ✔Customize Installs with "Stack Scripts" ✔Lish web-based console for emergencies ✔OS Lovers (YAPC sponsors) ✔Just gave all their existing customers 40% more RAM for free :)
  38. 38. Linode Setup
  39. 39. Rackspace Cloud http://rackspacecloud.com Formerley Mosso and then bought Slicehost in 2008 and rebranded. Halfway between AWS and Linode but competing more with AWS. ✔Cloud Servers ✔Cloud Files ✔Cloud Sites
  40. 40. Rackspace Cloud Operating Systems ✔Windows ✔Server 2003 and 2008 (beta) ✔Linux ✔Arch, RHEL, Fedora, OEL, OpenSUSE, Ubuntu, Debian, Gentoo 64bit on all instances
  41. 41. Rackspace Cloud Sizes ✔7 Different sizes ✔Smallest: 256M RAM, 10G Storage ✔Largest: 16G RAM, 620G Storage ✔Network usage is extra
  42. 42. Rackspace Cloud Pricing Model ✔On Demand Only ✔Windows is more expensive than Linux
  43. 43. Rackspace Cloud Locations ✔Mutiple datacenters in multiple locations ✔Dallas, TX ✔San Antonio, TX ✔Chicago, IL ✔Planning something for the UK ✔You don't have control over which location is used, at least as far as I could tell.
  44. 44. Rackspace Cloud IP Addresses ✔Instances start out with 2 IP Addresses (1 private, 1 public) ✔Additional IPs can be purchased ✔A limit of 5 public IPs per instance ✔Can only be used for SSL
  45. 45. Rackspace Cloud Storage ✔Permanent ✔All disks are local with RAID mirroring ✔No need for anything like EBS ✔Since total storage on any single node is limited to 620G you'll need to handle larger sizes on your own ✔MogileFS ✔Ceph
  46. 46. Rackspace Cloud Misc ✔Free DNS Hosting ✔Support for Reverse DNS ✔Can mix dedicated and cloud servers on the same network
  47. 47. Rackspace Cloud Cloud Files ✔Similar to AWS ES3 ✔Store individual files accessible via URL ✔Can easily upgrade those files to their CDN ✔Supports public and private files
  48. 48. Rackspace Cloud Cloud Sites ✔Basic site hosting with automatic failover, load balancing and storage redundancy. ✔No root access ✔Supports Perl, PHP, Apache, mod_rewrite, MySQL, FTP and that's about it ✔Control panel to manage DNS and crons ✔Can't really install your own software ✔Competes well against traditional shared hosting
  49. 49. Rackspace Setup
  50. 50. Feature Comparison Feature AWS Linode Rackspace Linux Yes Yes Yes Windows Yes No Yes BSDs No No No Solaris Yes No No Multiple IPs No Yes Yes(*) On Demand Pricing Yes Yes Yes Reserved Pricing Yes Yes No "Tiny" sizes No Yes Yes "Huge" sizes Yes No No Dedicated Servers No No Yes Permanent Local Storage No Yes Yes
  51. 51. Feature Comparison Feature AWS Linode Rackspace Auto Scaling Yes No No Cloud File Storage Yes No Yes Multiple Data Centers Yes Yes Yes Automatic Backups No(*) Yes(*) Yes(*) Add Extra Memory No Yes No Add Extra Local Storage No Yes No Free Non-Peak Resources No Yes Yes API (w/ Perl modules) Yes Yes Yes Command Line Yes No No SLA 99.95% 99.9% 100%(*) Shareable Images Yes No(*) No
  52. 52. Price Comparison Feature AWS Linode Rackspace 256M RAM $11 1.5¢ 512M RAM $20 2.7¢ $22 3¢ 1G RAM $40 5.6¢ $44 6¢ 2G RAM (1.7G AWS) $61 8.5¢ $80 11¢ $88 12¢ 8G RAM (7.5G AWS) $244 34¢ $320 44¢ $350 49¢ 16G RAM (15G AWS) $490 68¢ $640 89¢ $700 97¢ 34G RAM $864 $1.20 64G RAM $1728 $2.40 Permanent Storage 10¢ G 10¢ MIO Free Free Bandwidth In Free* Free $.08/G Bandwidth Out $.15/G* Free $.22/G File Storage $.15/G* $.15/G File Bandwidth In Free* $.08/G File Bandwidth Out $.15* $.22/G
  53. 53. Performance Comparison I haven't done a comparison myself, but others have: http://www.thebitsource.com/featured- posts/rackspace-cloud-servers-versus- amazon-ec2-performance-analysis/ http://journal.uggedal.com/vps-performance- comparison
  54. 54. Performance Comparison 5 different benchmarks were carried out every 3 hours over a week, leading to 56 runs each. The slowest system used up to 3 hours to complete all 5 benchmarks. Weeklong benchmarking was used to account for variance in host load during the day/night and week. - Eivind Uggedal
  55. 55. Performance Comparison Single Processor Unixbench
  56. 56. Performance Comparison Multiple Processor Unixbench
  57. 57. Performance Comparison SQLBench on PostgreSQL
  58. 58. Performance Comparison Summarizing the benchmarks gives us one clear winner: Linode. 32-bit gave the best results on the Unixbench runs while 64-bit was fastest on the Django and database tests. Since Linode also has the highest included bandwidth I have a hard time recommending any of the other providers if performance and price is most important for you. - Eivind Uggedal
  59. 59. Conclusions My personal opinion: Go with Linode unless you have a good reason not to. Unless you need: ✔Mixed dedicated and virtual ✔Windows or Solaris ✔Bells and whistles (SQS, RDS, etc) ✔Huge RAM needs
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×