Quick Overview of Amazon AWS cloud services

Posted on Sunday, April 15, 2012






This guide was created on 4/15/2012  an updated guide is at

http://www.whiteboardcoder.com/2012/12/quick-overview-of-amazon-aws-cloud.html 





Amazon provides many different cloud services here is a quick overview what I will be covering in this document.  (These are a subset of all of Amazons AWS offerings at the time of this writing)

  • S3
  • EC2
    • AMI
    • EBS
    • Snapshots
    • Elastic IP
    • Elastic Load Balancers
    • Security
    • Monitoring
  • RDS Database
    • MySQL
    • Oracle
    • Monitoring
  • Route 53
  • Dynamo DB (beta)
  • Storage Gateway (beta)



Amazon AWS



Before I get into specific services I will go over some overall descriptions of Amazon AWS facilities and developer/admin tools.  

Facilities

Amazon AWS has several data centers located in unique geographical locations.  This is a current list of where their data centers are located.

  1. US East (Virginia)
  2. US West (Orgeon)
  3. US West (North California)
  4. EU (Ireland)
  5. Asia Pacific (Singapore)
  6. Asia Pacific (Tokyo)
  7. South America (Sao Paulo)


For the most part each region offers all the AWS services.  Different regions do have different cost based on local costs, taxes, etc.  As an example A Large EC2 instance cost $0.34/hr in US East, but costs $0.40/hr in Tokyo.

Within each facility are “Availability Zones”.  “Each availability zone runs on its own physically distinct, independent infrastructure, and is engineered to be highly reliable” [1].   This gives you the ability to stay within one region and still have completely redundant facilities.  The only potential risk is if an entire region somehow has a natural catastrophe, think flood or other large natural catastrophe.

Management Tools

Amazon AWS comes with several tools to build, deploy, and manage your cloud.  The simplest tool they offer is the AWS Management Console.  The console is a simple web based tool that give you quick access to most of the tools available from Amazon AWS.



