aws를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법
DESCRIPTION
2014년 3월 27일 개최된 '상암에서 만나는 아마존웹서비스' 에서 AWS 김일호 책임이 발표한 'AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법' 발표 자료 입니다.TRANSCRIPT
![Page 2: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/2.jpg)
You begin your Startup in a garage, 친구집 , PC 방 , 랩실 , 토즈 ..…..
![Page 3: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/3.jpg)
…and build a fantastic app
![Page 4: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/4.jpg)
people love it!
![Page 5: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/5.jpg)
and everyone wants to use it…
![Page 6: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/6.jpg)
503Service Temporarily Unavailable
The server is temporarily unable to service your request due to
maintenance downtime or capacity problems. Please try again later.
![Page 7: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/7.jpg)
and everyone wants to use it…
Now what?!
![Page 8: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/8.jpg)
What your users want…
![Page 9: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/9.jpg)
What your users want…
Fast, performant experience
![Page 10: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/10.jpg)
What your users want…
Fast, performanceexperience
Always on, accessible anywhere
![Page 11: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/11.jpg)
What your users want…
Fast, performanceexperience
Always on, accessible anywhere
Personalized and rich application
![Page 12: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/12.jpg)
What your users want…
Fast, performanceexperience
Always on, accessible anywhere
Personalized and rich application
Lots of new features all of the
time
![Page 13: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/13.jpg)
Fast, performance experience
Lots of new features all of the
time
Always on, accessible anywhere
Personalized and rich application
Powerful web applications
![Page 14: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/14.jpg)
How?
![Page 15: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/15.jpg)
Building powerful web applications
![Page 16: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/16.jpg)
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
![Page 17: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/17.jpg)
DNS Application Data
Rule 1: Service all web requestsa) Make sure requests get to your ‘front door’
![Page 18: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/18.jpg)
DNS Application DataRequest
Rule 1: Service all web requestsa) Make sure requests get to your ‘front door’
![Page 19: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/19.jpg)
DNS Application DataRequest
a) Make sure requests get to your ‘front door’
Rule 1: Service all web requests
![Page 20: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/20.jpg)
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’
![Page 21: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/21.jpg)
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’
![Page 22: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/22.jpg)
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
![Page 23: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/23.jpg)
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
![Page 24: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/24.jpg)
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
![Page 25: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/25.jpg)
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
![Page 26: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/26.jpg)
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
![Page 27: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/27.jpg)
Rule 2: Service requests as fast as possible
![Page 28: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/28.jpg)
Rule 2: Service requests as fast as possiblea) Choose the fastest route
Region A
Route53
Region B
Request
![Page 29: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/29.jpg)
Rule 2: Service requests as fast as possiblea) Choose the fastest route
Region A
Route53
Region B
16ms 92ms
Request
![Page 30: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/30.jpg)
Rule 2: Service requests as fast as possiblea) Choose the fastest route
Region A
Route53
Region B
16ms 92ms
Request
![Page 31: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/31.jpg)
Rule 2: Service requests as fast as possible
Region A
Route53
Region B
16ms
RequestRegion A DNS entry
a) Choose the fastest route
![Page 32: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/32.jpg)
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.
![Page 33: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/33.jpg)
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
![Page 34: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/34.jpg)
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
![Page 35: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/35.jpg)
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
![Page 36: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/36.jpg)
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
![Page 37: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/37.jpg)
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
![Page 38: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/38.jpg)
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
![Page 39: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/39.jpg)
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
![Page 40: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/40.jpg)
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
![Page 41: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/41.jpg)
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
![Page 42: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/42.jpg)
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
![Page 43: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/43.jpg)
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)
![Page 44: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/44.jpg)
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
![Page 45: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/45.jpg)
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
![Page 46: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/46.jpg)
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
![Page 47: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/47.jpg)
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
![Page 48: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/48.jpg)
Case Study
![Page 49: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/49.jpg)
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
![Page 50: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/50.jpg)
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
![Page 51: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/51.jpg)
YourBusiness
70%
On-PremiseInfrastructure
30%
Managing All of the “Undifferentiated Heavy Lifting”
Rule 4: Simplify architecture with services
![Page 52: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/52.jpg)
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
![Page 53: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/53.jpg)
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
![Page 54: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/54.jpg)
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
![Page 55: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/55.jpg)
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
![Page 56: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/56.jpg)
![Page 57: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/57.jpg)
“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
![Page 58: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/58.jpg)
![Page 59: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/59.jpg)
![Page 60: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/60.jpg)
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
![Page 61: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/61.jpg)
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
![Page 62: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/62.jpg)
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" : “
![Page 63: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/63.jpg)
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
![Page 64: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/64.jpg)
Rule 5: Automate operational managementa) Everything is programmableb) Think disposable, one click deploymentsc) Design for failure, implement self healing
![Page 65: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/65.jpg)
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
![Page 66: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/66.jpg)
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
![Page 67: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/67.jpg)
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
![Page 68: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/68.jpg)
0
1000
2000
3000
4000
5000
6000
7000
Reserved Instances
On Demand
Spot
Rule 6: Leverage unique cloud propertiesa) Optimize costs with instance types
![Page 69: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/69.jpg)
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
![Page 70: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/70.jpg)
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
![Page 71: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/71.jpg)
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
![Page 72: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/72.jpg)
“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
![Page 73: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/73.jpg)
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
![Page 74: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/74.jpg)
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
![Page 75: AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b4c28c4a795970178b45e6/html5/thumbnails/75.jpg)
aws.amazon.comget started with the free tier