SlideShare a Scribd company logo
1 of 31
Download to read offline
WEB SUMMIT 
DUBLIN 2014 
#AWS #WEBSUMMIT 
Scaling on AWS for the 
First 10 Million Users 
Ian Massingham — Technical Evangelist 
ianmas@amazon.com 
@IanMmmm 
STARTING AT 11:00
An Introduction to Scaling on AWS
An awful lot of things to read 
Not where we want to start 
EC2 Auto Scaling is one tool, not 
the single thing that ‘fixes’ 
everything or enables you to scale
SO WHAT DO WE NEED FIRST?
SOME BASICS
2004 2014 
$7B+ retail business 
8,000+ employees 
A whole lot of servers 
Every day, AWS adds 
enough server 
capacity to power that 
entire $7B enterprise
Foundation 
Services 
Infrastructure 
Collaboration and Sharing 
Storage 
(Object, Block and Archive) Security & Networking 
Regions Availability Zones 
Access Control 
Platform 
Services 
Databases 
Relational 
NoSQL 
Caching 
Analytics 
Hadoop 
Real-time 
Data 
warehouse 
App Services 
Queuing 
Orchestration 
App streaming 
Transcoding 
Email 
Search 
Deployment & Management 
Containers 
Dev/ops Tools 
Resource 
Templates 
Mobile Services 
Identity 
Sync 
Mobile 
Analytics 
Notifications 
Enterprise 
Applications Virtual Desktops 
Data 
Workflows 
Usage 
Tracking 
Monitoring 
and Logs 
Compute 
(VMs, Auto-scaling and Load Balancing) 
CDN and Points of Presence
Startups on AWS 
http://aws.amazon.com/solutions/case-studies/
DAY ONE, USER ONE. PROBABLY YOU! 
• A single EC2 instance 
• With a full stack on this host 
• Web app 
• Database 
• Management 
• A single Elastic IP address 
• Amazon Route 53 for DNS 
Elastic IP 
address 
EC2 
instance 
Amazon 
Route 53 
User
WE’RE GOING TO NEED A BIGGER BOX! 
• Simplest approach to scaling 
• You can now leverage PIOPs 
• High I/O instances 
• High memory instances 
• High CPU instances 
• High storage instances 
• Easy to change instance sizes 
• Will hit an endpoint eventually
WE’RE GOING TO NEED A BIGGER BOX! 
• We could potentially get to a few 
hundred to a few thousand 
depending on application 
complexity and traffic 
• No failover 
• No redundancy 
• Too many eggs in one basket 
Elastic IP 
address 
EC2 
instance 
Amazon 
Route 53 
User
DAY TWO, USER >1 
Web 
instance 
Database 
instance 
Elastic IP 
address 
Amazon 
Route 53 
User 
• Separate out the functions on our 
single host onto more than one: 
• Web 
• Database 
• Make use of a database service
Microsoft SQL, Oracle, 
MySQL or PostgresSQL 
managed service 
Flexible licensing: BYOL 
or Included 
Self-Managed Fully-Managed 
Massively parallel, 
petabyte scale, data 
warehouse service 
Fast, powerful & 
easy to scale 
Managed NoSQL database 
service using SSD storage 
Seamless scalability & zero 
administration 
Database server 
on Amazon EC2 
Amazon RDS 
Amazon DynamoDB 
Amazon Redshift 
Your chosen database 
running on Amazon EC2 
Database Options
Building Blocks for Scaling on AWS
HOW DO I DETERMINE WHICH DB 
TECHNOLOGY I NEED?
Why start with SQL? 
• Established and well-worn technology 
• Lots of existing code, communities, books & tools 
• You aren’t going to break SQL DBs in your first 10 million users. No 
really, you won’t* 
• Clear patterns to scalability 
* Unless you are manipulating data at MASSIVE scale; even then, SQL will have a place in your stack
Why might you need to use a NoSQL DB? 
• Super low latency applications 
• Metadata driven datasets 
• Highly non-relational data 
• Need schema-less data constructs* 
• Massive amounts of data (again, in the TB range) 
• Rapid ingest of data ( thousands of records/sec ) 
*Need != “it is easier to do dev without schemas”
IF YOU DO NEED NOSQL, 
CONSIDER AMAZON DYNAMODB 
• Managed, provisioned throughput NoSQL database 
• Fast, predictable performance 
• Fully distributed, fault tolerant architecture
Elastic IP 
address 
Web 
instance 
Amazon 
Route 53 
RDS DB 
instance 
User 
USER >100 
• First, let’s separate out our single 
host into more than one: 
• Web 
• Database 
• Use Amazon RDS to make your 
life easier
USER >1000 
Web 
instance 
Amazon RDS DB instance 
Web 
instance 
Amazon RDS DB instance 
Active (Multi-AZ) 
Availability Zone Availability Zone 
Standby (Multi-AZ) 
Elastic Load 
Balancing 
Amazon 
Route 53 
User 
• Next, let’s address the lack of 
failover and redundancy issues: 
• Elastic Load Balancing 
• Another web instance 
• In another Availability Zone 
• Enable Amazon RDS Multi-AZ
USER 10,000 to 100,000s 
RDS DB Instance 
Active (Multi-AZ) 
RDS DB Instance 
Standby (Multi-AZ) 
Elastic Load 
Balancing 
RDS DB Instance 
Read Replica 
Availability Zone Availability Zone 
RDS DB Instance 
Read Replica 
RDS DB Instance 
Read Replica 
RDS DB Instance 
Read Replica 
Web 
instance 
Web 
instance 
Web 
instance 
Web 
instance 
Web 
instance 
Web 
instance 
Web 
instance 
Web 
instance 
Amazon 
Route 53 
User
Shift Some Load Around 
Elastic Load 
Balancing 
Web 
instance 
RDS DB Instance 
Active (Multi-AZ) 
Availability Zone 
Amazon 
CloudFront 
Amazon S3 
Amazon 
Route 53 
User 
ElastiCache 
Amazon 
Dynamo DB 
• Think components and services: 
• Move static content from the 
web instance to Amazon S3 
and Amazon CloudFront 
• Move session/state and DB 
caching to Amazon ElastiCache 
or Amazon Dynamo DB
NOW THAT OUR WEB TIER IS 
MUCH MORE LIGHTWEIGHT: 
AUTOSCALING!
AMAZON EC2 AUTO SCALING 
Automatic resizing of compute 
clusters based on demand metrics 
Trigger auto-scaling policy 
Amazon 
CloudWatch 
Feature Details 
Control Define minimum and maximum 
instance pool sizes and when scaling 
and cool down occurs 
Integration Use metrics gathered by CloudWatch 
to drive scaling (including custom 
metrics) 
Instance Types Use Auto Scaling with On-Demand 
and Spot Instances
NOVEMBER TRAFFIC TO AMAZON.COM 
AUTO SCALING LETS YOU DO THIS 
76% of traditionally provisioned capacity 
Traditional provisioning level 
24% of traditionally provisioned capacity
Web 
instance 
Availability Zone 
Amazon 
Route 53 
User 
Amazon S3 
Amazon 
CloudFront 
Web 
instance 
Availability Zone 
Elastic Load 
Balancing 
Amazon 
RDS DB Instance DynamoDB 
Read Replica 
Web 
instance 
Web 
instance 
ElastiCache RDS DB Instance 
Read Replica 
Web 
instance 
Web 
instance 
RDS DB Instance ElastiCache 
Standby (Multi-AZ) 
RDS DB Instance 
Active (Multi-AZ) 
USER 500,000+
GOING BEYOND 500,000 USERS
GOING BEYOND 500,000 USERS 
• Monitoring, metrics and logging 
• Listen and respond to customer feedback as well as your metrics 
• Optimise each service/component 
• Implement a Service Orientated Architecture with loose coupling 
• Load balance between tiers
RDS DB Instance 
Active (Multi-AZ) 
Availability Zone 
Elastic Load 
Balancing 
RDS DB Instance 
Read Replica 
RDS DB Instance 
Read Replica 
Web 
instance 
Web 
instance 
Web 
instance 
Web 
instance 
Amazon 
Route 53 
User 
Amazon S3 
Amazon 
CloudFront 
Amazon SQS 
Amazon 
DynamoDB 
ElastiCache 
Worker 
instance 
Worker 
instance 
Amazon 
CloudWatch 
Internal app 
instance 
Internal app 
instance 
Amazon SES 
USER 1 MILLION+
WANT TO LEARN MORE? 
COME TO OUR ARCHITECTURE 
ASK US ANYTHING 
TODAY AT 16:00
WEB SUMMIT 
DUBLIN 2014 
#AWS #WEBSUMMIT 
DON’T FORGET YOUR CREDITS 
Ian Massingham — Technical Evangelist 
@IanMmmm 
AWS Global News and Service Launches @AWScloud 
AWS UK & Ireland News, Events & Webinars @AWS_UKI

