cloud computing in practice

Post on 01-Sep-2014

17.046 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Experiences with Amazon Web Services and thoughts on Cloud Computing presented at Cybera Summit 08 in Banff, Canada.

TRANSCRIPT

Cloud Computing in Practice

King Chung HuangTechnical Solutions Analyst, University of Calgary

Using services in the cloud, develop a large-scalevideo conversion system.”

What is Cloud Computing?

whatis.comdefinition of Cloud Computing

Cloud computing is simply a buzzword used to repackage grid

computing and utility computing, both of which have existed for

decades.”

Larry Ellisonduring Oracle’s Analyst Day

The interesting thing about cloud computing is that we’ve

redefined cloud computing to include everything that we

already do. […] The computer industry is the only industry that

is more fashion-driven than women’s fashion. Maybe I’m an idiot,

but I have no idea what anyone is talking about. What is it? It’s

complete gibberish. It’s insane. When is this idiocy going to stop?

Larry Ellisonduring Oracle’s Analyst Day

The interesting thing about cloud computing is that we’ve

redefined cloud computing to include everything that we

already do. […] The computer industry is the only industry that

is more fashion-driven than women’s fashion. Maybe I’m an idiot,

but I have no idea what anyone is talking about. What is it? It’s

complete gibberish. It’s insane. When is this idiocy going to stop?

Getting Started

Infrastructure Services

Elastic Compute Cloud

Simple Storage Service

Simple Queue Service

SimpleDB

Payments & Billing

Flexible Payments Service

DevPay

On-Demand Workforce

Mechanical Turk

Web Search & Information

Web Search

Web Information Service

Top Sites

Site ThumbnailFulfillment & Associates

Fulfillment Web Service

Associates Web Service

Infrastructure Services

Elastic Compute Cloud

Simple Storage Service

Simple Queue Service

SimpleDB

Payments & Billing

Flexible Payments Service

DevPay

On-Demand Workforce

Mechanical Turk

Web Search & Information

Web Search

Web Information Service

Top Sites

Site ThumbnailFulfillment & Associates

Fulfillment Web Service

Associates Web Service

Infrastructure Services

Elastic Compute Cloud

Simple Storage Service

Simple Queue Service

SimpleDB

Payments & Billing

Flexible Payments Service

DevPay

On-Demand Workforce

Mechanical Turk

Web Search & Information

Web Search

Web Information Service

Top Sites

Site ThumbnailFulfillment & Associates

Fulfillment Web Service

Associates Web Service

Amazon Mechanical Turk• Marketplace for work that requires human intelligence

■ Enables programmatic distribution of tasks that require human intelligence

• Human Intelligence Tasks (HITs)■ Desired output■ Format of output■ Pay rate

• Only pay for quality work■ Review results and pay for accepted work

Ten Thousand Cents• Drawing collected from November 2007 to March 2008• Total labour paid: US$100

■ 1¢ per part × 10 000 parts• Prints available for purchase

■ $100 each

Video Conversion Plan• Upload source content to Simple Storage Service (S3)• Instantiate virtual machines on Elastic Compute Cloud (EC2)

to perform conversions■ Be able to instantiate more conversion machines as needed

to scale to demand■ Use Simple Queue Service (SQS) to queue requests

• Log status and results in SimpleDB (SDB)■ Was not able to gain access during beta period

• Deliver conversion results from S3

Accessing Infrastructure Services• Web service APIs

■ SOAP and REST• Many applications/plugins support S3

■ Transmit on Mac OS X■ S3Fox for Firefox

• AWS Developer Community provides lots of documentation and sample code■ JavaScript, PHP, Python

• Many public machine images for EC2 are available■ Use them as a starting point for custom machines

• In actuality, you rarely have to start from scratch

Pricing• Pay only for what you use

■ Data transfer■ Data storage■ Instance time■ Transactions

PricingSimple Storage Service (United States)

Storage 15¢ per GB-month

Data Transfer In 10¢ per GB

Data Transfer Out 10¢–17¢ per GB

PUT, POST, or LIST 1.0¢ per 1000 requests

GET 1.0¢ per 10000 requests

PricingSimple Storage Service (Europe)

Storage 18¢ per GB-month

Data Transfer In 10¢ per GB

Data Transfer Out 10¢–17¢ per GB

PUT, POST, or LIST 1.2¢ per 1000 requests

GET 1.2¢ per 10000 requests

PricingSimple Queue Service

Storage none

Data Transfer In 10¢ per GB

Data Transfer Out 10¢–17¢ per GB

Requests 1.0¢ per 10000 requests

PricingSimple Queue Service (Old API, prior to 2008)

Storage none

Data Transfer In 10¢ per GB

Data Transfer Out 10¢–17¢ per GB

Requests 1.0¢ per 10000 requests

