7. 1.
Focus on a simple implementation of your idea
2.
Start with a minimal core set of features
8. 1.
Focus on a simple implementation of your idea
2.
Start with a minimal core set of features
3.
Release and listen to your users
9. 1.
Focus on a simple implementation of your idea
2.
Start with a minimal core set of features
3.
Release and listen to your users
Minimum Viable Product
20. Innovation & Iteration
Now: re-written as
app. Photo sharing is just one feature
photo app. Sold to FB
for 1bn
Scale
Started: burbn, location-based mobile
Time
21. Innovation & Iteration
Now: micro-blogging,
podcasts
500M users, >10Bn
valuation
Scale
Started: odeo, site to create & share
Time
22. Innovation & Iteration
Now: raised $42M,
successful. But then game 52…
downloaded 1B times,
25% paid, best sold
game on AppStore
Scale
Started: developed 51 games, none very
Time
23. “Timing, perseverance, and ten years of trying
will eventually make you look like an overnight
success.”
Biz Stone, Twitter co-founder
24. AWS lowers the cost of Innovation
Scenario
Scale
Small team with initial idea for Mobile app
3 months to get to launch
Unknown customer/problem/solution
No cash….
Time
25. Dev / Test Environment
Average Spend
Scale
$0
p/m
Time
28. Getting to MVP for $250
Total Spend to MVP
Scale
$250
$0
$15
$235
Time
• 3 months dev/test/release
• Serving Beta customers
• Ready for full production
and scale
29. FOCUS!
Your application
Your business & what makes you unique
Innovation, not undifferentiated heavy lifting
Spending developer time in the right place
Automate as much as you can
(Deep insight alert: Developer Time = Money)
Build apps, not infrastructure
30. "Startups are all about focus. AWS enables focus"
Ray Bradford, Kleiner Perkins, Caulfield & Byers
31. “Your users around the world don’t
care that you wrote your own DB”
Mike Krieger, Instagram Cofounder
32. Focus requires Automation
AWS Elastic
Beanstalk
AWS
OpsWorks
AWS
CloudFormation
DIY /
On Demand
Automated
resource
management – web
apps made easy
DevOps framework
for application
lifecycle management
and automation
Templates to deploy
& manage templatedriven provisioning
DIY, on demand
resources: EC2, S3,
customer AMI’s, etc.
Convenience
Control
35. We Create the EC2 Instance
You Focus on Developing Your App
User Application
Application Service
HTTP Service
Language Interpreter
Operating System
Host
42. 내 취향을 분석하는 영화추천 서비스 왓챠
어떤 영화를 볼 지 선택할 때,
취향을 분석하여 좋아할만한 영화를 추천해 주는 개인화 서비스
43. 베타 버전 개발 (Beta Dev Stage)
• 한대의 서버에 App서버 DB서버 함께 사용
• Loosely Coupled Architecture 필요
• Vertical Scaling (서버 스펙 업그레이드) 어려움
• Horizontal Scaling (서버 수량 증가) 어려움
Traditional
Hosting
Provider
44. 베타서비스 시작 (Beta Service on AWS)
App Server
m1.large
So, We started with Simple Architecture
• App서버 1대 DB서버 1대
• 시간 부족으로 인한 Time To Market 중요
• 사용자 유입 속도 예측 불가
• 빠르게 이용자 요구에 대처 할 수 있는 능력 필요
DB Server
m1.medium
45. 애플리케이션 서버 (Scale Up/Down)
Right Instance Type
App Server
• Ruby on Rails 웹 애플리케이션
• 모바일 API 개발
• 인스턴스 타입 변경이 수분안에
가능
AMI
m1.large
m1.xlarge
• AMI (Amazon Machine Image)를
통한 인스턴스 타입 업그레이드
47. 애플리케이션 서버 (Rapidly Scale Out/In)
App
Servers
Marketing Promotion
With
• 순간적으로 폭증하는 트래픽
• SES를 통한 대량 Email 발송처리
• 수분만에 Spot Instance 추가
m3.xlarge
Elastic
Load Balancer
• 트래픽 처리 끝난 후 모두 제거
48. 데이터 베이스 (Test & Apply)
Medium
•
Large
Extra Large
실시간 Modify 를 통한 무중단 업그레이드
•
초창기 단순 구조, Read Replica 1-click 추가
49. 또한, 그 외에도…
Application
Server
m3.xlarge
On-demand
Spot Instance
Database
Server
Extra Large
Read Replica
추천서버
M1.xlarge
추천 관련된 모든 역
할을 담당하는 서버
DB, 캐시서버, 어플
리케이션 서버와 통
신
Cache 서버
m1.xlarge
Redis,
Memcached
Search 서버
m1.xlarge
Sphinx
50. Next Step with AWS
맛집
쇼핑
음악
영화
드라마
공연
뉴스
게임
동영상
문화컨텐츠
“앞으로 개개인에게 특화된 '개인화' 서비스에 미래가 있다고 생각해요.
영화 뿐만 아니라 개인화 할 수 있는 것들은 무궁무진합니다.
이러한 분야에서 빠른 시장진입을 위해서 AWS가 많은 도움을 줄것입니다.”
54. 503
Service Temporarily Unavailable
The server is temporarily unable
to service your request due to
maintenance downtime or capacity
problems. Please try again later.
63. Database Options
Self-Managed
Database Server
on Amazon EC2
Your choice of
database running on
Amazon EC2
Bring Your Own
License (BYOL)
Fully-Managed
Amazon RDS
Relational Database
as a managed
service
Flexible licensing:
BYOL or License
Included
Amazon
DynamoDB
Managed NoSQL
database service
using SSD storage
Seamless scalability
Zero administration
64. But how do I choose what
DB technology I need?
SQL? NoSQL?
70. Why SQL?
Established and well worn technology
Lots of existing code, communities, books, tools, etc
Clear patterns to scalability
You aren’t going to break SQL DBs in your first 10
million users. No really, you won’t
71. Amazon Relational Database Service (RDS)
Feature
Platform support
Preconfigured
Automated patching
Details
Create MySQL, SQL Server and Oracle
Get started instantly with sensible default
settings
Keep your database platform up to date
automatically
Backups
• Database-as-a-Service
• No need to install or manage database
instances
• Scalable and fault tolerant configurations
Automatic backups and point in time
recovery using snapshots
Manual DB snapshots
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
72. Auto-Scaling
Automatic resizing of
compute clusters based on
demand
Feature
Amazon
CloudWatch
Trigger auto-scaling policy
Details
Control
Define minimum and maximum instance pool
sizes and when scaling and cool down occurs.
Integrated to Amazon
CloudWatch
Use metrics gathered by CloudWatch to drive
scaling.
Instance types
Run Auto Scaling for On-Demand and Spot
Instances. Compatible with VPC.
as-create-auto-scaling-group MyGroup
--launch-configuration MyConfig
--availability-zones us-east-1a
--min-size 4
--max-size 200
82. Production 1.0 Architecture
Well-designed, 2 Tier architecture
Highly Available due to Multiple Availability Zone
Load Balancing & Auto-Scaling for full scalability
Fully managed Database included
Capable of serving >10K-100Ks users
84. Production 1.0 Architecture
Wasted server capacity for static content
Reliability and durability are not yet optimal
End-user experience could be improved thru
offloading & caching
87. Simple Storage Service (S3)
Feature
Flexible object store
Access control
Server-side encryption
Multi-part uploads
Object versioning
Object expiry
Durable storage, any object
99.999999999% durability of objects
Unlimited storage of objects of any type
Up to 5TB size per object
Access logging
Web content hosting
Notifications
Import/Export
Details
Buckets act like drives, folder structures within
Granular control over object permissions
256bit AES encryption of objects
Improved throughput & control
Archive old objects and version new ones
Automatically remove old objects
Full audit log of bucket/object actions
Serve content as web site with built in page handling
Receive notifications on key events
Physical device import/export service
88. CloudFront
• World-wide content distribution
network
• Easily distribute content to end
users with low latency, high data
transfer speeds, and no
commitments
Feature
Fast
Integrated with other services
Dynamic content
Streaming
Details
Multiple world-wide edge locations to serve content as close to your users as possible
Works seamlessly with S3 and EC2 origin servers
Supports static and dynamic content from origin servers
Supports rtmp from S3 and includes support for live streaming from Adobe FMS and Microsoft
Media Server
90. Production 1.2 Architecture
Well-designed, 2 Tier architecture
Highly Available due to Multiple Availability Zone
Load Balancing & Auto-Scaling for full scalability
Fully managed Database included
Static content stored in durable, consistent way
Improved end-user experience through CDN
Capable of serving >100K-1M+ users
96. Elastic MapReduce (EMR)
• Managed, elastic Hadoop cluster
• Integrates with S3 & DynamoDB
• Leverage Hive & Pig analytics scripts
Feature
Scalable
Integrated with other
services
Comprehensive
Cost effective
Monitoring
Details
Use as many or as few compute instances running Hadoop as you want. Modify the number of
instances while your job flow is running
Works seamlessly with S3 as origin and output. Integrates with DynamoDB
Supports languages such as Hive and Pig for defining analytics, and allows complex definitions in
Cascading, Java, Ruby, Perl, Python, PHP, R, or C++
Works with Spot instance types
Monitor job flows from with the management console
97. Foursquare…
…generates a lot of Data
Founded in 2009
112M in Venture Capital
33 million users
1.3 million businesses using the service
3.5 billion check-ins
15M+ venues,
Terabytes of log data
98. Uses EMR for
Evaluation of new features
Machine learning
Exploratory analysis
Daily customer usage reporting
Long-term trend analysis
99. Benefits of EMR
Ease-of-Use
“We have decreased the processing time for urgent data-analysis”
Flexibility
To deal with changing requirements & dynamically expand reporting clusters
Costs
“We have reduced our analytics costs by over 50%”
101. Production 1.3 Architecture
Well-designed, 2 Tier architecture
Highly Available due to Multiple Availability Zone
Load Balancing & Auto-Scaling for full scalability
Static content stored in durable, consistent way
Improved end-user experience through CDN
Big Data analytics built in for continuous optimization
Capable of serving >1m-10M+ users
126. An example
Enterprise software provider in APAC
Focused on SaaS for storage, security, collaboration, etc.
Backed by leading VC’s in the region
Strong growth – winning customers globally
Focused on profitability & reducing unit costs
Worked closely with the AWS team to optimize its architecture
127. “Based on a True Story”
Margin
Growth
54%
reduction in
unit costs
-10%
-20%
price drop RI purchase
in S3
-22%
Migration
Cassandra
to Dynamo
-18%
Price drop in
S3 of 25%
130. Cost Optimization using different purchase models
Free Tier
On-Demand
Reserved
Spot
Get Started on AWS
with free usage & no
commitment
Pay for compute
capacity by the hour
with no long-term
commitments
Make a low, one-time
payment and receive a
significant discount on
the hourly charge
Bid for unused capacity,
charged at a Spot Price
which fluctuates based
on supply and demand
For POCs and
getting started
For spiky workloads,
or to define needs
For committed
utilization
For time-insensitive or
transient workloads
132. Reserved Instance Pricing
Make a low, one-time payment and receive a
significant discount on the hourly charge
For committed utilization
3 Versions
• Light Utilization RI
• Medium Utilization RI
• High Utilization RI
2 Terms
• 1-year
• 3-year
133. Reserved Instance Pricing
Utilization
RI option
Savings over On-Demand
<10%
On-Demand
10% - 40%
Light Utilization RI
Up to 56%
40% - 75%
Medium Utilization RI
Up to 66%
>75%
Heavy Utilization RI
Up to 71%
134.
135. • Most traffic happens in the afternoons and evenings, so they reduce the number of
instances at night by 40%.
• At peak traffic $52 an hour is spent on EC2 and at night, during off peak, the spend is as
little as $15 an hour. Saving per hour = 71%
136. Save more money by using Spot Instances
Spot market for underutilized capacity
Requested Bid Price and
Pay as you go
Spot Price < On-Demand Price
Up to 85% savings over On Demand pricing
137. Use Cases for Spot Pricing
Use Case
Batch Processing
Types of Applications
Generic background processing (scale out computing)
Hadoop
Hadoop/MapReduce processing type jobs (e.g. Search, Big Data, etc.)
Scientific Computing
Scientific trials/simulations/analysis in chemistry, physics, and biology
Video and Image
Processing/Rendering
Testing
Transform videos into specific formats
Web/Data Crawling
Financial
HPC
Analyzing data and processing it
Hedgefund analytics, energy trading, etc
Utilize HPC servers to do embarrassingly parallel jobs
Cheap Compute
Backend servers for Facebook games
Provide testing of software, web sites, etc
138.
139. Optimizing Video Transcoding Workloads
for a FREEMIUM model
Free Offering
Premium Offering
Optimize for reducing cost
Acceptable Delay Limits
Optimized for Faster response
No Delays
Implementation
–
–
–
–
Leverage spot pricing
Maximum Bid Price
< On-demand Rate
Use on-demand Instances, if delay
Get strongly reduced price for your
workload
Implementation
– Invest in Reserved Instances
– Use on-demand for Elasticity
Get Instant Capacity for higher price
141. “Give me 4 fault tolerant algorithms and I can pick
the best one almost with my eyes closed.
If you then ask me which one is best for the
business, in terms of dollar costs, I would be
clueless...”
Werner Vogels, CTO, Amazon
142. Cost optimization through ‘Cost Aware Architecting’
Reduce Cost of…
Compute
…by leveraging:
1. S3 & CloudFront for Caching & Offloading
2. Auto-Scaling done Right
Storage
3. Storing derivative objects in S3 ‘Reduced Redundancy’
Database
4. Read Replicas and/or ElastiCache
Test & Dev
5. Rapid proto-typing & Lean Dev/Test
143. Cost Aware Architecting to Reduce costs of EC2
1. S3 & CloudFront for Caching & Offloading
• Reduce your compute demand and costs
• Improve end-user experience
• Increase reliability and durability
149. Cost Aware Architecting to Reduce costs of EC2
2. Auto-Scaling done Right with Real Time reaction response
• Elastic Load Balancing and (event-driven) Auto Scaling
• Notification of pending news flash (with audible alarm)
• On-demand ramp up of capacity (6 mins.)
• Subscriber alert push delivered
• Mass response traffic handled (followed by ramp down)
151. Cost Aware Architecting to Reduce costs of EC2
2. Auto-Scaling done Right with Real Time reaction response
Buuuk
Straits Times
152. Cost Aware Architecting to Reduce costs of EC2
2. Auto-Scaling done Right with Real Time reaction response
153. Cost Aware Architecting to Reduce costs of EC2
2. Auto-Scaling done Right with Real Time reaction response
154. Cost Aware Architecting to Reduce costs of EC2
2. Auto-Scaling done Right with Real Time reaction response
155. Cost Aware Architecting to Reduce costs of EC2
2. Auto-Scaling done Right with Real Time reaction response
156. Cost Aware Architecting to Reduce costs of S3
3. Storing derivative objects in S3 ‘Reduced Redundancy’
• Original vs. derived assets : 33% savings
• Single reference and consistency
• Control, accurate logs and tracking
Reduced Redundancy Storage
‘RRS’
157. Cost Aware Architecting to Reduce costs of DB
4. Read Replicas and/or ElastiCache (‘Database Smarts’)
•
•
•
•
Scale out and share work
Optimal performance, minimize load
Enhance reliability, ensure data safety
Cost reduction
158.
159.
160.
161. Cost Aware Architecting to Reduce costs of Test/Dev
5. Rapid proto-typing & Lean Dev/Test
• Inexpensive idea validation
• Seamless switch over and versioning
• Rapid dev / test agility
164. Traditional HW / Hosting
WASTE
On and Off
Fast Growth
Variable peaks
Predictable peaks
CUSTOMER DISSATISFACTION
165. AWS = Elastic Capacity
On and Off
Fast Growth
Variable peaks
Predictable peaks
166. When calculating TCO…
#1 Start by understanding your use cases & usage patterns
#2 Apples to Apples – Take all the fixed costs into consideration
167.
168.
169. When calculating TCO…
#1 Start by understanding your use cases & usage patterns
#2 Apples to Apples – Take all the fixed costs into consideration
#3 Leverage ‘Cost Aware Architecting’ to reduce resources
170. Traditional Hosting vs AWS
60
# of
(virtual)
servers
50
40
30
20
10
0
Hosting
Hosting
Offload
to S3
Caching
with CF
AutoScaling
Etc.
171. When calculating TCO…
#1 Start by understanding your use cases & usage patterns
#2 Apples to Apples – Take all the fixed costs into consideration
#3 Leverage ‘Cost Aware Architecting’ to reduce resources
#4 Include pricing models (RI, Spot) and economies of scale
172. “Based on a True Story”
Margin
Growth
54%
reduction in
unit costs
-10%
-20%
price drop RI purchase
in S3
-22%
Migration
Cassandra
to Dynamo
-18%
Price drop in
S3 of 25%
173. When calculating TCO…
#1 Start by understanding your use cases & usage patterns
#2 Apples to Apples – Take all the fixed costs into consideration
#3 Leverage ‘Cost Aware Architecting’ to reduce resources
#4 Include pricing models (RI, Spot) and economies of scale
#5 Take a look at what’s included: Intangible Cost Savings !
174. Did you know?
Free Usage Tier
Free Services
Data Transfer
AWS Elastic Beanstalk
AWS CloudFormation
AWS IAM
Auto Scaling
Consolidated Billing
No Charge for
New Customers
Amazon EC2
Amazon RDS
Amazon ELB
Amazon S3
Amazon EBS
For All Customers
Amazon SQS/SNS
Amazon DynamoDB
Amazon SES
Amazon SWF
And more…
Inbound Data Transfer
Data Transfer between
Instances within an
Availability Zone
178. So what does this mean in terms of costs?
Standard Architecture
Month
Medium EC2 instances 4
$ 485
AWS Data Transfer Out 1Tb $ 194
TOTAL
$ 679
Optimized Architecture
Month
Medium EC2 instances
1
$ 121
CloudFront Data Transfer Out 1Tb $ 168
CloudFront Requests
$1.89
TOTAL
$ 291
57% lower cost – 6 x faster
197. EC2 Spot Instance + AutoScaling
On-Demand Group
• 부하 증가에 천천히 반응하여
Scale-Up
• 부하 감소에 빠르게 반응하여
Scale-Down
Spot Group
• 부하 증가에 빠르게 반응하여
Scale-Up
• 부하 감소에 천천히 반응하여
Scale-Down
Spot 인스턴스 위주로 부하를 수용하고,
Spot 인스턴스 부족분을 On-Demand 로 수용
198. EC2 Spot Instance + AutoScaling
Spot : 5분간 평균 CPU이용률 40%
OD : 5분간 평균 CPU이용률 60%
6:00
9:00
12:00
15:00
On-Demand
18:00
Spot
Load
21:00
0:00
199. EC2 Spot Instance + AutoScaling
Spot 확보에 따른
On-Demand Scale-Down
Spot 확보에 실패한 경우
On-Demand가 Scale-Up
6:00
9:00
12:00
15:00
On-Demand
18:00
Spot
Load
21:00
0:00
200. EC2 Spot Instance + AutoScaling
BEAT API 서버 비용 비교
350
301.92
300
77%
250
200
150
100
68.448
59.144
On-Demand + Spot
RI(1yr) + Spot
50
0
On-Demand
일 비용($)
201. ( 세줄)정리
• Spot 인스턴스를 최대한 활용하여 비용 절감
• Spot 인스턴스의 단점을 AutoScaling 전략으로 커버
• 어느 정도 부하 패턴이 일정해 지면
On-Demand 인스턴스를 RI 인스턴스로 변경
TIME TO MARKETNeed to launch the business quicklyLong development cycles and high costsInability to experiment and test the hypotheses that underpin the businessSCALABILITYUnpredictable demandNeed to deal with spiky traffic or sudden increase in usersNeed to scale out to cover new markets / regionsCOST & REVENUENo CAPEX budget Inability to forecast demand & commit long term contractsNeed to run a lean business & focus on generating revenue
We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.
We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.
AWS lets you lower the cost of innovationAccelerate your speed, be more agile, increase the value of your product.
We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.
구두로만 타사 언급 가능
Amazon Web Services allows you to scale from one EC2 Instance to [Click]
to many thousands. Just dial up and down as required. The Power of Elasticity…[Click] And all this is fully automated without you loosing sleep [Click]
TIME TO MARKETNeed to launch the business quicklyLong development cycles and high costsInability to experiment and test the hypotheses that underpin the businessSCALABILITYUnpredictable demandNeed to deal with spiky traffic or sudden increase in usersNeed to scale out to cover new markets / regionsCOST & REVENUENo CAPEX budget Inability to forecast demand & commit long term contractsNeed to run a lean business & focus on generating revenue
Let us see how AWS helps to scale your Web Application to support 10’s of Millions of users. Start Small and grow big, build an architecture that scales at each progressive stage.
After a few feedbacks and tinkering for a better customer experience we have finally gone live and this is our Production 1.0 Architecture. If you notice we have now enabled the Multi AZ feature in our Database. All it takes is a single click or an API call to make your Database highly available Over the course of the last fee slides we covered how you can scale progressively through various stages of your application development and deployment. This again underlines the ability to scale seamlessly and pay for only what you use and provision when you need to.
Amazon EC2 enables our partners and customers to build and customize Amazon Machine Images (AMIs) with software based on your needs. These are the database servers available for use today within Amazon EC2: Oracle Database 11g,Microsoft SQL Server Standard,MySQL Enterprise,IBM DB2,IBM Informix Dynamic Server. http://aws.amazon.com/ec2/Amazon Relational Database Service (Amazon RDS) is a web service that makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while managing time-consuming database administration tasks, freeing you up to focus on your applications and business. Amazon RDS gives you access to the capabilities of a familiar MySQL or Oracle database. This means that the code, applications, and tools you already use today with your existing databases can be used with Amazon RDS. Amazon RDS automatically patches the database software and backs up your database, storing the backups for a user-defined retention period and enabling point-in-time recovery. You benefit from the flexibility of being able to scale the compute resources or storage capacity associated with your relational database instance via a single API call. In addition, Amazon RDS for MySQL makes it easy to use replication to enhance availability and reliability for production databases and to scale out beyond the capacity of a single database deployment for read-heavy database workloads. As with all Amazon Web Services, there are no up-front investments required, and you pay only for the resources you use. http://aws.amazon.com/rds/Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. With a few clicks in the AWS Management Console, customers can launch a new Amazon DynamoDB database table, scale up or down their request capacity for the table without downtime or performance degradation, and gain visibility into resource utilization and performance metrics. Amazon DynamoDB enables customers to offload the administrative burdens of operating and scaling distributed databases to AWS, so they don’t have to worry about hardware provisioning, setup and configuration, replication, software patching, or cluster scaling. http://aws.amazon.com/dynamodb/Amazon Redshift is a managed data warehouse service in the Amazon cloud. Redshift is optimized for data sets ranging from 100’s of GB to peta-byte scale. It uses columnar storage to compress and accelerate scan operations against large data sets, while providing a SQL interface for easy integration with reporting and query tools. All Redshift operations occur as massively parallel processes, including data loading, query, resizing, backup and restore. Redshift users can provision a cluster and load data directly from S3 in a few minutes, and be assured that their data is protected by VPC and encryption, both at rest and in-flight (via SSL).
Founded in 2004, raised 56M in Venture Capital, went IPO
TIME TO MARKETNeed to launch the business quicklyLong development cycles and high costsInability to experiment and test the hypotheses that underpin the businessSCALABILITYUnpredictable demandNeed to deal with spiky traffic or sudden increase in usersNeed to scale out to cover new markets / regionsCOST & REVENUENo CAPEX budget Inability to forecast demand & commit long term contractsNeed to run a lean business & focus on generating revenue
Let us see how AWS helps to scale your Web Application to support 10’s of Millions of users. Start Small and grow big, build an architecture that scales at each progressive stage.
We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.
■One of the fastest growing sites in history. Cites AWS for making it possible to handle 18 million visitors in March, a 50% increase from the previous month, with very little IT infrastructure. ■12 employees as of last December. Using the cloud a site can grow dramatically while maintaining a very small team. Looks like 31 employees as of now.
Let us see how AWS helps to scale your Web Application to support 10’s of Millions of users. Start Small and grow big, build an architecture that scales at each progressive stage.
Many companies still have their static content, e.g. pics, at their serverThis means for every user, this requires computational effort as pictures are being called from the serverA better way is to offload all your static content and put it in S3, and have it delivered from our CDN, called CloudfrontThis reduces the number of API calls to your server, and hence, you can lower the number of servers you run, thereby lowering costsCloudFront is fully automated: you don’t have to configured detailed configs, your users just get the content from the nearest of our 43 global Cloudfront POPS – lower latency, means a an improved end-user experienceDurability goes up with S3: 11 9’s. But also: consistency as all your data is in one location, not across all your servers. DRY
Many companies still have their static content, e.g. pics, at their serverThis means for every user, this requires computational effort as pictures are being called from the serverA better way is to offload all your static content and put it in S3, and have it delivered from our CDN, called CloudfrontThis reduces the number of API calls to your server, and hence, you can lower the number of servers you run, thereby lowering costsCloudFront is fully automated: you don’t have to configured detailed configs, your users just get the content from the nearest of our 43 global Cloudfront POPS – lower latency, means a an improved end-user experienceDurability goes up with S3: 11 9’s. But also: consistency as all your data is in one location, not across all your servers. DRY
Many companies still have their static content, e.g. pics, at their serverThis means for every user, this requires computational effort as pictures are being called from the serverA better way is to offload all your static content and put it in S3, and have it delivered from our CDN, called CloudfrontThis reduces the number of API calls to your server, and hence, you can lower the number of servers you run, thereby lowering costsCloudFront is fully automated: you don’t have to configured detailed configs, your users just get the content from the nearest of our 43 global Cloudfront POPS – lower latency, means a an improved end-user experienceDurability goes up with S3: 11 9’s. But also: consistency as all your data is in one location, not across all your servers. DRY
Many companies still have their static content, e.g. pics, at their serverThis means for every user, this requires computational effort as pictures are being called from the serverA better way is to offload all your static content and put it in S3, and have it delivered from our CDN, called CloudfrontThis reduces the number of API calls to your server, and hence, you can lower the number of servers you run, thereby lowering costsCloudFront is fully automated: you don’t have to configured detailed configs, your users just get the content from the nearest of our 43 global Cloudfront POPS – lower latency, means a an improved end-user experienceDurability goes up with S3: 11 9’s. But also: consistency as all your data is in one location, not across all your servers. DRY
Many companies still have their static content, e.g. pics, at their serverThis means for every user, this requires computational effort as pictures are being called from the serverA better way is to offload all your static content and put it in S3, and have it delivered from our CDN, called CloudfrontThis reduces the number of API calls to your server, and hence, you can lower the number of servers you run, thereby lowering costsCloudFront is fully automated: you don’t have to configured detailed configs, your users just get the content from the nearest of our 43 global Cloudfront POPS – lower latency, means a an improved end-user experienceDurability goes up with S3: 11 9’s. But also: consistency as all your data is in one location, not across all your servers. DRY
Perx = mobile loyalty program. iPhone app for loyalty in restaurants, bars etc. Location Based = tells you when you walk around where to get a deal.Logo’s for all the rastaurants is static content. When they changed to S3 + Cloudfront, user experience went up, users loved it. Easier to manage as they only had to manage changes, new ones etc ONCEThen, we started offering CloudFront for Dynamic Content. For Perx, that works for all the different offers that restaurants put out there on a weekly basis. “What is the best deal today at Subway or Starbucks?”. These can now be cached at the edge as well. Offload dynamic calls to your server, thereby again lowering the load on your servers, and your costs!
Buuuk is the mobile app partner of Singapore Press Holding (SPH), the publisher of Straits Times and much moreThey distribute their mobile app to millions and millions usersThey have Breaking News Alerts, which obviously drive an immediate surge in users and hence in the number of required capacityIn real time, they react to this. When SPH tells the system that there is a Breaking News announcement. When the Buuuk system receives this, they automatically issue a command to increase the number of EC2 instances and delay the news by 5 minutesAfter 5 minutes, the system is fully scaled up and the announcement goes out. People receive it and what do they do? They visit the news site with millions at the same time. The surge in users can then be easily dealt with = customer satisfaction From experience, they know this peak is normally only less than hour, so within an hour, they scale down again so that they only pay for 1 hour of excess capacity
Buuuk is the mobile app partner of Singapore Press Holding (SPH), the publisher of Straits Times and much moreThey distribute their mobile app to millions and millions usersThey have Breaking News Alerts, which obviously drive an immediate surge in users and hence in the number of required capacityIn real time, they react to this. When SPH tells the system that there is a Breaking News announcement. When the Buuuk system receives this, they automatically issue a command to increase the number of EC2 instances and delay the news by 5 minutesAfter 5 minutes, the system is fully scaled up and the announcement goes out. People receive it and what do they do? They visit the news site with millions at the same time. The surge in users can then be easily dealt with = customer satisfaction From experience, they know this peak is normally only less than hour, so within an hour, they scale down again so that they only pay for 1 hour of excess capacity
Buuuk is the mobile app partner of Singapore Press Holding (SPH), the publisher of Straits Times and much moreThey distribute their mobile app to millions and millions usersThey have Breaking News Alerts, which obviously drive an immediate surge in users and hence in the number of required capacityIn real time, they react to this. When SPH tells the system that there is a Breaking News announcement. When the Buuuk system receives this, they automatically issue a command to increase the number of EC2 instances and delay the news by 5 minutesAfter 5 minutes, the system is fully scaled up and the announcement goes out. People receive it and what do they do? They visit the news site with millions at the same time. The surge in users can then be easily dealt with = customer satisfaction From experience, they know this peak is normally only less than hour, so within an hour, they scale down again so that they only pay for 1 hour of excess capacity
Buuuk is the mobile app partner of Singapore Press Holding (SPH), the publisher of Straits Times and much moreThey distribute their mobile app to millions and millions usersThey have Breaking News Alerts, which obviously drive an immediate surge in users and hence in the number of required capacityIn real time, they react to this. When SPH tells the system that there is a Breaking News announcement. When the Buuuk system receives this, they automatically issue a command to increase the number of EC2 instances and delay the news by 5 minutesAfter 5 minutes, the system is fully scaled up and the announcement goes out. People receive it and what do they do? They visit the news site with millions at the same time. The surge in users can then be easily dealt with = customer satisfaction From experience, they know this peak is normally only less than hour, so within an hour, they scale down again so that they only pay for 1 hour of excess capacity
Buuuk is the mobile app partner of Singapore Press Holding (SPH), the publisher of Straits Times and much moreThey distribute their mobile app to millions and millions usersThey have Breaking News Alerts, which obviously drive an immediate surge in users and hence in the number of required capacityIn real time, they react to this. When SPH tells the system that there is a Breaking News announcement. When the Buuuk system receives this, they automatically issue a command to increase the number of EC2 instances and delay the news by 5 minutesAfter 5 minutes, the system is fully scaled up and the announcement goes out. People receive it and what do they do? They visit the news site with millions at the same time. The surge in users can then be easily dealt with = customer satisfaction From experience, they know this peak is normally only less than hour, so within an hour, they scale down again so that they only pay for 1 hour of excess capacity
Buuuk is the mobile app partner of Singapore Press Holding (SPH), the publisher of Straits Times and much moreThey distribute their mobile app to millions and millions usersThey have Breaking News Alerts, which obviously drive an immediate surge in users and hence in the number of required capacityIn real time, they react to this. When SPH tells the system that there is a Breaking News announcement. When the Buuuk system receives this, they automatically issue a command to increase the number of EC2 instances and delay the news by 5 minutesAfter 5 minutes, the system is fully scaled up and the announcement goes out. People receive it and what do they do? They visit the news site with millions at the same time. The surge in users can then be easily dealt with = customer satisfaction From experience, they know this peak is normally only less than hour, so within an hour, they scale down again so that they only pay for 1 hour of excess capacity
Buuuk is the mobile app partner of Singapore Press Holding (SPH), the publisher of Straits Times and much moreThey distribute their mobile app to millions and millions usersThey have Breaking News Alerts, which obviously drive an immediate surge in users and hence in the number of required capacityIn real time, they react to this. When SPH tells the system that there is a Breaking News announcement. When the Buuuk system receives this, they automatically issue a command to increase the number of EC2 instances and delay the news by 5 minutesAfter 5 minutes, the system is fully scaled up and the announcement goes out. People receive it and what do they do? They visit the news site with millions at the same time. The surge in users can then be easily dealt with = customer satisfaction From experience, they know this peak is normally only less than hour, so within an hour, they scale down again so that they only pay for 1 hour of excess capacity
For many content, media files, etc. derivatives are being created. For examples, thumbnails, versions for iOS, Android, etc.These files can be re-generated from the originalOr: you do have the source files elsewhere.In that case: you can consider S3 Reduced Redundancy. Not 11 9’s, but 4 9’s. Still 99.99% durability, which is 400 times more than a normal harddrive. BUT – 33% cheaper than the standard S3Improved consistency and logging / tracking as you exactly know where the content is, who calls it, how often, etc.
If you can add a number of read replicas, you can offload a number of tasks such as reportingYou do not need to peak your Master and reduce the size of your entire database fleet. You can further offload certain activities to other services such as DynamoDB or ElastiCacheYou can even make your EC2 instances smart, so they know the read replicas are there and when to ping those
A first option = read replicas to deal with API calls to the databaseAll reads go there, not to the Master so you can avoid the Master from needing to grow and growWhen you are really smart, you can even auto-scale the Read Replicas to only have them when usage increases
Additional offload is ElasticCaheSometimes, 90% of calls can be offloaded to ElasticCache as the calls are the same CloudWatch can actually tell you the CPU utilization of your RDS so if its low, you can reduce the size
Copy-paste entire infrastructure & try out bothLeverage CloudFormation to describe a stack and create templates to automate process of spinning up new stacksYou can copy-paste, change a few things in the copied environment to test whether it works betterThis allows for rapid dev & test and is often used for optimization of performance & conversion metrics: A/B TESTINGUsed by Obama in campaign, but also extensively in gaming
Let us see how AWS helps to scale your Web Application to support 10’s of Millions of users. Start Small and grow big, build an architecture that scales at each progressive stage.
Each of these examples is typified by wasted IT resources. Where you planned correctly, the IT resources will be over provisioned so that services are not impacted and customers lost during high demand. In the worst cases, that capacity will not be enough, and customer dissatisfaction will result. Most businesses have a mix differing patterns at play, and much time and resource is dedicated to planning and management to ensure services are always available. And when a new online service is really successful, you often can't ship in new capacity fast enough. Some say that's a nice problem to have, but those that have lived through it will tell you otherwise!
You control how and when your service scales, so you can closely match increasing load in small increments, scale up fast when needed, and cool off and reduce the resources being used at any time of day. Even the most variable and complex demand patterns can be matched with the right amount of capacity - all automatically handled by AWS.