KEMBAR78
Cloud Computing: AWS for Lean Startups | PDF
Cloud Computing:
AWS for Lean Startups
    Zvi Avraham, CTO
        Nivertech
     zvi@nivertech.com
   http://www.nivertech.com
Buzzwords History


• Utility Computing ~ 2000
 • Grid Computing ~ 2003
• Cloud Computing ~ 2006
Buzzwords History


     • ASP ~ 2000
 • No Software ~ 1999
    • SaaS ~ 2006
What is a Cloud?
Cloud Computing defined
• “… a style of computing in which dynamically
  scalable and often virtualized resources are
  provided as a service over the Internet”
  – Wikipedia
Cloud Computing defined
• “Clouds are hardware-based services offering
  compute, network and storage capacity
  where: Hardware management is highly
  abstracted from the buyer, Buyers incur
  infrastructure costs as variable OPEX, and
  Infrastructure capacity is highly elastic”
  – McKinsey & Co. Report: “Clearing the Air on
    Cloud Computing”
Cloud Computing defined
• “Cloud computing has the following
  characteristics:
  1. The illusion of infinite computing resources…
  2. The elimination of an up-front commitment by
     Cloud users…
  3. The ability to pay for use…as needed…”
  – UCBerkeley RADLabs
Cloud Computing defined
• “... a pay-per-use model for enabling available,
  convenient, on-demand network access to a
  shared pool of configurable computing
  resources (e.g., networks, servers, storage,
  applications, services) that can be rapidly
  provisioned and released with minimal
  management effort or service provider
  interaction.”
  – National Institute of Standards and Technology
    (NIST)
Cloud Computing defined
• “Clouds are a large pool of easily usable and
  accessible virtualized resources (such as
  hardware, development platforms and/or
  services). These resources can be dynamically re-
  configured to adjust to a variable load (scale),
  allow-ing also for an optimum resource
  utilization. This pool of resources is typically
  exploited by a pay-per-use model in which
  guarantees are offered by the Infrastructure
  Provider by means of customized SLAs.”
  – Paper by Vaquero et. al.: “A break in the clouds:
    towards a cloud definition”
What is a Cloud?



• Datacenter with an API
What is a Cloud?



 • Timesharing 2.0
Common Ground?
•   Pay-per-use (no commitment, utility prices)
•   Elastic capacity - scale up/down on demand
•   Self-service interface
•   Resources are abstracted / virtualized
Types of Cloud


  • Public Cloud
 • Private Cloud
 • Hybrid Cloud
Public vs. Private Cloud
Public Cloud               Private Cloud
Variable expenses (OPEX)   Capital expenses (CAPEX)
Less control               More control
More locations             Fewer locations
Less secure?               More secure?
X-aaS
Anything as a Service

        • IaaS

       • PaaS

       • SaaS
IaaS / PaaS / SaaS
IaaS / PaaS / SaaS
IaaS vendors
•   Amazon Web Services
•   Rackspace Cloud
•   GoGrid
•   Windows Azure? (*)
    – VM Role
• Google Storage for Devs

• Open IaaS standards:
    – OpenStack
    – Ecalyptus
PaaS
PaaS vendors
•   Windows Azure - .NET (and others)
•   Google App Engine – Python, Java
•   Heroku (Salesforce) – Ruby/Rails, node.js
•   Engine Yard – Ruby/Rails
•   DotCloud – almost anything
•   no.de – node.js
•   ep.io, gondor.io – Python/Django
•   AppHarbor - .NET
•   CloudFoundry (VMware) – Open-source PaaS
    – Java/Spring, Ruby/Rails, MongoDB, etc.
• RedHat – Open(?)source
Human Cloud
• Mechanical Turk
  – crowdsourcing
  – http://mturk.com
Turkers
Telecom Cloud
AWS
     IaaS     +  PaaS
•   S3           •   AutoScaling
•   CloudFront   •   ElasticBeanstalk
•   EC2          •   CloudWatch
•   EBS          •   SQS
•   ElasticIP    •   SimpleDB
•   ELB          •   RDS
•   IAM          •   MTurk
•   VPC          •   CloudFormation
AWS Storage & Databases
• S3
  – Simple Storage Service (like FTP)
  – Static Web sites
  – CDN via CloudFront