Messages 10¢ per 1000 messages

PricingSimple Queue Service (Old API, prior to 2008)

Impact of the Price Change

We examined the effect that the new pricing would have had on Amazon SQS charges billed at the end of December 2007. Under the new plan, 76% of customers with bills greater than $1 would have received lower bills, saving an average of 71% each compared to their actual bill.source: http://aws.amazon.com/sqs/

PricingElastic Compute Service

Instances 10¢–80¢ per hour

Data Transfer In 10¢ per GB

Data Transfer Out 10¢–17¢ per GB

PricingFreebies

• Data transfer between EC2 instances are free■ Instances must be in the same availability zone■ Instances must address each other by private IP addresses

• Data transfer between EC2 instances and S3 are free• Data transfer between EC2 instances and SQS are free

PricingElastic IP Addresses (EC2)

• IPv4 Addresses are scarce• Instances are dynamically assigned a public IP address

and a private IP address• IPv4 addresses can be statically allocated and used for instances

■ No cost while in use■ 1¢ per non-attached Elastic IP address per hour

Nuances

• Storage is organized in buckets■ Like a namespace for the objects it contains■ Accessible via http://bucketname.s3.amazonaws.com

• It’s not file storage, it’s a key-value store■ Like a big hash table or dictionary■ Key-value pairs

■ Movies/My Movie.mp4 ➜ ftypmp42isom5eiomdat9af…■ UserHomePage ➜ http://www.ucalgary.ca/~kchuang/

• Implicit BitTorrent seeding for all keys

Simple Storage Service (S3)

Elastic Compute Cloud (EC2)• Machine images are templates

■ Run multiple instances from the same image■ Appliance model

• Data can be passed to instances at startup■ Provide input to an instance■ Negates the need to communicate to an instance

• Storage is independent of the machine■ By default, instance storage is transient■ Elastic Block Storage can be attached/detached as needed

■ Lifecycle is independent of instances

Beyond Raw Utilities• Additional facilities around traditional infrastructure elements

increases their usability■ Fits well with on-demand, only what you need usage model■ Enables uses that were previously not possible

Speed Bumps

Reality BitesSimple Storage Service

• S3 objects have a maximum size of 5 GB■ Split objects like machine images

• Changing one byte means reinserting the entire object• Renaming (re-keying) an object also means reinserting

■ New beta API allows for object moves within a bucket• Various bugs in third-party apps and S3 itself

■ Inserting objects between 2 to 4 GB can be difficult• Bandwidth can be a significant barrier

■ Project goal of inserting 1 TB would have taken 168 days

Reality BitesElastic Compute Cloud

• Making a change means recreating an entire image• Default storage is transient

■ Lasts only as long as the instance it is attached to■ Elastic Block Storage can only be attached to a single

instance at a time• Instances are billed by the hour

■ Constantly starting and stopping short-run instancescan be costly

All Together, Now!

• Completely implemented in JavaScript *■ Calls Amazon services directly via REST APIs

• Contacts S3 to retrieve stored videos• Converts video on demand

■ Writes jobs to an SQS queue■ Invokes EC2 instances, which reads from job queue and

performs conversion

Cumulus

* time constraints necessitated the use of some existing PHP sample code

Demo

Project Timeline

7

14

21

28

31

August 26

September 29

Project Timeline

7

14

21

28

31

August 26

September 29

8/26: project kickoff8/29: project planning

Project Timeline

7

14

21

28

31

August 26

September 29

9/2: work begins

Project Timeline

7

14

21

28

31

August 26

September 29

9/8: daapd server abandoned

9/5: slow upload speeds

Project Timeline

7

14

21

28

31

August 26

September 29

9/11: attempting video conversion

9/12: visiting clouds

Project Timeline

7

14

21

28

31

August 26

September 29

9/18: bandwidth increased

9/18: first video converted

Project Timeline

7

14

21

28

31

August 26

September 29

9/22: creating front-end web app

9/26: starting presentation

Project Timeline

7

14

21

28

31

August 26

September 29

9/29: still working on presentation

Project Timeline

7

14

21

28

31

August 26

September 29

By the Numbers

working daysweekendstransferredinstance hoursspentmiles

192

70 GB321

$41.6016324

as of September 27, 2008

Lessons Learned

Cloud Computing is more than Raw Utilities

Cloud ComputingEnables Tinkering

Bandwidth Can Be Problematic

Centralization Results in Centralization of Risk

Be Aware ofService Level Agreements

More Information

King Chung HuangTechnical Solutions Analyst, University of Calgarykchuang@ucalgary.ca

Patrick MannChief Technology Officer, Cyberapatrick.mann@cybera.ca

Cloud Computing White Papercoming soonhttp://www.cybera.ca

Q&A

top related