Case Study: Amazon AWS: CSE 40822 - Cloud Computing Prof. Douglas Thain University of Notre Dame
Case Study: Amazon AWS: CSE 40822 - Cloud Computing Prof. Douglas Thain University of Notre Dame
AWS
CSE 40822 Cloud Computing
Prof. Douglas Thain
University of Notre Dame
Caution to the Reader:
Herein are examples of prices consulted in October 2014, to give a sense of the
magnitude of costs. Do your own research before spending your own money!
Several Historical Trends
Shared Utility Computing
1960s MULTICS Concept of a Shared Computing Utility
1970s IBM Mainframes rent by the CPU-hour. (Fast/slow switch.)
Data Center Co-location
1990s-2000s Rent machines for months/years, keep them close to the network access
point and pay a flat rate. Avoid running your own building with utilities!
Pay as You Go
Early 2000s - Submit jobs to a remote service provider where they run on the raw
hardware. Sun Cloud ($1/CPU-hour, Solaris +SGE) IBM Deep Capacity Computing on
Demand (50 cents/hour)
Virtualization
1960s OS-VM, VM-360 Used to split mainframes into logical partitions.
1998 VMWare First practical implementation on X86, but at significant performance
hit.
2003 Xen paravirtualization provides much perf, but kernel must assist.
Late 2000s Intel and AMD add hardware support for virtualization.
Virtual-* Allows for the Scale of
Abstraction to Increase Over Time
Run one process within certain resource limits.
Op Sys has virtual memory, virtual CPU, and virtual storage (file system).
Run multiple processes within certain resource limits.
Resource containers (Solaris), virtual servers (Linux), virtual images
(Docker)
Run an entire operating system within certain limits.
Virtual machine technology: VMWare, Xen, KVM, etc.
Run a set of virtual machines connected via a private network.
Virtual networks (SDNs) provision bandwidth between virtual machines.
Run a private virtual architecture for every customer.
Automated tools replicate virtual infrastructure as needed.
Amazon AWS
Grew out of Amazons need to rapidly provision and configure
machines of standard configurations for its own business.
Early 2000s Both private and shared data centers began using
virtualization to perform server consolidation
2003 Internal memo by Chris Pinkham describing an
infrastructure service for the world.
2006 S3 first deployed in the spring, EC2 in the fall
2008 Elastic Block Store available.
2009 Relational Database Service
2012 DynamoDB
Does it turn a profit?
Terminology
Instance = One running virtual machine.
Instance Type = hardware configuration: cores,
memory, disk.
Instance Store Volume = Temporary disk associated
with instance.
Image (AMI) = Stored bits which can be turned into
instances.
Key Pair = Credentials used to access VM from
command line.
Region = Geographic location, price, laws, network
locality.
EC2 Pricing Model
Free Usage Tier
On-Demand Instances
Start and stop instances whenever you like, costs are
rounded up to the nearest hour. (Worst price)
Reserved Instances
Pay up front for one/three years in advance. (Best price)
Unused instances can be sold on a secondary market.
Spot Instances
Specify the price you are willing to pay, and instances get
started and stopped without any warning as the marked
changes. (Kind of like Condor!)
http://aws.amazon.com/ec2/pricing/
Free Usage Tier
750 hours of EC2 running Linux, RHEL, or SLES t2.micro
instance usage
750 hours of EC2 running Microsoft Windows Server t2.micro
instance usage
750 hours of Elastic Load Balancing plus 15 GB data processing
30 GB of Amazon Elastic Block Storage in any combination of
General Purpose (SSD) or Magnetic, plus 2 million I/Os (with
Magnetic) and 1 GB of snapshot storage
15 GB of bandwidth out aggregated across all AWS services
1 GB of Regional Data Transfer
Surprisingly, you cant scale up that
large.
Simple Storage Service (S3)
A bucket is a container for objects and describes location, logging,
accounting, and access control. A bucket can hold any number of
objects, which are files of up to 5TB. A bucket has a name that
must be globally unique.
Fundamental operations corresponding to HTTP actions:
http://bucket.s3.amazonaws.com/object
POST a new object or update an existing object.
GET an existing object from a bucket.
DELETE an object from the bucket
LIST keys present in a bucket, with a filter.
A bucket has a flat directory structure (despite the appearance
given by the interactive web interface.)
Easily Integrated into Web
Applications
<form action="http://examplebucket.s3.amazonaws.com/" method="post"
enctype="multipart/form-data">
http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-post-
example.html
Bucket Properties
aws s3 help
aws s3 ls help
EC2 Command Line Examples
aws ec2 describe-instances
run-instances --image-id ami-xxxxx -- count 1
--instance-type t1.micro
--key-name keyfile
stop-instances --instance-id i-xxxxxx