Build Scalable Services For Amazon EC2 Reserved Instances

15
Build Scalable Services for Amazon EC2 Kiran Meduri Sr. Software Engineer Case Study of EC2 Reserved Instances

Transcript of Build Scalable Services For Amazon EC2 Reserved Instances

Build Scalable Services for

Amazon EC2

Kiran MeduriSr. Software Engineer

Case Study of EC2 Reserved Instances

Amazon EC2 Pricing Options

Pay for what you use:On-Demand (OD) : Hourly rate

Reserved Instances (RI): One-time upfront fee in exchange for significantly lower hourly fee (up to 65% savings) and a capacity reservation

Spot (SP): Bid for unused EC2 capacity, in exchange for up to 92% savings

Plus AWS Free Usage Tier for new customers getting started with EC2

Reserved Instance Marketplace

Greater Selection of term

lengths and prices for

Buyers

Flexibility to sell Reserved

Instances when your needs

change. Examples:Moving instances to a new AWS

Region

Changing to a new instance type

Switching Operating Systems

Selling capacity for projects that end

before the term expires

Working Back from Customer

Determine the ideal

customer experience

(PR/FAQ)

Focus on the minimal

viable product

Build the system

Launch it

Get feedback

Rinse and repeat

PR/FAQ Architecture

Service Oriented Architecture

Fault Tolerant

Secure

Service Oriented Architecture

Loosely coupled services with clear separation

of responsibilities

Subscription

Service

Reserved Instances

Service

Capacity

Service

Charge

ServiceAccounts

Service

Service Topology

us-east-1a

us-east-1b

us-east-1cDynamoDB

Amazon RDS

SWF

SQS

S3

Service Endpoint

Asynchronous Process

* Overly Simplified

LB

Fault Tolerant

“Everything fails all the time”

- Werner Vogels, CTO, Amazon

Minimize Blast Radius

Redundant Systems

Asynchronous Processing

Use AWS services

GameDay!

Building in Fault Tolerance

us-east-1a

us-east-1b

us-east-1cDynamoDB

Amazon RDS

SWF

SQS

S3

XLB

Secure

Trust No One

AWS Identity & Access Management

Security Audit & Review

Penetration Testing

Secure Code

Our Recipe

Languages: Java, Ruby, JavaScript

Storage: MySQL, DynamoDB

Cache: memcached

Queues/Asynchronous: SQS, SWF, SNS

Development/Deployment: GIT, Apollo

Monitoring: CloudWatch (Internal Version)

Frameworks: Spring, Hibernate, Netty, GWT

Processes & Practices

Paired Development

Continuous Delivery

Phased Deployments with Easy Rollback

Instrumented Systems

Automated Monitoring and Alarms

Phased Deployment

14

Lessons

Innovate

Automation over Best

Intentions

Be Operationally Ready

Audit Frequently

Work at Amazon, Want You…