• SimpleDB
  – NoSQL document database
• RDS
  – Relational Database Service
  – Managed MySQL database
• EMR
  – Elastic Map/Reduce – Managed Hadoop
EC2 Instance Types
                                     http://www.ec2instances.info/
Instance Name            RAM    Compute Units      Storage Arch.     I/O         Linux    Win.
                         (GB)   (cores x units)    (GB)    (bits)                cost,    cost,
                                                                                 $/hour   $/hour
Micro                    0.6    2*                 EBS       32/64   Low         0.02     0.03
Small                    1.7    1 (1x1)            160       32      Moderate    0.085    0.12
Large                    7.5    4 (2x2)            850       64      High        0.34     0.48
Extra Large (XL)         15     8 (4x2)            1690      64      High        0.68     0.96
High-memory XL           17.1   6.5 (2x3.25)       420       64      Moderate    0.50     0.62

High-memory Double XL 34.2      13 (4x3.25)        850       64      High        1.00     1.24

High-memory Quad. XL     68.4   26 (8x3.25)        1690      64      High        2.00     2.48

High-CPU Medium          1.7    5 (2x2.5)          350       32      Moderate    0.17     0.29
High-CPU XL              7      20 (8x2.5)         1690      64      High        0.68     1.16

Cluster Comp. Quad. XL   23     33.5               1690      64      Very High   1.60     N/A
                                2 x Xeon X5570
Cluster GPU Quad. XL     22     33.5               1690      64      Very High   2.10     N/A
                                2 x Xeon X5570
EC2 Instances Pricing

On-demand (default)       Most expensive
Reserved for 1 year       Prepaid with per hour discount
Reserved for 3 years      Prepaid with large per hour discount
Spot                      Cheap, but can be killed anytime
Spot Instances
AWS Free tier
• Amazon offers new AWS customers with a bundle
  of services free each month of their first year:
  – 750 hours of EC2 running Linux Micro instance usage
  – 750 hours of ELB plus 15 GM data processing
  – 10 GB of Amazon EBS plus 1 million IOs, 1GB snapshot
    storage, 10,000 snapshot Get Requests and 1,000
    snapshot Put Requests
  – 15 GB of bandwidth in and 15 GB of bandwidth out
    aggregated across all AWS services
Demo time
Q&A

