View
539
Download
0
Category
Preview:
DESCRIPTION
2014년 3월 27일 개최된 '상암에서 만나는 아마존웹서비스' 에서 AWS 김일호 책임이 발표한 'AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법' 발표 자료 입니다.
Citation preview
Going Global on AWSFor
Web, Mobile and Social Apps김일호 – Solutions Architect
ilho@amazon.com
You begin your Startup in a garage, 친구집 , PC 방 , 랩실 , 토즈 ..…..
…and build a fantastic app
people love it!
and everyone wants to use it…
503Service Temporarily Unavailable
The server is temporarily unable to service your request due to
maintenance downtime or capacity problems. Please try again later.
and everyone wants to use it…
Now what?!
What your users want…
What your users want…
Fast, performant experience
What your users want…
Fast, performanceexperience
Always on, accessible anywhere
What your users want…
Fast, performanceexperience
Always on, accessible anywhere
Personalized and rich application
What your users want…
Fast, performanceexperience
Always on, accessible anywhere
Personalized and rich application
Lots of new features all of the
time
Fast, performance experience
Lots of new features all of the
time
Always on, accessible anywhere
Personalized and rich application
Powerful web applications
How?
Building powerful web applications
Rule 2: Service requests as fast as possible
Rule 1: Service all web requests
Rule 3: Handle requests at any scale
Rule 4: Simplify architecture with services
Rule 5: Automate operational management
Rule 6: Leverage unique cloud properties
DNS Application Data
Rule 1: Service all web requestsa) Make sure requests get to your ‘front door’
DNS Application DataRequest
Rule 1: Service all web requestsa) Make sure requests get to your ‘front door’
DNS Application DataRequest
a) Make sure requests get to your ‘front door’
Rule 1: Service all web requests
DNS Application DataRequest
…then this is irrelevant
Clients can’t resolve you?
Rule 1: Service all web requestsa) Make sure requests get to your ‘front door’
DNS Application DataRequest
“100% Available”
SLA
Rule 1: Service all web requests
Route53
Feature Details
Global Supported from AWS global edge locations for fast and reliable domain name resolution
Scalable Automatically scales based upon query volumes
Latency based routing Supports resolution of endpoints based upon latency, enabling multi-region application delivery
Integrated Integrates with other AWS services allowing Route 53 to front load balancers, S3 and EC2
Secure Integrates with IAM giving fine grained control over DNS record access
http://aws.amazon.com/route53/sla
a) Make sure requests get to your ‘front door’
DNS Application DataRequest
Rule 1: Service all web requestsa) Make sure requests get to your ‘front door’b) Make sure you open the door when they arrive
Route53
Region
DNS Application DataRequest
Rule 1: Service all web requests
Elastic Load
Balancer Region
Availability Zone
Availability Zone
Availability Zone
Availability Zone
Route53
a) Make sure requests get to your ‘front door’b) Make sure you open the door when they arrive
Elastic load balancingMulti-availability zoneMulti-region
Region
Rule 1: Service all web requests
DNS Application DataRequest
a) Make sure requests get to your ‘front door’b) Make sure you open the door when they arrivec) Have the data to form a response
Elastic Load
Balancer Region
Availability Zone
Availability Zone
Availability Zone
Availability Zone
Route53
Region
Rule 1: Service all web requests
DNS Application DataRequest
Elastic Load
Balancer
Route53
Region
Availability Zone
Availability Zone
Availability Zone
Availability Zone
a) Make sure requests get to your ‘front door’b) Make sure you open the door when they arrivec) Have the data to form a response
Multi-AZ RDS
(Master-slave)
Inter-region replication
Read-replicas
Rule 2: Service requests as fast as possible
Rule 1: Service all web requests
Rule 3: Handle requests at any scale
Rule 4: Simplify architecture with services
Rule 5: Automate operational management
Rule 6: Leverage unique cloud properties
Rule 2: Service requests as fast as possible
Rule 2: Service requests as fast as possiblea) Choose the fastest route
Region A
Route53
Region B
Request
Rule 2: Service requests as fast as possiblea) Choose the fastest route
Region A
Route53
Region B
16ms 92ms
Request
Rule 2: Service requests as fast as possiblea) Choose the fastest route
Region A
Route53
Region B
16ms 92ms
Request
Rule 2: Service requests as fast as possible
Region A
Route53
Region B
16ms
RequestRegion A DNS entry
a) Choose the fastest route
Rule 2: Service requests as fast as possiblea) Choose the fastest routeb) Offload your application servers
London
Paris
NY
Served from S3/images/*
3
Served from EC2*.php
2
Single CNAMEwww.mysite.com
1
CloudFrontWorld-wide content distribution network
Easily distribute content to end users with low
latency, high data transfer speeds, and no
commitments.
Without CloudFrontEC2 webservers/app servers loaded by user
requests
Rule 2: Service requests as fast as possible
Pattern
a) Choose the fastest routeb) Offload your application servers
With CloudFrontLoad of user requests pushed into
CloudFront, EC2 cluster can scale
down
Pattern
OffloadScale Down
Rule 2: Service requests as fast as possiblea) Choose the fastest routeb) Offload your application servers
Rule 2: Service requests as fast as possible
Resp
onse
Tim
e
Serv
er L
oad
Resp
onse
Tim
e
Serv
er
Load
Resp
onse
Tim
e
Serv
er
Load
No CDN CDN for
Static
Content
CDN for
Static &
Dynamic
Content
OffloadScale Down
a) Choose the fastest routeb) Offload your application servers
Rule 2: Service requests as fast as possiblea) Choose the fastest routeb) Offload your application serversc) Cache it if you can
ElastiCacheMemcached compatible caching
layer
Serve frequently requested & slow
changing data from scalable cache
clusters
Reduce load on database and other
servers
Rule 2: Service requests as fast as possiblea) Choose the fastest routeb) Offload your application serversc) Cache it if you cand) Single digit latencies where it matters
ScaleDat
abas
e Q
uery
Per
form
ance
Desired consistency, predictability
Rule 2: Service requests as fast as possiblea) Choose the fastest routeb) Offload your application serversc) Cache it if you cand) Single digit latencies where it matters
ScaleDat
abas
e Q
uery
Per
form
ance
Desired consistency, predictability
Actual degraded
performance with scale
Rule 2: Service requests as fast as possiblea) Choose the fastest routeb) Offload your application serversc) Cache it if you cand) Single digit latencies where it matters
ScaleDat
abas
e Q
uery
Per
form
ance
Desired consistency, predictability
Actual degraded
performance with scale
Management problems
Data shardingData cachingProvisioning
Cluster managementFault management
Rule 2: Service requests as fast as possiblea) Choose the fastest routeb) Offload your application serversc) Cache it if you cand) Single digit latencies where it matters
ScaleDat
abas
e Q
uery
Per
form
ance
Dynamo DB Query Performance
Relational Database
Query Performance
DynamoDB
Low latencyLarge scaleZero admin
Predictable performance
Rule 2: Service requests as fast as possiblea) Choose the fastest routeb) Offload your application serversc) Cache it if you cand) Single digit latencies where it matters
ScaleDat
abas
e Q
uery
Per
form
ance
Dynamo DB Query Performance DynamoDB
Low latencyLarge scaleZero admin
Predictable performanceAverage single-digit milliseconds server side
latencies
Runs on solid state drives, and is built to maintain consistent, fast latencies at any scale
Rule 2: Service requests as fast as possible
Rule 1: Service all web requests
Rule 3: Handle requests at any scale
Rule 4: Simplify architecture with services
Rule 5: Automate operational management
Rule 6: Leverage unique cloud properties
Rule 3: Handle requests at any scalea) Scale up
Vertical ScalingFrom $0.02/hr
Basic unit of compute capacity
Range of CPU, memory & local disk options
14 Instance types available, from micro through cluster
compute to SSD backed
Scale up with Elastic Compute Cloud (EC2)
Rule 3: Handle requests at any scalea) Scale upb) Scale out
Trigger auto-scaling policy
as-create-auto-scaling-group MyGroup --launch-configuration MyConfig--availability-zones eu-west-1a--min-size 4--max-size 200
Auto-scalingAutomatic re-sizing of compute clusters based upon demand
Manually
Send an API call or use CLI to launch/terminate instances – Only need
to specify capacity change (+/-)
By Schedule
Scale up/down based on date and time
a) Scale upb) Scale out
By Policy
Scale in response to changing conditions, based on user configured real-time
monitoring and alerts
Auto-Rebalance
Instances are automatically launched/terminated to ensure the
application is balanced across multiple Azs
Rule 3: Handle requests at any scale
Manually
Send an API call or use CLI to launch/terminate instances – Only need
to specify capacity change (+/-)
By Schedule
Scale up/down based on date and timePreemptive manual scaling of capacity
e.g. before a marketing event add 10 more instances
Regular scaling up and down of instances
e.g. scale from 0 to 2 to process SQS messages every night or double capacity
on a Friday night
a) Scale upb) Scale out
By Policy
Scale in response to changing conditions, based on user configured real-time
monitoring and alerts
Auto-Rebalance
Instances are automatically launched/terminated to ensure the
application is balanced across multiple Azs
Rule 3: Handle requests at any scale
Dynamic scale based upon custom metrics
e.g. SQS queue depth, Average CPU load, ELB latency
Maintain capacity across availability zones
e.g. Instance availability maintained in event of AZ becoming unavailable
Rule 3: Handle requests at any scalea) Scale upb) Scale outc) Dial it up
Elastic Block StoreProvisioned IOPS up to 1000 per EBS
volume
Predictable performance for
demanding workloads such as
databases
DynamoDBProvisioned read/write performance per
table
Predictable high performance scaled via
console or API
Case Study
Case Study
“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
Rule 2: Service requests as fast as possible
Rule 1: Service all web requests
Rule 3: Handle requests at any scale
Rule 4: Simplify architecture with services
Rule 5: Automate operational management
Rule 6: Leverage unique cloud properties
YourBusiness
70%
On-PremiseInfrastructure
30%
Managing All of the “Undifferentiated Heavy Lifting”
Rule 4: Simplify architecture with services
AWSCloud-Based
Infrastructure
YourBusiness
More Time to Focus onYour Business
Configuring Your Cloud Assets
70%
30%70%
On-PremiseInfrastructure
30%
Managing All of the “Undifferentiated Heavy Lifting”
Rule 4: Simplify architecture with services
Relational Database ServiceDatabase-as-a-Service
No need to install or manage database instances
Scalable and fault tolerant configurations
DynamoDBProvisioned throughput NoSQL database
Fast, predictable performance
Fully distributed, fault tolerant architecture
Use RDS for databases
Use DynamoDB for high performance key-
value DB
Rule 4: Simplify architecture with services
Amazon SQS
Processing
task/processing
trigger
Processing results
Amazon SQSReliable, highly scalable, queue service
for storing messages as they travel
between instances
Task A
Task B
(Auto-scaling)
Task C
2
3
1
Simple WorkflowReliably coordinate processing steps
across applications
Integrate AWS and non-AWS resources
Manage distributed state in complex
systems
Push inter-process workflows into the cloud with SWF
Reliable message queuing without
additional software
Rule 4: Simplify architecture with services
Cloud SearchElastic search engine based upon
Amazon A9 search engine
Fully managed service with
sophisticated feature set
Scales automatically
DocumentServer
Results
SearchServer
Don’t install search software, use CloudSearch
Process large volumes of data cost effectively
with EMR
Elastic MapReduceElastic Hadoop cluster
Integrates with S3 & DynamoDB
Leverage Hive & Pig analytics scripts
Integrates with instance types such as
spot
Rule 4: Simplify architecture with services
“Amazon CloudSearch is a game-changing product that has allowed us to deliver powerful
new search capabilities. Our customers can now find what they are looking for faster and more
easily than ever before…
….We saved many months of re-architecture and development time by going with Amazon
CloudSearch”
Don MacAskillCEO & Chief Geek
SmugMug
Case Study
Rule 2: Service requests as fast as possible
Rule 1: Service all web requests
Rule 3: Handle requests at any scale
Rule 4: Simplify architecture with services
Rule 5: Automate operational management
Rule 6: Leverage unique cloud properties
Compute
Storage
Security Scaling
Database
NetworkingMonitoring
Messaging
Workflow
DNSLoad Balancing
BackupCDN
API
Rule 5: Automate operational managementa) Everything is programmable
Access everything via CLI, API or
Console
Achieve the highest levels of automation
sophistication with ease
Rule 5: Automate operational managementa) Everything is programmableb) Think disposable, one click deployments
Cloud FormationAutomate creation of ‘stacks’ in a repeatable way
Scripting framework for AWS resource creationFeature Details
Platform support Support for AWS resources from EC2 to IAM
Resource creation Creates AWS resources behind the scenes and reports on progress
Declarative Specify stacks in JSON format and source control your environments
Customizable Drive stack creation with paramaters
{ "AWSTemplateFormatVersion" : "2010-09-09",
"Description" : "This template creates a CloudFormation stack that uses Amazon CloudFront and an Amazon EC2 AMI for Adobe Flash Media Server 4.5 to enable HTTP streaming of your live event.",
"Parameters" : { "InstanceType" : { "Type" : "String", "Description" : "The type of Amazon EC2 instance to launch. Valid values are: m1.large, m1.xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, c1.xlarge.", "Default" : "m1.xlarge", "AllowedValues" : [ "m1.large","m1.xlarge","m2.xlarge","m2.2xlarge","m2.4xlarge","c1.xlarge" ], "ConstraintDescription" : “
Rule 5: Automate operational managementa) Everything is programmableb) Think disposable, one click deploymentsc) Design for failure, implement self healing
Customize instance startup
Get instances to ask ‘who am I?’ question on startup and be configured dynamically upon
being asnwered
Maintain capacity of instances
Using a minimum pool size will maintain
capacity in the event of instance failures
Know what’s going on, take automated actions
Use CloudWatch standard and custom metrics to create
alarms.
Respond with automated administration actions
Bootstrapping Auto-scaling Cloud Watch
Rule 5: Automate operational managementa) Everything is programmableb) Think disposable, one click deploymentsc) Design for failure, implement self healing
Rule 2: Service requests as fast as possible
Rule 1: Service all web requests
Rule 3: Handle requests at any scale
Rule 4: Simplify architecture with services
Rule 5: Automate operational management
Rule 6: Leverage unique cloud properties
Small 1.7 GB, 1 ECU1 virtual core
Large 7.5 GB4 ECUs2 virtual cores
Extra Large 15 GB 8 ECUs4 virtual cores
Hi-Mem XL 17.1 GB6.5 ECUs2 virtual cores
Hi-Mem 2XL 34.2 GB13 ECUs4 virtual cores
Hi-Mem 4XL 68.4 GB26 ECUs8 virtual cores
High-CPU Med 1.7 GB 5 ECUs 2 virtual cores
High-CPU XL 7 GB 20 ECUs8 virtual cores
Micro 613 MB Up to 2 ECUs (for short bursts)
Cluster GPU 4XL 22 GB 33.5 ECUs8 Nehalem virtual cores 2 x NVIDIA Tesla “Fermi” M2050 GPUs
Cluster Compute 4XL 23 GB 33.5 ECUs 8 Nehalem virtual cores
Cluster Compute 8XL 60.5 GB 88 ECUs 8 core 2 x Intel Xeon
Medium 3.75 GB2 ECUs1 virtual cores
Rule 6: Leverage unique cloud propertiesa) Optimize costs with instance types
Unix/Linux instances start at $0.02/hour
Pay as you go for compute power
Low cost and flexibility
Pay only for what you use, no up-front commitments or long-term contracts
Use Cases:
Applications with short term, spiky, or unpredictable workloads;
Application development or testing
On-demand instances
1- or 3-year terms
Pay low up-front fee, receive significant hourly discount
Low Cost / Predictability
Helps ensure compute capacity is available when needed
Use Cases:
Applications with steady state or predictable usage
Applications that require reserved capacity, including disaster recovery
Reserved instances
Bid on unused EC2 capacity
Spot Price based on supply/demand, determined automatically
Cost / Large Scale, dynamic workload handling
Use Cases:
Applications with flexible start and end times
Applications only feasible at very low compute prices
Spot instances
Rule 6: Leverage unique cloud propertiesa) Optimize costs with instance types
0
1000
2000
3000
4000
5000
6000
7000
Reserved Instances
On Demand
Spot
Rule 6: Leverage unique cloud propertiesa) Optimize costs with instance types
a) Optimize costs with instance typesb) Get insight fast with Elastic MapReduce
Rule 6: Leverage unique cloud properties
Elastic MapReduceManaged, elastic Hadoop cluster
Integrates with S3 & DynamoDB
Leverage Hive & Pig analytics scripts
Integrates with instance types such as spot
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
a) Optimize costs with instance typesb) Get insight fast with Elastic MapReduce
Elastic MapReduce
Code Name node
OutputS3 + SimpleDB
S3 + DynamoDB
Elastic cluster
HDFSQueries
+ BIVia JDBC, Pig, Hive
Input data
Rule 6: Leverage unique cloud properties
Features powered by Amazon Elastic MapReduce:
People Who Viewed this Also ViewedReview highlights
Auto complete as you type on searchSearch spelling suggestions
Top searchesAds
200 Elastic MapReduce jobs per dayProcessing 3TB of data
“With AWS, our developers can now do things they couldn’t before…
…Our systems team can focus their energies on other challenges.”
Dave MarinSearch and data-mining engineer
Case Study
Cluster compute instancesImplement HVM process execution
Intel® Xeon® E5-2670 processors
10 Gigabit Ethernet
Cluster Compute
80 EC2 Compute Units
60GB RAM
3TB LocalDisk
Network placement groupsCluster instances deployed in a ‘Placement Group’ enjoy low
latency, full bisection 10 Gbps bandwidth
10Gbps
Rule 6: Leverage unique cloud propertiesa) Optimize costs with instance typesb) Get insight fast with Elastic MapReducec) Create a supercomputer backend when you need it
Rule 2: Service requests as fast as possible
Rule 1: Service all web requests
Rule 3: Handle requests at any scale
Rule 4: Simplify architecture with services
Rule 5: Automate operational management
Rule 6: Leverage unique cloud properties
aws.amazon.comget started with the free tier
Thank you
김일호 – Solutions Architectilho@amazon.com
Recommended