29
INTRODUCTION TO EC2 Mark Squires II – RAMP51 Charlotte ALT.NET Target Audience: Senior Developers/Architects

Introduction to EC2

Embed Size (px)

DESCRIPTION

General high level overview of Amazon EC2, reviewing pricing

Citation preview

Page 1: Introduction to EC2

INTRODUCTION TO EC2

Mark Squires II – RAMP51

Charlotte ALT.NET

Target Audience: Senior Developers/Architects

Page 2: Introduction to EC2

Amazon Web Services

Provider of scalable infrastructure services

Core Cloud ServicesElastic Compute Cloud (EC2)Push/Pull Messaging (SQS/SNS)Simple Data Service (SDB) Durable Storage (S3)

Page 3: Introduction to EC2

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 emailsWe have lowered our pricesWe have added features

Page 4: Introduction to EC2

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.

Page 5: Introduction to EC2

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

Page 6: Introduction to EC2

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.

Page 7: Introduction to EC2

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

Page 8: Introduction to EC2

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

Page 9: Introduction to EC2

Non-Committal

No long term commitments required Free to play the field Mix and Match cloud services and cloud

providers

Page 10: Introduction to EC2

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

Page 11: Introduction to EC2

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

Page 12: Introduction to EC2

Instance Type Classes Micro

t1.micro(*up to 2 ECU)

Standardm1.small(1 ECU)

m1.large(2 ECU * 2 core)

m1.xlarge(2 ECU * 4 core)

High Memorym2.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

Nodes in yellow are 32-bit, other are 64-bit

*t1.micro is burstable, you share the CPU with others and get any unused cpu Cycles when needed

Page 13: Introduction to EC2

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 PricingReserved PricingSpot Pricing

Page 14: Introduction to EC2

It’s Priced HourlyT1.microON-DEMAND

T1.microRESERVED

T1.microSPOT

Windows $0.03 per hour $0.013 per hour Demand Based

Linux $0.02 per hour $0.007 per hour Demand Based

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

Page 15: Introduction to EC2

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

Page 16: Introduction to EC2

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.

Page 17: Introduction to EC2

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

Page 18: Introduction to EC2

Understanding Reserved 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

Page 19: Introduction to EC2

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

Page 20: Introduction to EC2

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 using1 – ELB (to allow easy horizontal scaling)1 - t1.micro 1 - m1.small (hosting SQL express)1 – db.m1.small MySQL RDS Instance1 – Simple DB Database

Page 21: Introduction to EC2

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 BloomingBlooming 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

Page 22: Introduction to EC2

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

Page 23: Introduction to EC2

Instance Management

All instances have basic CloudWatch 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

Page 24: Introduction to EC2

Major Tools Available ElasticFox – Firefox plugin, which I happen to prefer

for most tasksOpen source, but it appears Amazon stopped updating it

mid 2010There is probably some space for another open source

version aside from elastic fox Amazon Web Console – supports a lot of

management functionsDoes more than elasticfoxUseful 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.

Page 25: Introduction to EC2

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

Page 26: Introduction to EC2

Demonstration

Auto-Scaling an ASP.NET App that writes to Simple DB for shared data access

http://cltaltnetdemo.ramp51.com

Page 27: Introduction to EC2

Setting up CMD Tools

IAM Toolshttp://bit.ly/fb6Va6

EC2 Toolshttp://bit.ly/h7dIxA

ELB Toolshttp://bit.ly/fAm90a

Page 28: Introduction to EC2

Useful Links

EC2 Overviewhttp://aws.amazon.com/ec2/

EC2 Pricinghttp://aws.amazon.com/ec2/pricing/

AWS Bloghttp://aws.typepad.com/

AWS SDK for .NEThttp://aws.amazon.com/sdkfornet/

Page 29: Introduction to EC2

Contact Info

Mark [email protected]

Bloghttp://www.foreachyield.com