More Related Content

What's hot

What's hot (20)

SRV422 Deep Dive on AWS Database Migration Service
SRV422 Deep Dive on AWS Database Migration ServiceSRV422 Deep Dive on AWS Database Migration Service
SRV422 Deep Dive on AWS Database Migration Service
 
Announcing AWS Snowball Edge and AWS Snowmobile - December 2016 Monthly Webin...
Announcing AWS Snowball Edge and AWS Snowmobile - December 2016 Monthly Webin...Announcing AWS Snowball Edge and AWS Snowmobile - December 2016 Monthly Webin...
Announcing AWS Snowball Edge and AWS Snowmobile - December 2016 Monthly Webin...
 
Ceate a Scalable Cloud Architecture
Ceate a Scalable Cloud ArchitectureCeate a Scalable Cloud Architecture
Ceate a Scalable Cloud Architecture
 
AWS Batch: Simplifying batch computing in the cloud
AWS Batch: Simplifying batch computing in the cloudAWS Batch: Simplifying batch computing in the cloud
AWS Batch: Simplifying batch computing in the cloud
 
Getting Started with Managed Database Services on AWS
Getting Started with Managed Database Services on AWSGetting Started with Managed Database Services on AWS
Getting Started with Managed Database Services on AWS
 
AWS re:Invent 2016: Busting the Myth of Vendor Lock-In: How D2L Embraced the...
AWS re:Invent 2016: Busting the Myth of Vendor Lock-In:  How D2L Embraced the...AWS re:Invent 2016: Busting the Myth of Vendor Lock-In:  How D2L Embraced the...
AWS re:Invent 2016: Busting the Myth of Vendor Lock-In: How D2L Embraced the...
 