There are also third party developers who have created web based management tools for the Amazon cloud.  One, I particularly like for small business, is ylastic (http://ylastic.com/ [3]) it cost $25/mo for basic and $50/mo for their plus subscription.  For a small nimble business I have found it to pay for itself several times over, and that’s coming from a guy who loves using the command line tools.   

There are more robust management tools out there like RightScale’s offering (http://www.rightscale.com [4]).  RightScale helps you manage multiple cloud offerings, amazon aws, Rackspace, and several more.  They also allow you to manage your own internal cloud.   There offering is aimed more at larger businesses or businesses with a more complex cloud infrastructure.

Developer Tools

Amazon also provides developer tools to access AWS systems at http://aws.amazon.com/developertools [2].  Currently there are libraries available in Java http://aws.amazon.com/sdkforjava/ [5] and .NET http://aws.amazon.com/sdkfornet/ [6].    These are great if you need to develop some software to interact with AWS services.

Amazon also provides command line tools which can be found on this page http://aws.amazon.com/developertools/351 [7].    These are great for precise repeatable deployment procedures.  I have used them a lot over the past year when creating my own Amazon AMI machines.


S3 (Simple Storage Service) 


S3 is a great storage service from amazon.  S3 provides a
“bucket” to store your data in.  You can place objects in S3 from 1 byte to 5 Terabytes in size.   There is no limit to the number of objects you can have in your bucket (unlimited storage).  It uses standard REST services to upload/download objects.  S3 Provides very basic security of objects.  Objects are URL accessible.

S3 provides 99.999999999% durability.  It is also possible to get 99.99% durability at a reduced cost.

S3 current costs (US)  11/6/2012


Standard
Reduced Redundancy
First 1 TB / month
$0.125 per GB
$0.093 per GB
Next 49 TB / month
$0.110 per GB
$0.083 per GB
Next 450 TB / month
$0.095 per GB
$0.073 per GB
Next 500 TB / month
$0.090 per GB
$0.063 per GB
Next 4000 TB / month
$0.080 per GB
$0.053 per GB
Over 5000 TB / month
$0.055 per GB
$0.037 per GB

There are also additional costs for Data transfer OUT, transfer in are
free. In addition there is a cost of $0.01 per 10,000 GET request and $0.01 per 1,000 PUT, COPY, POST, or LIST Requests.

EC2


Amazon Elastic Cloud computing allows you to rent a server by the hour.  There are several tools within EC2 to help deploy and manage your servers.  One key concept to follow with EC2 is to plan that an instance will fail, and when it does, how are you going to work around that failure.

   Types


EC2 comes in several types.  They come in different sizes and in linux/windows flavors.  Their CPU power is listed by EC2 Compute Units, “One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.” [8]  Here  are the current types and cost per hour on the East Coast Facility (N. Virginia)11/6/2012.



     Standard

ECU Unit
Memory
Ephermeral Hard drive
Linux price per hour
Windows price hour
Small
1 ECU
1.7 GB
160 GB
$0.065/hr
$0.115 /hr
Medium
2 ECU
3.75 GB
410 GB
$0.13/hr
$0.23 /hr
Large
4 ECU
7.5 GB
850 GB
$0.26 /hr
$0.46 /hr
Extra Large
8 ECU
15 GB
1690 GB
$0.52 /hr
$0.92 /hr
Micro
1-2 ECU
513 MB
NA – EBS only
$0.02 /hr
$0.03 /hr

     Second Generation

ECU Unit
Memory
Ephermeral Hard drive
Linux price per hour
Windows price hour
Extra Large
13 ECU
15 GB
NA -EBS only
$0.58/hr
$0.98 /hr
Double Extra Large
26 ECU
30 GB
NA -EBS only
$1.16/hr
$1.96 /hr

     Hi- Memory

ECU Unit
Memory
Ephermeral Hard drive
Linux price per hour
Windows price hour
Extra large
6.5 ECU
17.1 GB
420 GB
$0.45 /hr
$0.57 / hr
Double Extra Large
13 ECU
34.2 GB
850 GB
$0.90 /hr
$1.14 /hr
Quadruple Extra Large
26 ECU
78.4 GB
1690 GB
$1.80 /hr
$2.28 /hr

     Hi- CPU

ECU Unit
Memory
Ephermeral Hard drive
Linux price per hour
Windows price hour
Medium
5 ECU
1.7 GB
350 GB
$0.165 /hr
$0.285 /hr
Extra Large
20 ECU
7 GB
1690 GB
$0.66 /hr
$1.14/hr

     Cluster- CPU

ECU Unit
Memory
Ephermeral Hard drive
Linux price per hour
Windows price hour
Quadruple Extra Large
33.5 ECU
23 GB
1690 GB
$1.30 /hr
$1.61 /hr
Eight Extra Large
88 ECU
60.5 GB
3370 GB
$2.40 /hr
$2.97 /hr

     Cluster- GPU

ECU Unit
Memory
Ephermeral Hard drive
Linux price per hour
Windows price hour
Quad-Ex Large
33.5 ECU
22 GB
1690 GB
$2.10 /hr
$2.60 /hr

     High-IO

ECU Unit
Memory
Ephermeral Hard drive
Linux price per hour
Windows price hour
Quad-Ex Large
35 ECU
60.5 GB
2 x 1024 GB SSD
$3.10 /hr
$3.58 /hr




I prefer to think of the monthly 24x7 costs of servers so I calculated that with this chart   (price*24*31)  24 hours a day 31 days in a month.


Here  are the current types and cost per hour on the East Coast Facility (N. Virginia)11/6/2012.



     Standard

ECU Unit
Memory
Ephermeral Hard drive
Linux price per month
Windows price month
Small
1 ECU
1.7 GB
160 GB
$48.36
$85.56
Medium
2 ECU
3.75 GB
410 GB
$96.72
$171.12
Large
4 ECU
7.5 GB
850 GB
$193.44
$342.24
Extra Large
8 ECU
15 GB
1690 GB
$386.88
$684.48
Micro
1-2 ECU
513 MB
NA – EBS only
$14.88
$14.88

     Second Generation

ECU Unit
Memory
Ephermeral Hard drive
Linux price per month
Windows price month
Extra Large
13 ECU
15 GB
NA -EBS only
$431.52
$729.12
Double Extra Large
26 ECU
30 GB
NA -EBS only
$863.04
$1,458.24

     Hi- Memory

ECU Unit
Memory
Ephermeral Hard drive
Linux price per month
Windows price month
Extra large
6.5 ECU
17.1 GB
420 GB
$334.80
$424.08
Double Extra Large
13 ECU
34.2 GB
850 GB
$669.60
$848.16
Quadruple Extra Large
26 ECU
78.4 GB
1690 GB
$1,339.20
$1,696.32

     Hi- CPU

ECU Unit
Memory
Ephermeral Hard drive
Linux price per month
Windows price month
Medium
5 ECU
1.7 GB
350 GB
$122.76
$212.04
Extra Large
20 ECU
7 GB
1690 GB
$491.04
$848.16

     Cluster- CPU

ECU Unit
Memory
Ephermeral Hard drive
Linux price per month
Windows price month
Quadruple Extra Large
33.5 ECU
23 GB
1690 GB
$967.20
$1,197.84
Eight Extra Large
88 ECU
60.5 GB
3370 GB
$1,785.60
$2,209.68

     Cluster- GPU

ECU Unit
Memory
Ephermeral Hard drive
Linux price per month
Windows price month
Quad-Ex Large
33.5 ECU
22 GB
1690 GB
$1,562.40
$1,934.40

     High-IO

ECU Unit
Memory
Ephermeral Hard drive
Linux price per month
Windows price month
Quad-Ex Large
35 ECU
60.5 GB
2 x 1024 GB SSD
$2,306.40
$2,663.52




Also you can pay a 1 time fee for a lower hourly rate.  Here I calculated the yearly cost to run a server 24x7 with the one time 1-year payment.  The idea is you pay a fee up front then your server cost less per hour.  My calculations show include the fee and running the server 24x7 all year.

There is a 3 year payment, but I would advise against it, a lot can change in 3 years.

Here  are the current types and cost per hour on the East Coast Facility (N. Virginia)11/6/2012.




     Standard

ECU Unit
Memory
Ephermeral Hard drive
Linux price per year
Windows price per year
Small
1 ECU
1.7 GB
160 GB
$335.16
$510.36
Medium
2 ECU
3.75 GB
410 GB
$670.32
$1,029.48
Large
4 ECU
7.5 GB
850 GB
$1,340.64
$2,050.20
Extra Large
8 ECU
15 GB
1690 GB
$2,681.28
$4.100.40
Micro
1-2 ECU
513 MB
NA – EBS only
$105.80
$114.56

     Second Generation

ECU Unit
Memory
Ephermeral Hard drive
Linux price per year
Windows price per year
Extra Large
13 ECU
15 GB
NA -EBS only
$2,951.16
$4,352.76
Double Extra Large
26 ECU
30 GB
NA -EBS only
$5,902.32
$8,705.52

     Hi- Memory

ECU Unit
Memory
Ephermeral Hard drive
Linux price per year
Windows price per year
Extra large
6.5 ECU
17.1 GB
420 GB
$1,800.88
$2,414.08
Double Extra Large
13 ECU
34.2 GB
850 GB
$3,601.76
$4819.40
Quadruple Extra Large
26 ECU
78.4 GB
1690 GB
$7,203.52
$9,638.80

     Hi- CPU

ECU Unit
Memory
Ephermeral Hard drive
Linux price per year
Windows price per year
Medium
5 ECU
1.7 GB
350 GB
$850.40
$1,419.80
Extra Large
20 ECU
7 GB
1690 GB
$3,401.60
$5,679.20

     Cluster- CPU

ECU Unit
Memory
Ephermeral Hard drive
Linux price per year
Windows price per year
Quadruple Extra Large
33.5 ECU
23 GB
1690 GB
$6,661.72
$8,238.52
Eight Extra Large
88 ECU
60.5 GB
3370 GB
$8,162.36
$10,001.96

     Cluster- GPU

ECU Unit
Memory
Ephermeral Hard drive
Linux price per year
Windows price per year
Quad-Ex Large
33.5 ECU
22 GB
1690 GB
$11,157.44
$13,785.44

     High-IO

ECU Unit
Memory
Ephermeral Hard drive
Linux price per year
Windows price per year
Quad-Ex Large
35 ECU
60.5 GB
2 x 1024 GB SSD
$12,719.96
$22,994.00



  AMI


Each EC2 is created from an AMI  (Amazon Machine Image).  There are several publicly available AMI’s available on the AWS service.   Ubuntu, Windows, and other prefabricated images are available, some available at an additional cost per hour.   You can also create your own AMI images from your own customized machines.  You can keep your AMI images private or share with the community at large.

 Ephemeral Disk


EC2 machine instances can use two different kinds of virtual disk Ephemeral and EBS.   Ephemeral Volumes are automatically allocated to an EC2 instance, with the exception of a t1.micro instance type.   An Ephemeral Volume is a virtual hard drive that is attached to an EC2 instance.   It varies in size based on the type of EC2 instance it is attached to.   If an EC2 instance is terminated the Ephemeral Disk will no longer exists and any data on it will be lost.   If a server is simply rebooted or shut down, the data on the Ephemeral Disk will stay intact.  Ephemeral disk should not be used for persisting data.

  

EBS



Elastic Block Storage is other main type of virtual disk available to EC2 instances.   EBS volumes can persist if an EC2 instance is terminated.  EBS volumes can be dismounted from one EC2 instance and mounted onto another.  EBS volumes can be created from 1 GB to 1 TB in size.   EBS volumes are durable, they are replicated within the same availability zone giving a between 0.1% - 0.5% annual failure rate.   Back up snapshots can be taken of an EBS volume.  Snapshots are stored in S3 storage for maximum durability.  


 Snapshots


Snapshots in time can be made of your EBS volumes.  Snapshots are stored in S3 storage.   The costs is $0.125 per GB-month.  Snapshots are incremental, “If you have a device with 100 GBs of data, but only 5 GBs of data has changed since your last snapshot, only the 5 additional GBs of snapshot data will be stored back to Amazon S3” [9].


   Elastic IP


Every AWS account is allowed 5 Elastic IP addresses by default.  You can ask for more, but will most likely be turned down unless you have good reason.  These are IPv4 addresses.  They can be assigned to running instances of your EC2.   They are free to use, as long as they are attached to an EC2 instance if they are not attached they cost $0.01/ hr  ($7.44/mo).  This is meant to curb abuse of holding onto IP addresses which are not attached to an EC2 instance.   The first 100 remaps of an elastic IP are free per month after that they are $0.10 per address remap.  


   Elastic Load Balancers


An elastic load balancer allows you to distribute incoming traffic to multiple EC2 instances.  There are a lot of interesting customizations you can do with this, but in simple terms it’s just distributing the traffic.  Elastic Load Balancer costs $ 0.025 per/hr and $ 0.008 per GB.  So if you run it all month and have 200 GB of data go through it the ELB will cost you $20.20.



   Security


When an EC2 instance is created it is assigned to a security group.   An EC2 instance cannot have another security group assigned to it.   A security group can be updated at any time and the changes are instantly available on all EC2 instances using that security group.   With a security group you can open and close ports and allow certain IP addresses access to ports.

An example would be only letting systems from the IP address 212.100.0.1 access to port 212.


Monitoring (CloudWatch)


Basic monitoring is free from AWS.  Basic monitoring gives a metric data frequency of 5 minutes.  For $3.50 per instance per month you can get a 1 minute frequency.   In addition you can make custom metrics and feed them into CloudWatch for $0.50 per metric per month.


RDS


Amazon RDS (Relational Database Service) is a relational database as a service.   Currently it comes in two flavors MySQl and Oracle.  Amazon runs the database on an EC2 instance but does not give you access directly to that instance rather it provides other tools to manage the DB.    Here are some of the services RDS provides.

  • Ability to increase DB (hard drive) size on the fly
  • Scale database up or down with minimum, in some case, no downtime.
  • Automatic backups.  Enables point in time recovery.
  • Read replicate databases
  • Multi-zone configuration for auto failover
  • Monitoring




Pricing updated 11/6/2012


     Standard

ECU Unit
Memory
MySQL per hour
Oracle Per hour
SQL Server per hour
Micro
1-2 EC
630 MB
$0.025/hr
$0.04/hr
$0.035/hr
Small
1 ECU
1.7 GB
$0.105/hr
$0.155/hr
$0.17/hr
Large
4 ECU
7.5 GB
$0.415/hr
$0.615/hr
$0.59/hr
Extra Large
8 ECU
15 GB
$0.830/hr
NA
NA

     Hig-Memory DB Instance Class

ECU Unit
Memory
MySQL per hour
Oracle Per hour
SQL Server per hour
Extra Large
6.5 EC
17.1 GB
$0.585/hr
$0.785/hr
$0.74/hr
Double Extra Large
13 ECU
34 GB
$1.17/hr
$1.57/hr
$1.14/hr
Quadruple Extra Large
26 ECU
68 GB
$2.34/hr
$3.14/hr
$2.88/hr



Costs per month

     Standard

ECU Unit
Memory
MySQL per month
Oracle Per month
SQL Server per month
Micro
1-2 EC
630 MB
$18.60
$29.76
$26.04
Small
1 ECU
1.7 GB
$78.12
$115.32
$126.48
Large
4 ECU
7.5 GB
$308.76
$457.56
$438.96
Extra Large
8 ECU
15 GB
$617.52
NA
NA


     Hig-Memory DB Instance Class

ECU Unit
Memory
MySQL per month
Oracle Per month
SQL Server per month
Extra Large
6.5 EC
17.1 GB
$435.24
$584.04
$550.56
Double Extra Large
13 ECU
34 GB
$870.48
$1,168.08
$848.16
Quadruple Extra Large
26 ECU
68 GB
$1,740.96
$2,336.16
$2,142.72


Costs per Year

     Standard

ECU Unit
Memory
MySQL per year
Oracle Per year
SQL Server per year
Micro
1-2 EC
630 MB
$213.82
$??
$??
Small
1 ECU
1.7 GB
$704.61
$??
$??
Large
4 ECU
7.5 GB
$2,801.44
$??
$??
Extra Large
8 ECU
15 GB
$3,487.71
NA
NA


     Hig-Memory DB Instance Class

ECU Unit
Memory
MySQL per year
Oracle Per year
SQL Server per year
Extra Large
6.5 EC
17.1 GB
$3,487.71
$??
$??
Double Extra Large
13 ECU
34 GB
$7,001.08
$??
$??
Quadruple Extra Large
26 ECU
68 GB
$13,989.31
$??
$??






Multi Zone


     Standard

ECU Unit
Memory
MySQL per hour
Oracle Per hour
SQL Server per hour
Micro
1-2 EC
630 MB
$0.05/hr
$0.80/hr
??
Small
1 ECU
1.7 GB
$0.21/hr
$0.31/hr
??
Large
4 ECU
7.5 GB
$0.83/hr
$1.23/hr
??
Extra Large
8 ECU
15 GB
$1.66/hr
NA
NA


     Hig-Memory DB Instance Class

ECU Unit
Memory
MySQL per hour
Oracle Per hour
SQL Server per hour
Extra Large
6.5 EC
17.1 GB
$1.17/hr
$1.57/hr
??
Double Extra Large
13 ECU
34 GB
$2.34/hr
$3.14/hr
??
Quadruple Extra Large
26 ECU
68 GB
$4.68/hr
$6.28/hr
??



Multi Zone Per month


     Standard

ECU Unit
Memory
MySQL per month
Oracle Per month
SQL Server per month
Micro
1-2 EC
630 MB
$37.20
$59.52
??
Small
1 ECU
1.7 GB
$156.24
$230.64
??
Large
4 ECU
7.5 GB
$617.52
$915.12
??
Extra Large
8 ECU
15 GB
$1,235.04
NA
NA


     Hig-Memory DB Instance Class

ECU Unit
Memory
MySQL per hour
Oracle Per hour
SQL Server per hour
Extra Large
6.5 EC
17.1 GB
$870.48
$1,168.08
??
Double Extra Large
13 ECU
34 GB
$1.740.96
$2,336.16
??
Quadruple Extra Large
26 ECU
68 GB
$3,481.92
$4,672.32
??



Multi Zone Per year


     Standard

ECU Unit
Memory
MySQL per year
Oracle Per year
SQL Server per year
Micro
1-2 EC
630 MB
$265.32
??
??
Small
1 ECU
1.7 GB
$866.93
??
??
Large
4 ECU
7.5 GB
$3,593.04
??
??
Extra Large
8 ECU
15 GB
$4,709.60
NA
NA


     High-Memory DB Instance Class

ECU Unit
Memory
MySQL per hour
Oracle Per hour
SQL Server per hour
Extra Large
6.5 EC
17.1 GB
$4,709.60
??
??
Double Extra Large
13 ECU
34 GB
$9419.20
??
??
Quadruple Extra Large
26 ECU
68 GB
$18,838.40
??
??

Route53


Route53 is DNS service from Amazon.  I like it a lot it’s very fast and convenient for updating DNS records.  Price is fairly low cost is $0.50 per domain for the first 25 domains then $0.10 for each additional domain.    Also it costs $0.50 per million queries which is prorated.


DynamoDB (beta)


Dynamo DB is a product that just came out and is currently in usable beta.  It’s a NoSQL service from Amazon AWS.   Amazon has put together a great tutorial at https://www.youtube.com/embed/oz-7wJJ9HZ0?rel=0 [10].  It handles all the infrastructure of the NoSQL database.  All you have to do is set the write /sec and read/sec.  It runs on SSD drives.

Read/write unit is 1KB in size.   Write throughput costs $0.01 per hour for every 10 units of write capacity and $0.01 per hour for every 50 units of read capacity.  Data storage is $1.00 per GB-month.  Data transfer in is free, data transfer out is $0.120 per GB up to 10TB then it gets cheaper.


Storage Gateway (beta)


This is another product in beta.  It provides incremental backups of local machines to the Amazon AWS cloud.   It uses an on-site virtual machine to co-ordinate data back and forth give you the ability to back up your local systems on an incremental basis, to S3 storage.


References
[1]  Amazon E2 faqs “How isolated are Availability Zones from one another?”
       Visited 2/2011
[2]  Amazon Developer Tools
       Visited 2/2011
[3]  Ylastic
       http://ylastic.com/
       Visited 2/2011
[4]  RigthScale
       Visited 2/2011
[5]  AWS SDK for Java
       Visited 2/2011
[6]  AWS SDK for .NET
       Visited 2/2011
[7]  Amazon EC2 API Tools
       Visited 2/2011
[8]  Measuring Compute Resources
       Visited 2/2011
[9]  Amazon EBS Snapshots
       Visited 2/2011
[10]  Amazon DynamoDB video
       Visited 2/2011


No comments:

Post a Comment