Amazon Web Services (AWS) began in 2004 when an Amazon engineer suggested turning their internal infrastructure into an external service. The first AWS product, Simple Queue Service, launched that year. In 2006 AWS officially launched. AWS provides infrastructure and platform services including compute, storage, databases, networking, and more. Popular services include Elastic Compute Cloud (EC2) for virtual servers, Simple Storage Service (S3) for object storage, Relational Database Service (RDS) for managed databases, and Elastic Load Balancing for load balancing.
Unleash Your Potential - Namagunga Girls Coding Club
AWS Infrastructure and Services Overview
1. So There‟s This Amazon
Thing
Jared Faris
@jaredthenerd
jaredthenerd.com
jfaris@gmail.com
2. Amazon Web Services (AWS)
In 2004 an Amazon engineer suggested their internal
infrastructure could be turned into a service.
That year the first product, Simple Queue Service was
launched.
In 2006 the AWS officially launched.
http://en.wikipedia.org/wiki/Amazon_Web_Services
5. IaaS or PaaS
Two basic ways to host applications on Amazon
Elastic Compute Cloud – Infrastructure as a Service
(IaaS)
Elastic Beanstalk – Platform as a Service (PaaS)
EC2 is the traditional AWS technology with Beanstalk
being relatively new.
Elastic Beanstalk seems like Amazon‟s response to
services like Heroku and Azure‟s worker roles
6. EC2 – Elastic Compute Cloud
Infrastructure as a Service – VMs in the cloud
Variety of operating system choices:
Amazon Linux AMI
Ubuntu
Red Hat
Windows Server 2003/2008/2012
Tons of preconfigured AMIs (Amazon Machine Image)
available
7. A Note About Prices
Amazon charges for everything: the storage on disk, CPU
time, data transfer, etc.
Data transfer is billed at a pretty standard rate throughout
AWS.
Everything else seems to be billed based on EC2
instance costs plus a service charge.
8. EC2 AMIs
Databases Business Intelligence
MS SQL Server SAP
Oracle JasperReports
Mongo
Application Servers Others
WebSphere WordPress
Tomcat Drupal
IIS
Licensing Options
9. EC2 Continued
Leased access to “EC2 Compute Units” or ECUs.
An “ECU” is roughly a 1.0 GHz 2007 Opteron or Xeon.
Various sizes are available that give increased CPU,
memory and local storage. Some examples:
Micro – 642MB of memory, “small” amount of CPU
Large – 8GB of memory, 4 “EC2 Compute Units”
12. Elastic Beanstalk
Similar in concept to services like Windows Azure Cloud
Services or Heroku.
A number of technologies are supported:
.NET (Windows Server 2008 R2 w/ IIS 7.5)
Java (Amazon Linux w/ Tomcat)
PHP/Ruby/Python (Amazon Linux)
14. Deploying to EB
.NET deployments use the AWS Toolkit for Visual Studio.
PHP/Ruby/Python sort of kind of supports git publishing.
Java developers upload a WAR file through the
management console.
16. Route 53
This is Amazon‟s high availability DNS service.
A must have if you are hosting your app in AWS.
17. ELB – Elastic Load Balancing
Amazon‟s answer to load balancing.
You assign IP addresses (and probably domain names)
to an ELB and point it at a group of EC2 instances.
Supports sticky connections or truly dynamic requests.
18. Private Cloud
VPC – Virtual Private
Direct Connect
Cloud
Customized AWS network DC is a hardware connection
topology. from AWS to your data
center.
AWS instances ultimately use
Your application is still on your local network connection
their shared servers but the to get out.
network is totally isolated.
$.30/hour for 1Gbps
$2.25/hour for 10Gbps
$.05 per VPN connection
hour to the VPC.
23. S3 – Simple Storage Service
BLOBs – Binary Large Objects
Writes are sent to three locations before considered
„finished‟.
Can sustain losing any two locations.
Supports versioning.
24. More Options
RRS – Reduced
Glacier – Long Term
Redundancy
S3 with less redundancy. Can Archival storage: Not
lose one location without accessible day to day like S3
losing data. or RRS.
Recommended for
reproducible things like
thumbnails or transcoded
media.
29. RDS – Relational Database
Service
Amazon manages instances of MySQL, Oracle or SQL
Server.
Basically PaaS SQL databases vs IaaS virtual machines.
Sits on top of EC2, adds a service cost and, optionally,
licensing costs.
32. DynamoDB
Amazon‟s preferred NoSQL document store (replacing
SimpleDB).
Runs entirely on SSDs and has no upper storage limit.
You reserve CPU capacity (so they have enough
machines to support your queries) but it auto-scales after
that.
37. SQS - Simple Queuing
Services
A polling based queuing service that you can use to tie
together various pieces of your application.
Supports messages up to 64KB.
Supports locking of messages and handles
deleting/expiring.
38. SNS – Simple Notification
Service
Publish/Subscribe messaging between parts of your
application.
Non-persistent (unlike Queues).
Can be used with SQS to eliminate polling. When new
items are on the queue your application is notified.
40. Other Stuff
Elastic Transcoder – Media transcoding as a service
CloudSearch – Managed search service that you can tie
to your data
Simple Email Service – Managed email (think Sendgrid)
CloudWatch – A management portal where you can
customize AWS metrics to monitor and get charged per
metric
Notes de l'éditeur
Azure Virtual Machines seems like a direct attempt to challenge EC2Note about Amazon Linux – has all of the Amazon tooling out of the box which is convenient. Uses Yum and is based on Red Hat Enterprise
The pricing varies on a lot of these (like SQL server) depend on whether you bring your own license (BYOL) or pay for your license hourly. We’ll look at this in more detail.Also, with EC2 you can get instances of database servers to administer yourself, but you also have the option of using the RDS service which we’ll talk about later.
Micros are a special animal in that you don’t get dedicated CPU access.
As an example, here’s what you get with SQL server. It’s quite a bit more expensive because you don’t buy a server. A large is 97 cents an hour here vs 46 cents with just Windows. It seems to work out to about 50 cents an hour for the SQL license and the rest for EC2.A year of a large server works out to about $8500.There are a ton of different pricing charts on the Amazon site so we won’t go through every single case here.
In theory you build an application package, upload it, and then MagicIn practice, it kind of stinks
Elastic Beanstalk is going to create one (or more) EC2 instances, give them storage, set up a load balancer and then run your app. You’ll be charged for all the individual pieces. You can later stop using Elastic Beanstalk and manage this stuff yourself.
It’s friendly enough. Nothing special.
A pretty decent DNS host even for non AWS things.
Grandaddy of cloud storageAll access basically happens via HTTP or HTTPS RESTful commands
Note: Other parts of the application can read and write from S3, but if you setup EBS volumes you can only mount those to one machine at a time
Not having a SQL license here seems to cost about 3 cents per hourA large SQL server this way costs around $5200 this way vs $8500 earlier for a full IaaS VM
Dynamo is comparable to Azure Table Storage
I think this makes it relatively expensive compared to Azure Table Storage