AWS Data Transfer Services: Data Ingest Strategies Into the AWS Cloud
AWS Data Transfer Services: Data Ingest Strategies Into the AWS CloudAWS Data Transfer Services: Data Ingest Strategies Into the AWS Cloud
AWS Data Transfer Services: Data Ingest Strategies Into the AWS Cloud
 
AWS re:Invent 2016: Turbocharge Your Microsoft .NET Developments with AWS (DE...
AWS re:Invent 2016: Turbocharge Your Microsoft .NET Developments with AWS (DE...AWS re:Invent 2016: Turbocharge Your Microsoft .NET Developments with AWS (DE...
AWS re:Invent 2016: Turbocharge Your Microsoft .NET Developments with AWS (DE...
 
Transforming Software Development
Transforming Software DevelopmentTransforming Software Development
Transforming Software Development
 
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesWKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million Users
 
WKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn
WKS407 Wild Rydes Takes Off – The Dawn of a New UnicornWKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn
WKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn
 
Aplicaciones a gran escala: Cómo servir a millones de usuarios
Aplicaciones a gran escala: Cómo servir a millones de usuariosAplicaciones a gran escala: Cómo servir a millones de usuarios
Aplicaciones a gran escala: Cómo servir a millones de usuarios
 
(ARC301) Scaling Up to Your First 10 Million Users
(ARC301) Scaling Up to Your First 10 Million Users(ARC301) Scaling Up to Your First 10 Million Users
(ARC301) Scaling Up to Your First 10 Million Users
 
Aws webcast - Scaling on AWS 13 08-20
Aws webcast - Scaling on AWS 13 08-20Aws webcast - Scaling on AWS 13 08-20
Aws webcast - Scaling on AWS 13 08-20
 
BDA302 Deep Dive on Migrating Big Data Workloads to Amazon EMR
BDA302 Deep Dive on Migrating Big Data Workloads to Amazon EMRBDA302 Deep Dive on Migrating Big Data Workloads to Amazon EMR
BDA302 Deep Dive on Migrating Big Data Workloads to Amazon EMR
 
Selecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
Selecting the Right AWS Database Solution - AWS 2017 Online Tech TalksSelecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
Selecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
 
Getting started with Amazon Kinesis
Getting started with Amazon KinesisGetting started with Amazon Kinesis
Getting started with Amazon Kinesis
 
ENT313 Deploying a Disaster Recovery Site on AWS: Minimal Cost with Maximum E...
ENT313 Deploying a Disaster Recovery Site on AWS: Minimal Cost with Maximum E...ENT313 Deploying a Disaster Recovery Site on AWS: Minimal Cost with Maximum E...
ENT313 Deploying a Disaster Recovery Site on AWS: Minimal Cost with Maximum E...
 
Deep Dive on Amazon RDS (May 2016)
Deep Dive on Amazon RDS (May 2016)Deep Dive on Amazon RDS (May 2016)
Deep Dive on Amazon RDS (May 2016)
 

Similar to Scaling on AWS for the First 10 Million Users at Websummit Dublin

Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
Amazon Web Services
 
T1 – Architecting highly available applications on aws
T1 – Architecting highly available applications on awsT1 – Architecting highly available applications on aws
T1 – Architecting highly available applications on aws
Amazon Web Services
 

Similar to Scaling on AWS for the First 10 Million Users at Websummit Dublin (20)

Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
AWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million Users
AWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million UsersAWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million Users
AWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million Users
 
AWS Summit Stockholm 2014 – T1 – Architecting highly available applications o...
AWS Summit Stockholm 2014 – T1 – Architecting highly available applications o...AWS Summit Stockholm 2014 – T1 – Architecting highly available applications o...
AWS Summit Stockholm 2014 – T1 – Architecting highly available applications o...
 
AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
 AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
Scaling up to Your First 10 Million Users
Scaling up to Your First 10 Million UsersScaling up to Your First 10 Million Users
Scaling up to Your First 10 Million Users
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
 
ENT309 scaling up to your first 10 million users
ENT309 scaling up to your first 10 million usersENT309 scaling up to your first 10 million users
ENT309 scaling up to your first 10 million users
 
Scaling on AWS to the First 10 Million Users
Scaling on AWS to the First 10 Million Users Scaling on AWS to the First 10 Million Users
Scaling on AWS to the First 10 Million Users
 
Building and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K usersBuilding and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K users
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million Users
 
T1 – Architecting highly available applications on aws
T1 – Architecting highly available applications on awsT1 – Architecting highly available applications on aws
T1 – Architecting highly available applications on aws
 
Journey Towards Scaling Your Application to Million Users
Journey Towards Scaling Your Application to Million UsersJourney Towards Scaling Your Application to Million Users
Journey Towards Scaling Your Application to Million Users
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
Why Scale Matters and How the Cloud is Really Different (at scale)
Why Scale Matters and How the Cloud is Really Different (at scale)Why Scale Matters and How the Cloud is Really Different (at scale)
Why Scale Matters and How the Cloud is Really Different (at scale)
 
Scale, baby, scale
Scale, baby, scaleScale, baby, scale
Scale, baby, scale
 
"How to optimize the architecture of your platform" by Julien Simon
"How to optimize the architecture of your platform" by Julien Simon"How to optimize the architecture of your platform" by Julien Simon
"How to optimize the architecture of your platform" by Julien Simon
 

More from Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

Recently uploaded (20)

The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 

Scaling on AWS for the First 10 Million Users at Websummit Dublin

  • 1. WEB SUMMIT DUBLIN 2014 #AWS #WEBSUMMIT Scaling on AWS for the First 10 Million Users Ian Massingham — Technical Evangelist ianmas@amazon.com @IanMmmm STARTING AT 11:00
  • 2. An Introduction to Scaling on AWS
  • 3. An awful lot of things to read Not where we want to start EC2 Auto Scaling is one tool, not the single thing that ‘fixes’ everything or enables you to scale
  • 4. SO WHAT DO WE NEED FIRST?
  • 6. 2004 2014 $7B+ retail business 8,000+ employees A whole lot of servers Every day, AWS adds enough server capacity to power that entire $7B enterprise
  • 7. Foundation Services Infrastructure Collaboration and Sharing Storage (Object, Block and Archive) Security & Networking Regions Availability Zones Access Control Platform Services Databases Relational NoSQL Caching Analytics Hadoop Real-time Data warehouse App Services Queuing Orchestration App streaming Transcoding Email Search Deployment & Management Containers Dev/ops Tools Resource Templates Mobile Services Identity Sync Mobile Analytics Notifications Enterprise Applications Virtual Desktops Data Workflows Usage Tracking Monitoring and Logs Compute (VMs, Auto-scaling and Load Balancing) CDN and Points of Presence
  • 8. Startups on AWS http://aws.amazon.com/solutions/case-studies/
  • 9. DAY ONE, USER ONE. PROBABLY YOU! • A single EC2 instance • With a full stack on this host • Web app • Database • Management • A single Elastic IP address • Amazon Route 53 for DNS Elastic IP address EC2 instance Amazon Route 53 User
  • 10. WE’RE GOING TO NEED A BIGGER BOX! • Simplest approach to scaling • You can now leverage PIOPs • High I/O instances • High memory instances • High CPU instances • High storage instances • Easy to change instance sizes • Will hit an endpoint eventually
  • 11. WE’RE GOING TO NEED A BIGGER BOX! • We could potentially get to a few hundred to a few thousand depending on application complexity and traffic • No failover • No redundancy • Too many eggs in one basket Elastic IP address EC2 instance Amazon Route 53 User
  • 12. DAY TWO, USER >1 Web instance Database instance Elastic IP address Amazon Route 53 User • Separate out the functions on our single host onto more than one: • Web • Database • Make use of a database service
  • 13. Microsoft SQL, Oracle, MySQL or PostgresSQL managed service Flexible licensing: BYOL or Included Self-Managed Fully-Managed Massively parallel, petabyte scale, data warehouse service Fast, powerful & easy to scale Managed NoSQL database service using SSD storage Seamless scalability & zero administration Database server on Amazon EC2 Amazon RDS Amazon DynamoDB Amazon Redshift Your chosen database running on Amazon EC2 Database Options
  • 14. Building Blocks for Scaling on AWS
  • 15. HOW DO I DETERMINE WHICH DB TECHNOLOGY I NEED?
  • 16. Why start with SQL? • Established and well-worn technology • Lots of existing code, communities, books & tools • You aren’t going to break SQL DBs in your first 10 million users. No really, you won’t* • Clear patterns to scalability * Unless you are manipulating data at MASSIVE scale; even then, SQL will have a place in your stack
  • 17. Why might you need to use a NoSQL DB? • Super low latency applications • Metadata driven datasets • Highly non-relational data • Need schema-less data constructs* • Massive amounts of data (again, in the TB range) • Rapid ingest of data ( thousands of records/sec ) *Need != “it is easier to do dev without schemas”
  • 18. IF YOU DO NEED NOSQL, CONSIDER AMAZON DYNAMODB • Managed, provisioned throughput NoSQL database • Fast, predictable performance • Fully distributed, fault tolerant architecture
  • 19. Elastic IP address Web instance Amazon Route 53 RDS DB instance User USER >100 • First, let’s separate out our single host into more than one: • Web • Database • Use Amazon RDS to make your life easier
  • 20. USER >1000 Web instance Amazon RDS DB instance Web instance Amazon RDS DB instance Active (Multi-AZ) Availability Zone Availability Zone Standby (Multi-AZ) Elastic Load Balancing Amazon Route 53 User • Next, let’s address the lack of failover and redundancy issues: • Elastic Load Balancing • Another web instance • In another Availability Zone • Enable Amazon RDS Multi-AZ
  • 21. USER 10,000 to 100,000s RDS DB Instance Active (Multi-AZ) RDS DB Instance Standby (Multi-AZ) Elastic Load Balancing RDS DB Instance Read Replica Availability Zone Availability Zone RDS DB Instance Read Replica RDS DB Instance Read Replica RDS DB Instance Read Replica Web instance Web instance Web instance Web instance Web instance Web instance Web instance Web instance Amazon Route 53 User
  • 22. Shift Some Load Around Elastic Load Balancing Web instance RDS DB Instance Active (Multi-AZ) Availability Zone Amazon CloudFront Amazon S3 Amazon Route 53 User ElastiCache Amazon Dynamo DB • Think components and services: • Move static content from the web instance to Amazon S3 and Amazon CloudFront • Move session/state and DB caching to Amazon ElastiCache or Amazon Dynamo DB
  • 23. NOW THAT OUR WEB TIER IS MUCH MORE LIGHTWEIGHT: AUTOSCALING!
  • 24. AMAZON EC2 AUTO SCALING Automatic resizing of compute clusters based on demand metrics Trigger auto-scaling policy Amazon CloudWatch Feature Details Control Define minimum and maximum instance pool sizes and when scaling and cool down occurs Integration Use metrics gathered by CloudWatch to drive scaling (including custom metrics) Instance Types Use Auto Scaling with On-Demand and Spot Instances
  • 25. NOVEMBER TRAFFIC TO AMAZON.COM AUTO SCALING LETS YOU DO THIS 76% of traditionally provisioned capacity Traditional provisioning level 24% of traditionally provisioned capacity
  • 26. Web instance Availability Zone Amazon Route 53 User Amazon S3 Amazon CloudFront Web instance Availability Zone Elastic Load Balancing Amazon RDS DB Instance DynamoDB Read Replica Web instance Web instance ElastiCache RDS DB Instance Read Replica Web instance Web instance RDS DB Instance ElastiCache Standby (Multi-AZ) RDS DB Instance Active (Multi-AZ) USER 500,000+
  • 28. GOING BEYOND 500,000 USERS • Monitoring, metrics and logging • Listen and respond to customer feedback as well as your metrics • Optimise each service/component • Implement a Service Orientated Architecture with loose coupling • Load balance between tiers
  • 29. RDS DB Instance Active (Multi-AZ) Availability Zone Elastic Load Balancing RDS DB Instance Read Replica RDS DB Instance Read Replica Web instance Web instance Web instance Web instance Amazon Route 53 User Amazon S3 Amazon CloudFront Amazon SQS Amazon DynamoDB ElastiCache Worker instance Worker instance Amazon CloudWatch Internal app instance Internal app instance Amazon SES USER 1 MILLION+
  • 30. WANT TO LEARN MORE? COME TO OUR ARCHITECTURE ASK US ANYTHING TODAY AT 16:00
  • 31. WEB SUMMIT DUBLIN 2014 #AWS #WEBSUMMIT DON’T FORGET YOUR CREDITS Ian Massingham — Technical Evangelist @IanMmmm AWS Global News and Service Launches @AWScloud AWS UK & Ireland News, Events & Webinars @AWS_UKI