Upload
amazon-web-services
View
111
Download
3
Tags:
Embed Size (px)
DESCRIPTION
The fourth in our series of webinars, 'Journey Through the AWS Cloud'. This complimentary presentation discusses the use of services offered by AWS that alleviate the need for you to install and manage software on EC2 instances. We introduce the key services customers employ to keep them focused on developing their applications, whilst AWS takes care of running the scalable and reliable building blocks upon which they are built.
Citation preview
Journey through the Cloud:
Application Services
Ryan Shuttleworth – Technical Evangelist @ryanAWS
Common use cases & stepping stones into the AWS cloud Learning from customer journeys
Best practices to bootstrap your projects
Journey through the cloud
Build upon services built for the cloud Address common pain points in application architectures
Reduce operational management of software components Focus on application function, not undifferentiated heavy lifting
Application Services
Why AWS for application services Services overview Dive into select services Where to go next
Agenda
Why AWS for application services?
Application Services
Services that wrap software you’d commonly install and manage
yourself
Application Services
Databases
Middleware
Analytics
Frameworks
Application Services
Reliability Scalability Availability
Application Services
Reliability Scalability Availability
Do you focus on scaling frameworks
rather than optimizing your
code?
Does core component
reliability affect your application
track record?
Is middleware ‘glue’ difficult to
make as available as you
need it?
Application Services
Operational Management
Application Services
Operational Management
Do you spend more time managing application services than you do
building and managing assets core to your business?
Your Business
70%
On-Premise Infrastructure
30%
Managing All of the “Undifferentiated Heavy Lifting”
AWS Cloud-Based
Infrastructure
Your Business
More Time to Focus on Your Business
Configuring Your Cloud Assets
70%
30% 70%
On-Premise Infrastructure
30%
Managing All of the “Undifferentiated Heavy Lifting”
Infrastructure & Application Services
Building blocks for applications
Designed and built for the cloud
Available at end of a web service call
Security Scaling
Database
Networking Monitoring
Messaging
Workflow
DNS
Load Balancing
Backup CDN
Compute
Storage
AWS is used in a variety of ways…
Storage & Archive
Saved months of development & architecture time and focused on application development instead
by using Cloud Search
By managing time-consuming database administration tasks,
RDS allows SEGA to focus on business critical applications
Relies on Simple Workflow to orchestrate complex, heterogeneous
scientific workflows
Brought on massive DynamoDB capacity in an operationally short period of time to handle demand
peaks during SuperBowl
You might be able to:
Business & technical drivers
You might be able to:
Business & technical drivers
Reduce costs
Running software on EC2 can be more expensive than consuming
functionality as a service
You might be able to:
Business & technical drivers
Reduce costs
Running software on EC2 can be more expensive than consuming
functionality as a service
Improve reliability
Services built with inherent multi-AZ functionality improve
application reliability
You might be able to:
Business & technical drivers
Reduce costs
Running software on EC2 can be more expensive than consuming
functionality as a service
Improve reliability
Services built with inherent multi-AZ functionality improve
application reliability
Scale easily
Services scale as you grow and need them, without large
investments in infrastructure
You might be able to:
Business & technical drivers
Reduce costs
Running software on EC2 can be more expensive than consuming
functionality as a service
Improve reliability
Services built with inherent multi-AZ functionality improve
application reliability
Scale easily
Services scale as you grow and need them, without large
investments in infrastructure
Re-focus energies
Spend less time doing undifferentiated heavy lifting and
more time on your business
Availability Zone
Region
Q Instance
Decoupled applications on EC2 instances
Reliable message queue on instance
Availability Zone
Region
Availability Zone Availability Zone
Q Instance
Q Instance
Q Instance
Multiple instances
for reliability
Technical implementation
Availability Zone
Region
Availability Zone Availability Zone
Q Instance
Q Instance
Q Instance
Remove software running on
EC2
Availability Zone
Region
Availability Zone Availability Zone
Replace with a regional service
Simplified operations
Amazon Simple
Queue Service (SQS)
Reduced costs
Queuing on AWS
Setup & manage instances
Install & configure queuing middleware
Set up persistent message store
Implement clustering across AZs for HA
Implement queue monitoring systems
Implement queuing in applications
Amazon SQS
Create a queue
HTTP PUT to place messages
HTTP GET (long polling) to pull messages
Queuing on AWS
Setup & manage instances
Install & configure queuing middleware
Set up persistent message store
Implement clustering across AZs for HA
Implement queue monitoring systems
Implement queuing in applications
AWS application services
Relational Database Service
DynamoDB
SimpleDB
Databases Middleware Frameworks Analytics
Simple Queuing Service
Simple Notification Service
Simple Workflow
Elastic MapReduce
Simple Email Service
CloudSearch ElastiCache
CloudWatch
Relational Database Service
DynamoDB
SimpleDB
Databases Middleware Frameworks Analytics
Simple Queuing Service
Simple Notification Service
Simple Workflow
Elastic MapReduce
Simple Email Service
CloudSearch ElastiCache
CloudWatch
Amazon Relational Database Service
Source: Forrester
Backup, recovery
load and unload
Security planning
License training
Script automation
Installation, upgrade,
patching, migration Performance
and tuning
Frequent server upgrades Storage upgrades
Backup and recovery
Software upgrades
Patching
Hardware crash
Query construction
Query optimization
Configuration
Migration
Schema design
Frequent server upgrades Storage upgrades
Backup and recovery
Software upgrades
Patching
Hardware crash
Query construction
Query optimization
Configuration
Migration
Schema design
Focus on these things
Frequent server upgrades Storage upgrades
Backup and recovery
Software upgrades
Patching
Hardware crash
Query construction
Query optimization
Configuration
Migration
Schema design
Instead of these
Near zero administration
Painless patching, automatic upgrades
Cloudwatch monitoring, metric alarms
One click. High Availability.
One click. High availability with Multi-AZ
Automated deployment across multiple AZs
Synchronous replication from master to replica
Automatic fail-over; replica promoted to master
Test fail-over
Push-button scale, high performance
Scale storage from 5Gb to 1Tb of storage
Scale instance from small to 4XL (better I/O)
Add Read Replicas with asynchronous replication
Add ElastiCache for performance
Relational Database Service
Database-as-a-Service
No need to install or manage database instances
Scalable and fault tolerant configurations
Feature Details
Platform support Create MySQL, SQL Server and Oracle RDBMS
Preconfigured Get started instantly with sensible default settings
Automated patching Keep your database platform up to date automatically
Backups Automatic backups and point in time recovery and full DB backups
Backups Volumes can be snapshotted for point in time restore
Failover Automated failover to slave hosts in event of a failure
Replication Easily create read-replicas of your data and seamlessly replicate data across availability zones
RDBMS on AWS
Setup & manage instances
Install & configure database platform
Configure backups
Implement master-slave for HA
Implement read-replicas for performance
Manage maintenance updates
RDS
Create RDS instance
Select Multi-AZ
Choose backup period
Choose maintenance windows
RDBMS on AWS
Setup & manage instances
Install & configure database platform
Configure backups
Implement master-slave for HA
Implement read-replicas for performance
Manage maintenance updates
Amazon Relational Database Service (Amazon RDS) databases stores forum threads, site content, and project configuration
data.
High availability Multi-AZ database deployment to handle live game metadata and user-generated content.
Enterprise-grade fault tolerance for protecting customer data.
By managing time-consuming database administration tasks,
Amazon RDS allows SEGA to focus on business critical applications.
Amazon DynamoDB
Requirement: predictable, consistent
performance
Scalability
Pe
rfo
rma
nce
DynamoDB & NoSQL
Database services
Requirement: predictable, consistent
performance
Reality: performance
degrades with scale
Scalability
Pe
rfo
rma
nce
DynamoDB & NoSQL
Database services
Hardware provisioning
Data sharding
Data caching
Cluster management
Fault management
Requirement: predictable, consistent
performance
Reality: performance
degrades with scale
Scalability
Pe
rfo
rma
nce
DynamoDB & NoSQL
Database services
DynamoDB Provisioned read/write performance per table
Predictable high performance scaled via console
or API
Dial it up
Low provisioned throughput
Table Partition
SSD
Region
Illustrative diagram only
Low provisioned throughput
Table Partition
SSD
Region
Illustrative diagram only
Availability Zone Availability Zone Availability Zone
Replica Partition
SSD
Replica Partition
SSD
Low provisioned throughput
Table Partition
SSD
Region
Illustrative diagram only
Increased provisioned throughput
Illustrative diagram only
Region
Table Partition
SS
D
Table Partition
SS
D
Table Partition
SS
D
Table Partition
SS
D
Table Partition
SS
D
Table Partition
SS
D
Table Partition
SS
D
Table Partition
SS
D
Table Partition
SS
D
Table Partition
SS
D
High provisioned throughput
Region
Illustrative diagram only
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Table Partition
Provisioned throughput NoSQL
database
Fast, predictable performance
Fully distributed, fault tolerant
architecture
Feature Details
Provisioned throughput
Dial up or down provisioned read/write capacity
Predictable performance
Average single digit millisecond latencies from SSD backed infrastructure
Strong consistency Be sure you are reading the most up to date values
Fault tolerant Data replicated across availability zones
Monitoring Integrated to Cloud Watch
Secure Integrates with AWS Identity and Access Management (IAM)
Elastic MapReduce
Integrates with Elastic MapReduce for complex analytics on large datasets
DynamoDB
NoSQL on AWS
Perform capacity planning and determine nodes required
Define PIOPS EBS volumes & instance types
Setup & manage instances
Install NoSQL database software
Configure replica sets
Implement auto-scaling
Define tables
Define key strategy
DynamoDB
Define tables
Define key strategy
Choose performance level
NoSQL on AWS
Perform capacity planning and determine nodes required
Define PIOPS EBS volumes & instance types
Setup & manage instances
Install NoSQL database software
Configure replica sets
Implement auto-scaling
Define tables
Define key strategy
“AWS gave us the flexibility to bring a massive amount of capacity online in a short period of
time and allowed us to do so in an operationally straightforward way.
AWS is now Shazam’s cloud provider of choice,”
Jason Titus,
CTO
DynamoDB: over 500,000 writes per
second
Amazon EMR: more than 1 million writes
per second
Amazon Simple Workflow
Flow framework for simplification of
cross system task coordination
Long running transaction state and task
distribution
Task A
Task B
(Auto-scaling)
Task C
2
3
1
Simple Workflow
New Order
Update
Inventory $ or €?
Update $
account
Update €
account
Ship
order
Send
A typical business workflow…
Multiple steps
Multiple decision points
New Order
Update
Inventory $ or €?
Update $
account
Update €
account
Ship
order
Send
System A System C
System B
System D
System E
A typical business workflow…
Multiple steps
Multiple decision points
Heterogeneous systems
A typical business workflow…
New Order
Update
Inventory $ or €?
Update $
account
Update €
account
Ship
order
Send
System A System C
System B
System D
System E
State
Process logic Middleware
State managed in end systems
Process logic embedded in applications
Complex queuing, message ordering, de-duplication and dependencies
Scaling and failover of tasks troublesome
New Order
Update
Inventory $ or €?
Update $
account
Update €
account
Ship
order
Send
Decider
Worker
Workflow metadata & state Implemented in Simple Workflow…
Implement a ‘Decider’ with simple, linear decision logic
Processes/tasks in a workflow become ‘Workers’
All state & metadata is handled by highly available and durable AWS ‘Workflow’
Amazon Simple Workflow Service
(SWF)
Amazon Simple Workflow Service
(SWF)
Decider
Return Result
Get Decision Task
Amazon Simple Workflow Service
(SWF)
Decider
Worker
Get Activity Task
Return Result
Return Result
Get Decision Task
Workflows on AWS
Setup & manage instances
Install & configure workflow middleware
Architect for high availability
Implement workflows in proprietary/complicated
languages
Implement process audit
Simple Workflow
Setup & manage instances
Install & configure workflow middleware
Architect for high availability
Implement workflows in proprietary/complicated
languages
Implement process audit
Implement ‘decider’ in language of choice
Implement task ‘workers’ to consume work
Workflows on AWS
Amazon CloudSearch
select *
from articles
where content
like ‘%cloud%’
1 million hits a day? 5 million items?
Finding things is trickier than first appears
+
Results & Ranking
Facets
Fielded
Anatomy of a search
Tokenization
search-mydomain.us-east-1.
cloudsearch.amazonaws.com
doc-mydomain.us-east-1.
cloudsearch.amazonaws.com
Endpoints
Facets
Query String
Results
Testing
http://search-toilets-in-oz-m6gko2xujhti47jv5w62eldyoy.us-
east-1.cloudsearch.amazonaws.com/2011-02-01/search
?q=True+Blue
&return-fields= address1
%2Caddressnote
%2Cf__name
%2Clastupdatedate
%2Clatitude
%2Clongitude
%2Cnotes
%2Cpostcode
%2Ctoiletdetails_id
%2Ctoileturl
%2Ctext_relevance
Domain
Query String
Search Options
Integration
{
"rank":"-text_relevance",
"match-expr":"(label 'True Blue')",
"hits":{"found":1,
"start":0,
"hit":[{"id":"toiletdetails_csv_41",
"data":{"address1":["51-59 Samwell Street"],
"addressnote":["3 male and 3 female toilets"],
"f__name":["Croydon True Blue Visitor"],
"lastupdatedate":["2010-03-04Z"],
"latitude":["-18.204249"],
"longitude":["142.244534"],
"notes":[],
"postcode":["4871"],
"text_relevance":["309"],
"toiletdetails_id":["40”]
}]
},
"info”{ "rid":"ccd66a5219f938d295e4326391ce31e1359fb7bc306564",
"time-ms":3,
"cpu-time-ms":0}
}
Results Search
Integration
Scalable
Small Instance Partition 1
Copy 1
Time: 1800h
<80% CPU
Elastic Search
Time
Requests
Small Instance Partition 1
Copy 1
Elastic Search
Time
Requests
Small Instance Partition 1
Copy 1
>80% CPU
Small Instance Partition 1
Copy 2
Time: 2000h
Small Instance Partition 1
Copy 1
Elastic Search
Time
Requests
Small Instance Partition 1
Copy 1
>80% CPU
Small Instance Partition 1
Copy 2
Small Instance Partition 1
Copy 3
Small Instance Partition 1
Copy 1
Small Instance Partition 1
Copy 2
Time: 2200h
Small Instance Partition 1
Copy 1
Elastic Search
Time
Requests
Small Instance Partition 1
Copy 1
Small Instance Partition 1
Copy 2
Small Instance Partition 1
Copy 3
Small Instance Partition 1
Copy 1
Small Instance Partition 1
Copy 2 <30% CPU
Small Instance Partition 1
Copy 1
Time: 0000h
Small Instance Partition 1
Copy 1
Cost savings
Elastic Search
Time
Requests
Small Instance Partition 1
Copy 1
Small Instance Partition 1
Copy 2
Small Instance Partition 1
Copy 3
Small Instance Partition 1
Copy 1
Small Instance Partition 1
Copy 2
Small Instance Partition 1
Copy 1
Traditional required capacity
Small Instance Partition 1
Copy 1
Cost savings
Elastic Search
Time
Requests
Small Instance Partition 1
Copy 1
Small Instance Partition 1
Copy 2
Small Instance Partition 1
Copy 3
Small Instance Partition 1
Copy 1
Small Instance Partition 1
Copy 2
Small Instance Partition 1
Copy 1
Traditional required capacity
Elastic Capacity
Small Instance Partition 1
Copy 1
Cost savings
Elastic Search
Time
Requests
Small Instance Partition 1
Copy 1
Small Instance Partition 1
Copy 2
Small Instance Partition 1
Copy 3
Small Instance Partition 1
Copy 1
Small Instance Partition 1
Copy 2
Small Instance Partition 1
Copy 1
Traditional required capacity
Elastic Capacity
Savings Savings
Cloud Search
Search Instance Partition 1
Copy 1
Search Instance Partition 1
Copy 2
Search Instance Partition 1
Copy n
Traffic Request
volume & complexity
Data Document quantity & size
Search Instance Partition 1
Copy 1
Search Instance Partition 2
Copy 1
Search Instance Partition n
Copy 1
Cloud Search
Search Instance Partition 1
Copy 1
Search Instance Partition 2
Copy 1
Search Instance Partition n
Copy 1
Search Instance Partition 1
Copy 2
Search Instance Partition 2
Copy 2
Search Instance Partition n
Copy 2
Search Instance Partition 1
Copy n
Search Instance Partition 2
Copy n
Search Instance Partition n
Copy n
Traffic Request
volume & complexity
Data Document quantity & size Cloud
Search
Search on AWS
Perform capacity planning on size of indexes
Setup & manage required number of instances
Install & configure search software such as Solr across
cluster
Manage cluster partitioning and size over time
Implement monitoring
Cloud Search
Perform capacity planning on size of indexes
Setup & manage required number of instances
Install & configure search software such as Solr across
cluster
Manage cluster partitioning and size over time
Implement monitoring
Create search domain in console
Upload documents
Retrieve results
Search on AWS
Amazon Elastic MapReduce
1 instance for 100 hours =
100 instances for 1 hour
Small instance = $8
Managed, elastic Hadoop cluster
Integrates with S3 & DynamoDB
Leverage Hive & Pig analytics scripts
Integrates with instance types such as spot
Elastic MapReduce
Feature Details
Scalable Use as many or as few compute instances running Hadoop as you want. Modify the number of instances while your job flow is running
Integrated with other services
Works seamlessly with S3 as origin and output. Integrates with DynamoDB
Comprehensive Supports languages such as Hive and Pig for defining analytics, and allows complex definitions in Cascading, Java, Ruby, Perl, Python, PHP, R, or C++
Cost effective Works with Spot instance types
Monitoring Monitor job flows from with the management console
But what is it?
A framework Splits data into pieces Lets processing occur
Gathers the results
Very large dataset
(e.g TBs)
Lots of instances of ‘X’
Very large dataset
(e.g TBs)
Split the log into
many small pieces
Lots of instances of ‘X’
Very large dataset
(e.g TBs)
Split the log into
many small pieces
Process in an EMR cluster Lots of
instances of ‘X’
Very large dataset
(e.g TBs)
Split the log into
many small pieces
Process in an EMR cluster
Aggregate the results
from all the nodes
Lots of instances of ‘X’
Very large dataset
(e.g TBs)
Aggregate view of ‘X’
Lots of instances of ‘X’
Split the log into
many small pieces
Process in an EMR cluster
Aggregate the results
from all the nodes
Very large dataset
(e.g TBs)
Insight in a fraction of the time
Very large dataset
(e.g TBs)
Aggregate view of ‘X’
1 instance for 100 hours =
100 instances for 1 hour
Small instance = $8
1 instance for 1,000 hours =
1,000 instances for 1 hour
Small instance = $80
Input data
S3
Elastic MapReduce
Code
Input data
S3
Elastic MapReduce
Code Name node
Input data
S3
Elastic MapReduce
Code Name node
Input data
S3
Elastic cluster
Elastic MapReduce
Code Name node
Input data
S3
Elastic cluster
HDFS
Elastic MapReduce
Code Name node
Input data
S3
Elastic cluster
HDFS Queries
+ BI Via JDBC, Pig, Hive
Elastic MapReduce
Code Name node
Output S3 + SimpleDB
Input data
S3
Elastic cluster
HDFS Queries
+ BI Via JDBC, Pig, Hive
Output S3 + SimpleDB
Input data
S3
Hadoop on AWS
Configure & manage EC2 instances
Setup Namenode
Setup Datanodes
Create HDFS file system
Setup extras (Hive, Pig etc)
Prepare data
Execute job
Elastic MapReduce Hadoop on AWS
Configure & manage EC2 instances
Setup Namenode
Setup Datanodes
Create HDFS file system
Setup extras (Hive, Pig etc)
Prepare data
Execute job
Specify desired cluster size
Execute job
Features powered by Amazon Elastic MapReduce:
People Who Viewed this Also Viewed
Review highlights Auto complete as you type on search
Search spelling suggestions Top searches
Ads
200 Elastic MapReduce jobs per day Processing 3TB of data
"With Amazon Elastic MapReduce, there
was no upfront investment in hardware,
no hardware procurement delay, and no
need to hire additional operations staff.
Because of the flexibility of the platform,
our first new online advertising campaign
experienced a 500% increase in return on
ad spend from a similar campaign a year
before.”
Mark Taylor, Program Director
Elastic MapReduce
Where to go next
http://aws.typepad.com
http://aws.amazon.com/whitepapers
$100 of credits That’s enough to run an Amazon Elastic Compute Cloud (Amazon EC2) Standard Small Instance for approximately 600 hours Or ~600 EC2 Standard Small Instances for 1 hour
Powerof60.com
Summary
AWS is more than compute & storage
Databases, middleware and complex frameworks as services
Remove the operational burden from running common software services
Application services gives access scalable, sophisticated software without the overheads
aws.amazon.com