Cloud Computing: AWS for Lean Startups

  • 1.
    Cloud Computing: AWS forLean Startups Zvi Avraham, CTO Nivertech zvi@nivertech.com http://www.nivertech.com
  • 2.
    Buzzwords History • UtilityComputing ~ 2000 • Grid Computing ~ 2003 • Cloud Computing ~ 2006
  • 3.
    Buzzwords History • ASP ~ 2000 • No Software ~ 1999 • SaaS ~ 2006
  • 4.
    What is aCloud?
  • 5.
    Cloud Computing defined •“… a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet” – Wikipedia
  • 6.
    Cloud Computing defined •“Clouds are hardware-based services offering compute, network and storage capacity where: Hardware management is highly abstracted from the buyer, Buyers incur infrastructure costs as variable OPEX, and Infrastructure capacity is highly elastic” – McKinsey & Co. Report: “Clearing the Air on Cloud Computing”
  • 7.
    Cloud Computing defined •“Cloud computing has the following characteristics: 1. The illusion of infinite computing resources… 2. The elimination of an up-front commitment by Cloud users… 3. The ability to pay for use…as needed…” – UCBerkeley RADLabs
  • 8.
    Cloud Computing defined •“... a pay-per-use model for enabling available, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.” – National Institute of Standards and Technology (NIST)
  • 9.
    Cloud Computing defined •“Clouds are a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms and/or services). These resources can be dynamically re- configured to adjust to a variable load (scale), allow-ing also for an optimum resource utilization. This pool of resources is typically exploited by a pay-per-use model in which guarantees are offered by the Infrastructure Provider by means of customized SLAs.” – Paper by Vaquero et. al.: “A break in the clouds: towards a cloud definition”
  • 10.
    What is aCloud? • Datacenter with an API
  • 11.
    What is aCloud? • Timesharing 2.0
  • 12.
    Common Ground? • Pay-per-use (no commitment, utility prices) • Elastic capacity - scale up/down on demand • Self-service interface • Resources are abstracted / virtualized
  • 13.
    Types of Cloud • Public Cloud • Private Cloud • Hybrid Cloud
  • 14.
    Public vs. PrivateCloud Public Cloud Private Cloud Variable expenses (OPEX) Capital expenses (CAPEX) Less control More control More locations Fewer locations Less secure? More secure?
  • 15.
    X-aaS Anything as aService • IaaS • PaaS • SaaS
  • 16.
  • 17.
  • 18.
    IaaS vendors • Amazon Web Services • Rackspace Cloud • GoGrid • Windows Azure? (*) – VM Role • Google Storage for Devs • Open IaaS standards: – OpenStack – Ecalyptus
  • 19.
  • 20.
    PaaS vendors • Windows Azure - .NET (and others) • Google App Engine – Python, Java • Heroku (Salesforce) – Ruby/Rails, node.js • Engine Yard – Ruby/Rails • DotCloud – almost anything • no.de – node.js • ep.io, gondor.io – Python/Django • AppHarbor - .NET • CloudFoundry (VMware) – Open-source PaaS – Java/Spring, Ruby/Rails, MongoDB, etc. • RedHat – Open(?)source
  • 21.
    Human Cloud • MechanicalTurk – crowdsourcing – http://mturk.com
  • 22.
  • 23.
  • 24.
    AWS IaaS + PaaS • S3 • AutoScaling • CloudFront • ElasticBeanstalk • EC2 • CloudWatch • EBS • SQS • ElasticIP • SimpleDB • ELB • RDS • IAM • MTurk • VPC • CloudFormation
  • 25.
    AWS Storage &Databases • S3 – Simple Storage Service (like FTP) – Static Web sites – CDN via CloudFront • SimpleDB – NoSQL document database • RDS – Relational Database Service – Managed MySQL database • EMR – Elastic Map/Reduce – Managed Hadoop
  • 26.
    EC2 Instance Types http://www.ec2instances.info/ Instance Name RAM Compute Units Storage Arch. I/O Linux Win. (GB) (cores x units) (GB) (bits) cost, cost, $/hour $/hour Micro 0.6 2* EBS 32/64 Low 0.02 0.03 Small 1.7 1 (1x1) 160 32 Moderate 0.085 0.12 Large 7.5 4 (2x2) 850 64 High 0.34 0.48 Extra Large (XL) 15 8 (4x2) 1690 64 High 0.68 0.96 High-memory XL 17.1 6.5 (2x3.25) 420 64 Moderate 0.50 0.62 High-memory Double XL 34.2 13 (4x3.25) 850 64 High 1.00 1.24 High-memory Quad. XL 68.4 26 (8x3.25) 1690 64 High 2.00 2.48 High-CPU Medium 1.7 5 (2x2.5) 350 32 Moderate 0.17 0.29 High-CPU XL 7 20 (8x2.5) 1690 64 High 0.68 1.16 Cluster Comp. Quad. XL 23 33.5 1690 64 Very High 1.60 N/A 2 x Xeon X5570 Cluster GPU Quad. XL 22 33.5 1690 64 Very High 2.10 N/A 2 x Xeon X5570
  • 27.
    EC2 Instances Pricing On-demand(default) Most expensive Reserved for 1 year Prepaid with per hour discount Reserved for 3 years Prepaid with large per hour discount Spot Cheap, but can be killed anytime
  • 28.
  • 29.
    AWS Free tier •Amazon offers new AWS customers with a bundle of services free each month of their first year: – 750 hours of EC2 running Linux Micro instance usage – 750 hours of ELB plus 15 GM data processing – 10 GB of Amazon EBS plus 1 million IOs, 1GB snapshot storage, 10,000 snapshot Get Requests and 1,000 snapshot Put Requests – 15 GB of bandwidth in and 15 GB of bandwidth out aggregated across all AWS services
  • 30.
  • 31.