This document provides an overview of Amazon Web Services (AWS). It begins by defining cloud computing as a utility service that provides on-demand access to technology resources over the internet. It then discusses how organizations can benefit from AWS through attributes like true elastic capacity, no upfront costs, and the ability to focus on their business instead of managing infrastructure. The document outlines several AWS building blocks, including compute (EC2), storage (S3, EBS), database (RDS, SimpleDB), and platform services (SQS, SWF). It provides examples of how these services can be used and integrated via APIs and software development kits.
2. Goals
• What is Cloud Computing?
• How can an organization benefit from cloud computing?
• The Cloud Scales
• Amazon Web Services Building blocks
• Common Use Cases
4. What is Cloud Computing?
An analogy: think of electricity services…
You simply plug into a vast electrical grid
managed by experts to get a low cost ,reliable
power supply – available to your with much
greater efficiency than your could generate on
your own.
Power is a utility service – available
to your on-demand and you pay only
for what you use.
5. What is Cloud Computing?
Cloud Computing is also a utility
service – giving your access to
technology resources managed by
experts and available on-demand.
You simply access these services over
the internet, with no up-front costs and
you pay only for the resources you use.
13. Attributes of Cloud Computing
Focus on your business
You get to focus your engineering resources on what differentiates
you VS. managing the undifferentiated infrastructure resources
The 70/30 Switch
14. Attributes of Cloud Computing
Focus on your business
Cloud Based Infrastructure
On-Premise Infrastructure
20. Amazon Elastic Compute Cloud
• Amazon EC2 = Virtual Machine
• Amazon EC2: on-demand compute power
• Obtain and boot new server instances in minutes
• Quickly scale capacity up and down
• Servers from 0.02$ (2 cents!) per hour
• On Demand, Reserved and Spot Pricing
• Key features:
• Support for Windows, Linux, FreeBSD and OpenSolaris
• Supports all major web and application platforms
• Deploy across Availability Zones for reliability
• CloudFront monitors status and usage
22. Amazon Elastic Compute Cloud
• Amazon EC2 = Virtual Machine
• Amazon EC2: on-demand compute power
• Obtain and boot new server instances in minutes
• Quickly scale capacity up and down
• Servers from 0.02$ (2 cents!) per hour
• On Demand, Reserved and Spot Pricing
• Key features:
• Support for Windows, Linux, FreeBSD and OpenSolaris
• Supports all major web and application platforms
• Deploy across Availability Zones for reliability
• CloudFront monitors status and usage
23. Amazon Elastic Compute Cloud
• Amazon EC2 = Virtual Machine
• Amazon EC2: on-demand compute power
• Obtain and boot new server instances in minutes
• Quickly scale capacity up and down
• Servers from 0.02$ (2 cents!) per hour
• On Demand, Reserved and Spot Pricing
• Key features:
• Support for Windows, Linux, FreeBSD and OpenSolaris
• Supports all major web and application platforms
• Deploy across Availability Zones for reliability
• CloudFront monitors status and usage
24.
25. Amazon Elastic Compute Cloud
• Amazon EC2 = Virtual Machine
• Amazon EC2: on-demand compute power
• Obtain and boot new server instances in minutes
• Quickly scale capacity up and down
• Servers from 0.02$ (2 cents!) per hour
• On Demand, Reserved and Spot Pricing
• Key features:
• Support for Windows, Linux, FreeBSD and OpenSolaris
• Supports all major web and application platforms
• Deploy across Availability Zones for reliability
• CloudFront monitors status and usage
28. Amazon Elastic Block Store (EBS)
• You can use Amazon EBS as you would use an hard drive on a
physical server.
• Amazon EBS is particularly well-suited for use as the primary
storage for a file system, database or for any applications that
require fine granular updates and access to raw , unformatted
block-level storage.
29. Amazon Simple Storage Service (S3)
• In Traditional on-premise applications , this type of data would
ordinarily be maintained on SAN or NAS. However , a cloud-based
mechanism such as Amazon S3 is far more agile, flexible and
geo-redundant.
• Amazon S3 is highly scalable, durable and available distributed
object store designed for mission-critical and primary data
storage with an easy to use web service interface
34. Amazon Relational Database Service (RDS)
• Amazon RDS = MySQL and Oracle 11g Managed Database
• Amazon RDS automates common administrative tasks to reduce
the complexity and total cost of ownership. Amazon RDS
automatically backs up your database and maintains your
database software , allowing you to spend more time on
application development
35.
36. Amazon SimpleDB (SDB)
• Use “Domains” Instead of “Tables” • Data-Sharing between
Social Networks
• Don‟t Have Fixed Schemas – Easily Add or • Meta-data
Remove Columns • Store files in S3 and
• Variable Number of Fields per Record (Row) metadata in SimpleDB
• Each Record is a List of Name / Value Pairs • Lookup
• Contacts, Directories and
• Everything is a String
Address mapContacts,
• Record Indexed By A Unique Item ID maps
• Implements Most SQL Calls • Logging
• Maintained By Amazon Web Services • ClickStreams, Status
Data
• Catalogs
• Product catalogs
• Other
• Emails/IM/Feeds
37. Amazon SimpleDB (SDB)
• Domain:
• Collection of similar items
• Query language
• Any number of items per domain (10 GB beta limit)
• 100 domains per account
• Item:
• Collection of key-value pairs (attributes)
• Multiple values per attribute
• Up to 256 attributes per item
• Up to 1024 bytes per value
• Billing:
• Data storage
• CPU utilization
• Data storage
38. Amazon SimpleDB (SDB) API
• Domains:
• CreateDomain
• ListDomains
• DeleteDomain
• Items:
• PutAttributes
• GetAttributes
• Query
Query Language (samples):
[„Title‟ = „The Right Stuff‟]
[„Number of Pages‟ < „00310‟]
[„Rating‟ = „***‟ or „Rating‟ = „*****‟]
[„Year‟ > „1950‟ and „Year‟ < „1960‟ or „Year‟ starts-with „193‟ or „Year‟ = „2007‟]
[Keyword‟ = „Frank Miller‟] union [„Rating‟ starts-with „****‟]
39. API - Connecting to Amazon SimpleDB
private static AmazonSimpleDB sdb = null;
public static AmazonSimpleDB getInstance()
{
if ( sdb == null ) {
// pass in the authenication credentials
sdb = new AmazonSimpleDBClient( AWSDemo.credentials );
// set the node we want to use
sdb.setEndpoint("sdb.us-west-1.amazonaws.com");
}
return sdb;
}
40. API – Domain Creation & Data INSERT
public void createDomain(String domainName)
{
sdb.createDomain(new CreateDomainRequest(domainName));
}
…
…
// each row is keyed with a “replaceable” item id followed by attributes i.e. name / value pairs
// construct a list of items to be inserted
List<ReplaceableItem> dataList = new ArrayList<ReplaceableItem>();
// populate the list using the item id and the attribute name / value pairs
dataList.add(new ReplaceableItem(“05-123”).withAttributes(
new ReplaceableAttribute(DBFields.STATE, “CO”, true),
new ReplaceableAttribute(DBFields.COUNTY, “Weld”, true),
new ReplaceableAttribute(DBFields.DRILLING_DATE, “05-11-2011”, true));
// batch insert the list into the SimpleDB database
sdb.batchPutAttributes(new BatchPutAttributesRequest(“my_domain”, dataList ));
…
41. API – RETRIEVE data
select output_list from domain_name [where expression] [sort_instructions] [limit limit]
// build your SQL select statement
String selectExpression = “select * from “ + domain + “ where “ + itemName() + “= „05-123‟ “;
// construct a select request
SelectRequest selectRequest = new SelectRequest(selectExpression);
// retrieve a list of matching items (records)
List<Item> itemList = sdb.select(selectRequest).getItems();
// loop through each record and extract the attributes from each item
for (int i = 0; i < itemList.size(); i++)
{
Item item = (Item) itemList.get(i);
ArrayList<Attribute> attributeList = (ArrayList<Attribute>)item.getAttributes();
}
44. Amazon Simple Queue Service (SQS)
• Queues: • Queues:
• Named message container
• Persistent • ListQueues
• DeleteQueue
• Messages: • SetVisibilityTimeout
• Up to 256KB of data per message • GetVisibilityTimeout
• Peek / Lock access model
• Messages:
• Scalable: • SendMessage
• Unlimited number of queues per account
• Unlimited number of messages per queue • ReceiveMessage
• DeleteMessage
• PeekMessage
• Security:
• AddGrant
$.10 per 1000 • ListGrants
• RemoveGrant
messages
$.10 - $.18 per GB
data transfer
45. AWS building blocks
Tools to
access
services
Cross Service
Features
Platform
Infrastructure
46. Web Management
Console
HTTPS (encrypted)
Multi-Factor Auth (MFA)
Amazon Web Services API
47. Web Management Software Libraries
Console and SDK
Java, PHP , Ruby ,
Python , .NET
Mobile: Android, iOS
Eclipse ToolKit
Amazon Web Services API
48. Web Management Software Libraries Command Line
Console and SDK interface
Amazon Web Services API
49. Web Management Software Libraries Command Line Resource
Console and SDK interface Management Tools
E.g.:
Puppet
Chef
PyChef
Fabric
Cuisine
Etc…
Amazon Web Services API
50. AWS building blocks
Tools to
access
services
Cross Service
Features
Platform
Infrastructure