Introduction to EC2
Upcoming SlideShare
Loading in...5
×
 

Introduction to EC2

on

  • 1,592 views

General high level overview of Amazon EC2, reviewing pricing

General high level overview of Amazon EC2, reviewing pricing

Statistics

Views

Total Views
1,592
Views on SlideShare
1,583
Embed Views
9

Actions

Likes
1
Downloads
28
Comments
0

2 Embeds 9

http://speakerrate.com 8
http://paper.li 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introduction to EC2 Introduction to EC2 Presentation Transcript

  • Introduction to ec2
    Mark Squires II – RAMP51
    Charlotte ALT.NET
    Target Audience: Senior Developers/Architects
  • Amazon Web Services
    Provider of scalable infrastructure services
    Core Cloud Services
    Elastic Compute Cloud (EC2)
    Push/Pull Messaging (SQS/SNS)
    Simple Data Service (SDB)
    Durable Storage (S3)
  • My Favorite Thing About AWS
    What I love most about AWS is it’s the only service I pay for monthly that routinely sends me emails with good news.
    Its always one of two possible emails
    We have lowered our prices
    We have added features
  • Not in this powerpoint
    Information about non EC2 services
    Security groups
    Snapshots,or AMI’s
    However, we can talk about some of these things. I just wanted to prevent a 200 slide deck.
  • AWS Platform Overview
    Courtesy of Mike Culver at AWS. (Approved Usage By AWS)
    This is actually outdated, as there is a 5th region now in Japan
  • What is EC2?
    Primarily Ec2 is the service that will provide you with a virtual instance that you can remote into (RDP/SSH)
    Create an instance
    Create a machine image
    Create a load balancer
    Create snap shots of your disks
    Create static ip address
    Ability to swap drives and ip addresses between instances
    Ability to use SSL Termination at the load balancer
    Ability to define intricate security groups and firewall rules between security groups and for external CIDR blocks
    Ability to monitor instances and create alerts
    Ability to load balance across multiple physical data centers
    Ec2 does some other things too that are out of the scope of this presentation.
  • Components of EC2
    Elastic Block Store (EBS) – storage
    EBS Snapshotting
    Amazon CloudWatch – monitoring
    Amazon Machine Images
    Auto Scaling – horizontal scaling
    Elastic Load Balancing
    Virtual Private Cloud – vpn bridge
    Elastic IP Address
    High Performance Compute Clusters
    VMWare Image Import
  • Designed Expecting to Fail
    The cloud is NOT designed to prevent failure, but to anticipate failure
    While nearly any application can be deployed to EC2 the best applications for EC2 have already been designed expecting failures
  • Non-Committal
    No long term commitments required
    Free to play the field
    Mix and Match cloud services and cloud providers
  • What you get?
    The price of an instance is based on attributes of the type of instance you created.
    Windows costs more than Linux. (Amazon kindly includes the cost of your windows license in the price)
    More memory, more CPU drive up the hourly cost
  • What’s included?
    When you buy an instance you are renting:
    A fixed allotment of CPU measured in Elastic Compute Units (ECUs)
    A fixed allotment of Memory (RAM)
    Some instance types offer a fixed allotment of temporary ephemeral storage
  • Instance Type Classes
    Micro
    t1.micro(*up to 2 ECU)
    Standard
    m1.small(1 ECU)
    m1.large(2 ECU * 2 core)
    m1.xlarge(2 ECU * 4 core)
    High Memory
    m2.xlarge(3.25 ECU * 2 core)
    m2.2xlarge(3.25 ECU * 4 core)
    m2.4xlarge(3.25 ECU * 8 core)
    • High Compute
    • c1.medium
    • c1.xlarge
    • Cluster Compute
    • cc1.4xlarge
    • Cluster GPU
    • cg1.4xlarge
    *t1.micro is burstable, you share
    the CPU with others and get any
    unused cpu Cycles when needed
    Nodes in yellow are 32-bit, other are 64-bit
  • Geez. What does it cost?
    There is a sea of pricing options making it very flexible.
    You can get very creative in how you manage these costs.
    There are three major pricing schemes for an EC2 instance.
    On-Demand Pricing
    Reserved Pricing
    Spot Pricing
  • It’s Priced Hourly
    These prices are only for one particular instance size, the T1.MICRO which is the smallest & cheapest instance type
    The pricing plans are not only different in pricing, but also have differences in instance availability
  • An Instance Hour
    Each hour or partial hour you are using any EC2 Instance counts as an “Instance Hour” you are billed by the instance hour
  • On Demand Pricing
    Request an instance on demand and use it until you are done with it
    More expensive than other pricing options from an hourly perspective
    Contingent on Capacity, if AWS has no available capacity for the instance type in the availability zone that you requested, you will get an “out of capacity” error.
  • Reserved Pricing Plan
    Requires a 1 year or 3 year commitment and a corresponding commitment fee
    Can’t be used on SQL Server Standard instances
    Usually saves ~30-55% for instances that are run continually (24x7)
    Guarantees you that an instance for your reservation type in the AZ of your reservation will always be available upon your request
  • UnderstandingReserved Pricing
    Reserved Pricing Doesn’t buy you another instance
    Assume you use a Linux t1.micro instance 24x7 for an entire year ON-DEMAND. You are paying for 24*365=8760 instance hours @ $0.02
    $175.20 per year
    If you buy a “1 Year Reservation” for a Linux t1.micro instance, you have simply bought the right to pay $0.007 per hour for ~8760 instance hours during the next year instead of $0.02 per hour.
    It doesn’t apply to any particular ec2 instance, it’s more of a billing discount, the 1 year reservation you just purchased will be automatically apply to one of your existing instances that match the reservation criteria
    It does however guarantee that at least one type of this instance will be available for your use whenever you need it
  • Spot Pricing
    How Amazon monetizes all it’s available resources
    Works like the stock market
    More Demand = Higher Price
    Bid based model, people who Bid more will steal resources from the person with the lowest bid
    Should only be used to host applications that have tolerance for being randomly shut down without notice
    Usually the cheapest pricing, but not always
  • ASP.NET on EC2
    Easily load balance your ASP.NET app using an EC2 Elastic Load Balancer
    SQL Server can be costly unless your application can run on SQL Server Express
    RAMP51 is currently running multiple asp.net websites using
    1 – ELB (to allow easy horizontal scaling)
    1 - t1.micro
    1 - m1.small (hosting SQL express)
    1 – db.m1.small MySQL RDS Instance
    1 – Simple DB Database
  • Creative Cost Savings
    Horizontal scaling up of application tiers during peak hours and down during slow hours, reducing instance hours to be paid for; via Auto Scaling groups or Spot Instance Tier Blooming (I made this term up I think)
    Spot Instance Tier Blooming
    Blooming your web tier with extra instance based on spot pricing, for example (add as many t1.micro instances to my web tier as I can get for $0.10/hr during the hours of 9am est – 5pm est
    Not sure any applications exist yet that will do this but its an idea I’ve been pondering
  • More Cost Savings
    Using MySql via Amazon RDS
    Using SimpleDB Service
    Using a SQL Azure instance from your EC2 Instance (haven’t tested latency of this)
    Moving web assets onto S3/CloudFront reducing bandwidth costs and load on instances
  • Instance Management
    All instances have basicCloudWatch monitoring which monitors IO, CPU, Memory
    Detailed monitoring is available which monitors at a higher interval than basic
    AWS is driven by a powerful set of APIs so you either need to write code or use a tool to manage your AWS resources
  • Major Tools Available
    ElasticFox – Firefox plugin, which I happen to prefer for most tasks
    Open source, but it appears Amazon stopped updating it mid 2010
    There is probably some space for another open source version aside from elastic fox
    Amazon Web Console – supports a lot of management functions
    Does more than elasticfox
    Useful for many services not just EC2
    Command Line Tools available for all services. The command line tools are usually the first to support new features.
  • Auto Scaling
    EC2 offers the ability for you to automatically scale a group of services up and down based on a metric
    For example, you have an auto-scaling group that has 2 instances serving web requests
    You could define an auto-scaling rule such as: if the avg. CPU usage exceed 85% for longer than 5 minutes add 2 more instances, and when the avg. CPU drops below 50% for more than 20 minutes shut down two instances
    There are a wide variety of configurations you can create that can leverage a number of metrics
  • Demonstration
    Auto-Scaling an ASP.NET App that writes to Simple DB for shared data access
    http://cltaltnetdemo.ramp51.com
  • Setting up CMD Tools
    IAM Tools
    http://bit.ly/fb6Va6
    EC2 Tools
    http://bit.ly/h7dIxA
    ELB Tools
    http://bit.ly/fAm90a
  • Useful Links
    EC2 Overview
    http://aws.amazon.com/ec2/
    EC2 Pricing
    http://aws.amazon.com/ec2/pricing/
    AWS Blog
    http://aws.typepad.com/
    AWS SDK for .NET
    http://aws.amazon.com/sdkfornet/
  • Contact Info
    Mark Squires
    Mark.squires@ramp51.com
    Blog
    http://www.foreachyield.com