SlideShare a Scribd company logo
Journey Through the Cloud
ianmas@amazon.com
@IanMmmm
Ian Massingham — Technical Evangelist
Scalable Web Apps
Journey Through the Cloud
Learn from the journeys taken by other AWS customers
Discover best practices that you can use to bootstrap your projects
Common use cases and adoption models for the AWS Cloud
1
2
3
Scalable Web Apps
A very popular use-case for AWS services

Applications with growing, variable or cyclical demand fit AWS well 

Elasticity and automation can be exercised to real advantage

AWS services allow you to accelerate application development
Agenda
Why use AWS for scalable web applications?

Rule Book for scalable web application on AWS

Common patterns for web applications

Where to go to learn more
WHY AWS FOR SCALABLE
WEB APPLICATIONS?
Websites & Digital Transformation
BEING IN THE CLOUD GIVES
US THE SCALABILITY
OF ADDING APPLICATION
AND DATABASE SERVERS
AS WE NEED THEM.
Keith	
  Mitchell	
  
Programmer	
  
reddit.com
• reddit is a San Francisco, CA company that provides
reddit.com, a social news and entertainment website where
users can submit and rank ideas, images, and links
• reddit originally operated reddit.com on physical servers, but
after the number of users quadrupled in 18 months, the
company realized it couldn’t scale with an on-premises
environment
• By migrating to AWS, reddit can scale to manage 4 billion
page views per month and run its website with only 20
employees
With AWS, reddit scales its social news site to handle 4 billion
page views per month with only 20 employees
Find out more here : aws.amazon.com/solutions/case-studies/reddit/
Pick your platform
Use your favourite tools
Grow & shrink capacity to match demand
Spend your money on what matters
Take your app or site global in minutes
Never make your customers wait
1
2
3
4
5
6
RULE BOOK FOR SCALABLE WEB
APPLICATIONS ON AWS
Service all requests
Service requests as fast as possible
Handle requests at any volume
Simply your architecture
Automate operations & management
Use the unique properties of the cloud
1
2
3
4
5
6
Service all requests1
DNS APPLICATION DATA
Service all requests1
DNS APPLICATION DATAREQUEST
Service all requests1
DNS APPLICATION DATAREQUEST
Service all requests1
DNS APPLICATION DATAREQUEST ╳
Service all requests1
DNS APPLICATION DATAREQUEST
100%
Availability
SLA
aws.amazon.com/route53/sla
Global Delivered 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 elastic load balancers, S3 and EC2
Secure Integrates with IAM giving fine grained control over
DNS record access
Service all requests1
DNS APPLICATION DATAREQUEST
1
DNS APPLICATION DATAREQUEST
Region
Region
Elastic
Load
Balancer
Elastic
Load
Balancer
Availability Zone
Availability Zone
Availability Zone
Availability Zone
Elastic load balancing
Multi-availability zone
Multi-region
Service all requests
1
DNS APPLICATION DATAREQUEST
Region
Region
Elastic
Load
Balancer
Elastic
Load
Balancer
Availability Zone
Availability Zone
Availability Zone
Availability Zone
Amazon
DynamoDB
Amazon
DynamoDB
Service all requests
Service requests as fast as possible2
Service requests as fast as possible
1) Chose the ‘closest’ endpoint
2
REQUEST
Amazon
Route 53
Region A Region B
2
REQUEST
Amazon
Route 53
Region A Region B
16ms 92ms
Service requests as fast as possible
1) Chose the ‘closest’ endpoint
2
REQUEST
Amazon
Route 53
Region A Region B
16ms 92ms
Service requests as fast as possible
1) Chose the ‘closest’ endpoint
2
Amazon
Route 53
Region A Region B
16ms
REGION A DNS ENTRY
REQUEST
Service requests as fast as possible
1) Chose the ‘closest’ endpoint
Service requests as fast as possible
2) Offload your application servers
2
London
Paris
NY
Served from S3
/images/*
3
Served from EC2
*.php
2
Single CNAME
www.mysite.com
1
Amazon CloudFront
Content delivery web service
Integrates with other Amazon Web Services
Products
Easily distribute content to end users with low
latency, high data transfer speeds, and no
minimum usage commitments
aws.amazon.com/cloudfront
Service requests as fast as possible
2) Offload your application servers
2
Without Amazon CloudFront
EC2 Instances running web and application servers
are loaded with user requests for content assets
Service requests as fast as possible
2) Offload your application servers
2
With Amazon CloudFront
A significant proportion of the load from user
requests is handled by Amazon CloudFront and the
EC2 cluster can be scaled down
Offload
Scale
Down
Service requests as fast as possible
2) Offload your application servers
2
Offload
Scale
Down
ResponseTime
ServerLoad
ResponseTime
ServerLoad
ResponseTime
Server
Load
No CDN CDN for
Static
Content
CDN for
Static &
Dynamic
Content
Service requests as fast as possible
3) Cache it if you can
2
Amazon ElastiCache
A web service that makes it easy to deploy,
operate, and scale an in-memory cache
Allows you to retrieve information from fast,
managed, in-memory caches, instead of
relying entirely on slower disk-based
databases
Supports two open-source in memory
caching engines: Memcached & Redis
Service requests as fast as possible
4) Single digit latencies where it matters
2
DatabaseQueryPerformance
Desired consistency & predictability
Scale
Service requests as fast as possible
4) Single digit latencies where it matters
2
DatabaseQueryPerformance
Desired consistency & predictability
Scale
Actual performance
degrades with scale
DatabaseQueryPerformance
Desired consistency & predictability
Scale
Actual performance
degrades with scale
Filling this gap requires:
Database sharding
Data caching
Provisioning
Cluster management
Fault management
Service requests as fast as possible
4) Single digit latencies where it matters
2
DatabaseQueryPerformance
Amazon DynamoDB Query Performance
Scale
Relational Database
Query Performance
Amazon
DynamoDB
Service requests as fast as possible
4) Single digit latencies where it matters
2
Amazon
DynamoDB
Amazon DynamoDB
A fast and flexible NoSQL database service
Consistent, single-digit millisecond latency at
any scale
Fully managed
Supports both document & key-value store
models
aws.amazon.com/dynamodb
Service requests as fast as possible
4) Single digit latencies where it matters
2
aws.amazon.com/solutions/case-studies/adroll/
3 Handle requests at any volume & scale
1) Scale up
Basic unit of compute capacity
Broad range of CPU, memory & local disk options
7 families available, from micro to compute, memory & storage optimized
Scale up with Elastic Compute Cloud (EC2)
3 Handle requests at any volume & scale
2) Scale out
Trigger	
  auto-­‐
scaling	
  policy
Auto Scaling
Amazon EC2 Auto Scaling
Allows you to scale your EC2 capacity up or
down automatically according to conditions
that you define
Increase the number of Amazon EC2
instances during demand spikes to maintain
performance & decrease capacity during lulls
to reduce costs
3
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
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
Handle requests at any volume & scale
2) Scale out
3
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
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
Preemptive manual scaling of
capacity
Adding 10 more instances before a
marketing event
Handle requests at any volume & scale
2) Scale out
3
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
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
Preemptive manual scaling of
capacity
Adding 10 more instances before a
marketing event
Regular scaling up & down of
instances
Scaling from 0 to 2 to process SQS
messages every night or doubling
capacity on a Friday night
Handle requests at any volume & scale
2) Scale out
3
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
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
Preemptive manual scaling of
capacity
Adding 10 more instances before a
marketing event
Regular scaling up & down of
instances
Scaling from 0 to 2 to process SQS
messages every night or doubling
capacity on a Friday night
Dynamic scaling based on
custom metrics
Scaling on SQS queue depth, average
CPU load or ELB latency
Handle requests at any volume & scale
2) Scale out
3
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
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
Preemptive manual scaling of
capacity
Adding 10 more instances before a
marketing event
Regular scaling up & down of
instances
Scaling from 0 to 2 to process SQS
messages every night or doubling
capacity on a Friday night
Dynamic scaling based on
custom metrics
Scaling on SQS queue depth, average
CPU load or ELB latency
Maintaining capacity across
availability zones
Instance availability is maintained in
the event of AZ becoming unavailable
Handle requests at any volume & scale
2) Scale out
3 Handle requests at any volume & scale
3) Dial up throughout
Elastic Block Store
Provisioned IOPS up to 20,000
per EBS volume
Predictable performance for
demanding workloads such as
databases
DynamoDB
Provisioned read/write performance
per table
Predictable high performance
scaled via console or API
https://aws.amazon.com/blogs/aws/auto-scale-
dynamodb-with-dynamic-dynamodb/
Simply your architecture with services4
Perfection is achieved, not when there is
nothing more to add, but when there is
nothing left to take away

	
  	
  	
  	
  
	
  	
  
Antoine de Saint-Exupery

French writer (1900 - 1944)
4
Your

Business
70%
Infrastructure
that you own
& operate
30%
Managing All of the 

“Undifferentiated Heavy Lifting”
Simply your architecture with services
4
Your

Business
70%
Infrastructure
that you own
& operate
30%
Managing All of the 

“Undifferentiated Heavy Lifting”
AWS

Cloud-Based

Infrastructure
More Time to Focus on

Your Business
Configuring Your
Cloud Services
30%70%
Simply your architecture with services
4 Simply your architecture with services
Relational Database Service
Database-as-a-Service
No need to install or manage database instances
Scalable and fault tolerant configurations
DynamoDB
Provisioned throughput NoSQL database
Fast, predictable performance
Fully distributed, fault tolerant architecture
Use RDS for relational
databases such as
MySQL or Oracle
Use DynamoDB as high
performance document
or key-value database
4 Simply your architecture with services
Amazon SQS
Reliable, highly scalable, queue service
for storing messages as they travel
between instances
Reliable message
queuing without
additional software
Elastic MapReduce
Elastic Hadoop cluster
Integrates with S3 & DynamoDB
Leverage Hive & Pig analytics scripts
Integrates with instance types such as
spot
Process large volumes of
data cost effectively with
Amazon EMR
Amazon SQS
Processing task/
processing trigger
Processing results
4 Simply your architecture with services
Enterprise Applications
Administration & Security
Core Services
Platform Services
Infrastructure
AWS Marketplace
5
Access everything via
CLI, API or Console
Achieve the highest levels of
automation with ease
Find out more at: aws.amazon.com/developers/getting-started/
Automate operations & management
1) Everything is programmable
5 Automate operations & management
2) Think immutable, one click-deployments
AWS CloudFormation
An easy way to create & manage a collection of
related AWS resources, called a ‘stack’
Automate creation of ‘stacks’ in a repeatable way
Version control your infrastructure as you do your
software
Feature 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
5 Automate operations & management
2) Think immutable, one click-deployments
Launch and terminate 

Docker containers
Across a cluster 

of EC2 instances
Mount persistent 

volumes at launch
Private Docker 

repositories
Amazon EC2 Container Service
5 Automate operations & management
2) Think immutable, one click-deployments
Amazon EC2 Container Service
5 Automate operations & management
3) Design for availability, implement self healing
Customize instance startup
Get instances to ask ‘who am I?’
question on startup and be
configured dynamically upon being
answered
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 CloudWatch
5 Automate operations & management
3) Design for availability, implement self healing
https://github.com/Netflix/SimianArmy
6 Use the unique properties of the cloud
1) Optimize costs with different instance types
Choose an instance 

that best meets your basic
requirements
Start with memory & then choose
closest virtual cores
Assess peak IOPS storage
requirements
Deploy & run multiple instances in
multiple Availability Zones
Change instance size up or
down based upon monitoring
Use CloudWatch & Trusted
Advisor to assess
Start Deploy & ScaleTune
6 Use the unique properties of the cloud
1) Optimize costs with different instance types
00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00
100%
75%
58%
38%
13%
8%
On Demand Instance
Reserved Instance
COMMON PATTERNS FOR
WEB APPLICATIONS
Stateless
Scale horizontally
Loose coupling
Automation
RESOURCES YOU CAN USE
TO LEARN MORE
aws.amazon.com/websites/
aws.amazon.com/solutions/case-studies/
aws.amazon.com/architecture/
Certification
aws.amazon.com/certification
Self-Paced Labs
aws.amazon.com/training/

self-paced-labs
Try products, gain new skills, and
get hands-on practice working
with AWS technologies
aws.amazon.com/training
Training
Validate your proven skills and
expertise with the AWS platform
Build technical expertise to
design and operate scalable,
efficient applications on AWS
AWS Training & Certification
Follow
us
for m
ore
events
&
w
ebinars
@AWScloud for Global AWS News & Announcements
@AWS_UKI for local AWS events & news
@IanMmmm
Ian Massingham — Technical Evangelist

More Related Content

PPTX
Scalable web apps on AWS - Hebrew Webinar September 2017
PPTX
AWS Re Invent 2019 Recap
PPTX
BlazeClan Technologies
PDF
Artem Zhurbila - 3 aws - route 53, vpc
PPT
Amazon web services : Layman Introduction
PDF
AWS reinvent 2019 recap - Riyadh - AI And ML - Ahmed Raafat
PDF
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
PDF
AWS reinvent 2019 recap - Riyadh - Database and Analytics - Assif Abbasi
Scalable web apps on AWS - Hebrew Webinar September 2017
AWS Re Invent 2019 Recap
BlazeClan Technologies
Artem Zhurbila - 3 aws - route 53, vpc
Amazon web services : Layman Introduction
AWS reinvent 2019 recap - Riyadh - AI And ML - Ahmed Raafat
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Database and Analytics - Assif Abbasi

Viewers also liked (16)

PDF
Opportunities that the Cloud Brings for Carriers @ Carriers World 2014
PDF
EC2 Masterclass from the AWS User Group Scotland Meetup
PDF
Scalable Web Applications Session at Codebase
PDF
Social & Mobile Apps journey through the cloud
PDF
Partner Event Slides - 24 April 2014
PPT
Digipack creation
PDF
Data Analysis - Journey Through the Cloud
PDF
AWS CloudFormation Masterclass
PPTX
AWS re:Invent Recap from AWS User Group UK meetup #8
PDF
AWS DevOps Event - Innovating with DevOps on AWS
PDF
Security Best Practices
PDF
Amazon S3 Masterclass
PDF
Advanced Security Masterclass - Tel Aviv Loft
PDF
Getting started with AWS Lambda and the Serverless Cloud
PDF
Cost Optimisation with AWS
PDF
AWS 101: Introduction to AWS
Opportunities that the Cloud Brings for Carriers @ Carriers World 2014
EC2 Masterclass from the AWS User Group Scotland Meetup
Scalable Web Applications Session at Codebase
Social & Mobile Apps journey through the cloud
Partner Event Slides - 24 April 2014
Digipack creation
Data Analysis - Journey Through the Cloud
AWS CloudFormation Masterclass
AWS re:Invent Recap from AWS User Group UK meetup #8
AWS DevOps Event - Innovating with DevOps on AWS
Security Best Practices
Amazon S3 Masterclass
Advanced Security Masterclass - Tel Aviv Loft
Getting started with AWS Lambda and the Serverless Cloud
Cost Optimisation with AWS
AWS 101: Introduction to AWS
Ad

Similar to Scalable Web Apps - Journey Through the Cloud (20)

PPTX
Scalable Web Applications in AWS, 2014
PPTX
AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법
PDF
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
PPTX
Architecture Best Practices
PDF
Dynamically scaling a political news and activism hub (up to 5x the traffic i...
PDF
Scaling web application in the Cloud
PDF
What is Amazon Web Services & How to Start to deploy your apps ?
PDF
Prepare your IT Infrastructure for Thanksgiving
PDF
Preparing your IT infrastructure for thanksgiving
PPTX
Journey Towards Scaling Your Application to Million Users
PPTX
Introduction to amazon web services for developers
PPTX
Cloud computing & aws concepts
PDF
[AWS에서의 미디어 및 엔터테인먼트] AWS 개요, 클라우드 스토리지 및 Amazon CloudFront, Elastic Transcod...
PDF
Alexander Torosh "Projects scaling with Amazon Web Services"
PDF
Tech Talk: Autoscaling with Amazon Web Services
PDF
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
PPTX
How Easy to Automate Application Deployment on AWS
KEY
Using Amazon EC2 to Scale Your Web Application
PPTX
Migrating enterprise workloads to AWS
PPTX
Design, Build, and Modernize Your Web Applications with AWS
Scalable Web Applications in AWS, 2014
AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
Architecture Best Practices
Dynamically scaling a political news and activism hub (up to 5x the traffic i...
Scaling web application in the Cloud
What is Amazon Web Services & How to Start to deploy your apps ?
Prepare your IT Infrastructure for Thanksgiving
Preparing your IT infrastructure for thanksgiving
Journey Towards Scaling Your Application to Million Users
Introduction to amazon web services for developers
Cloud computing & aws concepts
[AWS에서의 미디어 및 엔터테인먼트] AWS 개요, 클라우드 스토리지 및 Amazon CloudFront, Elastic Transcod...
Alexander Torosh "Projects scaling with Amazon Web Services"
Tech Talk: Autoscaling with Amazon Web Services
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
How Easy to Automate Application Deployment on AWS
Using Amazon EC2 to Scale Your Web Application
Migrating enterprise workloads to AWS
Design, Build, and Modernize Your Web Applications with AWS
Ad

More from Ian Massingham (20)

PDF
Some thoughts on measuring the impact of developer relations
PDF
Leeds IoT Meetup - Nov 2017
PDF
What's New & What's Next from AWS?
PDF
DevTalks Romania - Getting Started with AWS Lambda & the Serverless Cloud
PDF
AWS AWSome Day - Getting Started Best Practices
PDF
AWS IoT Workshop Keynote
PDF
Security Best Practices: AWS AWSome Day Management Track
PDF
AWS re:Invent 2016 Day 2 Keynote re:Cap
PDF
AWS re:Invent 2016 Day 1 Keynote re:Cap
PDF
Getting Started with AWS Lambda & Serverless Cloud
PDF
Building Better IoT Applications without Servers
PDF
AWS AWSome Day Roadshow
PDF
AWS AWSome Day Roadshow Intro
PDF
Hashiconf AWS Lambda Breakout
PDF
Getting started with AWS IoT on Raspberry Pi
PDF
AWSome Day Dublin Intro & Closing Slides
PDF
GOTO Stockholm - AWS Lambda - Logic in the cloud without a back-end
PDF
What's New at AWS Update for AWS User Groups
PDF
AWSome Day London January 2016 Intro
PDF
AWS AWSome Day London October 2015
Some thoughts on measuring the impact of developer relations
Leeds IoT Meetup - Nov 2017
What's New & What's Next from AWS?
DevTalks Romania - Getting Started with AWS Lambda & the Serverless Cloud
AWS AWSome Day - Getting Started Best Practices
AWS IoT Workshop Keynote
Security Best Practices: AWS AWSome Day Management Track
AWS re:Invent 2016 Day 2 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:Cap
Getting Started with AWS Lambda & Serverless Cloud
Building Better IoT Applications without Servers
AWS AWSome Day Roadshow
AWS AWSome Day Roadshow Intro
Hashiconf AWS Lambda Breakout
Getting started with AWS IoT on Raspberry Pi
AWSome Day Dublin Intro & Closing Slides
GOTO Stockholm - AWS Lambda - Logic in the cloud without a back-end
What's New at AWS Update for AWS User Groups
AWSome Day London January 2016 Intro
AWS AWSome Day London October 2015

Recently uploaded (20)

PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
A Presentation on Artificial Intelligence
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Machine learning based COVID-19 study performance prediction
PDF
Electronic commerce courselecture one. Pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Modernizing your data center with Dell and AMD
PPTX
Big Data Technologies - Introduction.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Building Integrated photovoltaic BIPV_UPV.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Diabetes mellitus diagnosis method based random forest with bat algorithm
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Approach and Philosophy of On baking technology
A Presentation on Artificial Intelligence
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Review of recent advances in non-invasive hemoglobin estimation
The Rise and Fall of 3GPP – Time for a Sabbatical?
Reach Out and Touch Someone: Haptics and Empathic Computing
Spectral efficient network and resource selection model in 5G networks
Network Security Unit 5.pdf for BCA BBA.
Machine learning based COVID-19 study performance prediction
Electronic commerce courselecture one. Pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Modernizing your data center with Dell and AMD
Big Data Technologies - Introduction.pptx

Scalable Web Apps - Journey Through the Cloud

  • 1. Journey Through the Cloud ianmas@amazon.com @IanMmmm Ian Massingham — Technical Evangelist Scalable Web Apps
  • 2. Journey Through the Cloud Learn from the journeys taken by other AWS customers Discover best practices that you can use to bootstrap your projects Common use cases and adoption models for the AWS Cloud 1 2 3
  • 3. Scalable Web Apps A very popular use-case for AWS services
 Applications with growing, variable or cyclical demand fit AWS well 
 Elasticity and automation can be exercised to real advantage
 AWS services allow you to accelerate application development
  • 4. Agenda Why use AWS for scalable web applications?
 Rule Book for scalable web application on AWS
 Common patterns for web applications
 Where to go to learn more
  • 5. WHY AWS FOR SCALABLE WEB APPLICATIONS?
  • 6. Websites & Digital Transformation
  • 7. BEING IN THE CLOUD GIVES US THE SCALABILITY OF ADDING APPLICATION AND DATABASE SERVERS AS WE NEED THEM. Keith  Mitchell   Programmer   reddit.com • reddit is a San Francisco, CA company that provides reddit.com, a social news and entertainment website where users can submit and rank ideas, images, and links • reddit originally operated reddit.com on physical servers, but after the number of users quadrupled in 18 months, the company realized it couldn’t scale with an on-premises environment • By migrating to AWS, reddit can scale to manage 4 billion page views per month and run its website with only 20 employees With AWS, reddit scales its social news site to handle 4 billion page views per month with only 20 employees Find out more here : aws.amazon.com/solutions/case-studies/reddit/
  • 8. Pick your platform Use your favourite tools Grow & shrink capacity to match demand Spend your money on what matters Take your app or site global in minutes Never make your customers wait 1 2 3 4 5 6
  • 9. RULE BOOK FOR SCALABLE WEB APPLICATIONS ON AWS
  • 10. Service all requests Service requests as fast as possible Handle requests at any volume Simply your architecture Automate operations & management Use the unique properties of the cloud 1 2 3 4 5 6
  • 11. Service all requests1 DNS APPLICATION DATA
  • 12. Service all requests1 DNS APPLICATION DATAREQUEST
  • 13. Service all requests1 DNS APPLICATION DATAREQUEST
  • 14. Service all requests1 DNS APPLICATION DATAREQUEST ╳
  • 15. Service all requests1 DNS APPLICATION DATAREQUEST 100% Availability SLA aws.amazon.com/route53/sla Global Delivered 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 elastic load balancers, S3 and EC2 Secure Integrates with IAM giving fine grained control over DNS record access
  • 16. Service all requests1 DNS APPLICATION DATAREQUEST
  • 17. 1 DNS APPLICATION DATAREQUEST Region Region Elastic Load Balancer Elastic Load Balancer Availability Zone Availability Zone Availability Zone Availability Zone Elastic load balancing Multi-availability zone Multi-region Service all requests
  • 18. 1 DNS APPLICATION DATAREQUEST Region Region Elastic Load Balancer Elastic Load Balancer Availability Zone Availability Zone Availability Zone Availability Zone Amazon DynamoDB Amazon DynamoDB Service all requests
  • 19. Service requests as fast as possible2
  • 20. Service requests as fast as possible 1) Chose the ‘closest’ endpoint 2 REQUEST Amazon Route 53 Region A Region B
  • 21. 2 REQUEST Amazon Route 53 Region A Region B 16ms 92ms Service requests as fast as possible 1) Chose the ‘closest’ endpoint
  • 22. 2 REQUEST Amazon Route 53 Region A Region B 16ms 92ms Service requests as fast as possible 1) Chose the ‘closest’ endpoint
  • 23. 2 Amazon Route 53 Region A Region B 16ms REGION A DNS ENTRY REQUEST Service requests as fast as possible 1) Chose the ‘closest’ endpoint
  • 24. Service requests as fast as possible 2) Offload your application servers 2 London Paris NY Served from S3 /images/* 3 Served from EC2 *.php 2 Single CNAME www.mysite.com 1 Amazon CloudFront Content delivery web service Integrates with other Amazon Web Services Products Easily distribute content to end users with low latency, high data transfer speeds, and no minimum usage commitments aws.amazon.com/cloudfront
  • 25. Service requests as fast as possible 2) Offload your application servers 2 Without Amazon CloudFront EC2 Instances running web and application servers are loaded with user requests for content assets
  • 26. Service requests as fast as possible 2) Offload your application servers 2 With Amazon CloudFront A significant proportion of the load from user requests is handled by Amazon CloudFront and the EC2 cluster can be scaled down Offload Scale Down
  • 27. Service requests as fast as possible 2) Offload your application servers 2 Offload Scale Down ResponseTime ServerLoad ResponseTime ServerLoad ResponseTime Server Load No CDN CDN for Static Content CDN for Static & Dynamic Content
  • 28. Service requests as fast as possible 3) Cache it if you can 2 Amazon ElastiCache A web service that makes it easy to deploy, operate, and scale an in-memory cache Allows you to retrieve information from fast, managed, in-memory caches, instead of relying entirely on slower disk-based databases Supports two open-source in memory caching engines: Memcached & Redis
  • 29. Service requests as fast as possible 4) Single digit latencies where it matters 2 DatabaseQueryPerformance Desired consistency & predictability Scale
  • 30. Service requests as fast as possible 4) Single digit latencies where it matters 2 DatabaseQueryPerformance Desired consistency & predictability Scale Actual performance degrades with scale
  • 31. DatabaseQueryPerformance Desired consistency & predictability Scale Actual performance degrades with scale Filling this gap requires: Database sharding Data caching Provisioning Cluster management Fault management Service requests as fast as possible 4) Single digit latencies where it matters 2
  • 32. DatabaseQueryPerformance Amazon DynamoDB Query Performance Scale Relational Database Query Performance Amazon DynamoDB Service requests as fast as possible 4) Single digit latencies where it matters 2
  • 33. Amazon DynamoDB Amazon DynamoDB A fast and flexible NoSQL database service Consistent, single-digit millisecond latency at any scale Fully managed Supports both document & key-value store models aws.amazon.com/dynamodb Service requests as fast as possible 4) Single digit latencies where it matters 2 aws.amazon.com/solutions/case-studies/adroll/
  • 34. 3 Handle requests at any volume & scale 1) Scale up Basic unit of compute capacity Broad range of CPU, memory & local disk options 7 families available, from micro to compute, memory & storage optimized Scale up with Elastic Compute Cloud (EC2)
  • 35. 3 Handle requests at any volume & scale 2) Scale out Trigger  auto-­‐ scaling  policy Auto Scaling Amazon EC2 Auto Scaling Allows you to scale your EC2 capacity up or down automatically according to conditions that you define Increase the number of Amazon EC2 instances during demand spikes to maintain performance & decrease capacity during lulls to reduce costs
  • 36. 3 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 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 Handle requests at any volume & scale 2) Scale out
  • 37. 3 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 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 Preemptive manual scaling of capacity Adding 10 more instances before a marketing event Handle requests at any volume & scale 2) Scale out
  • 38. 3 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 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 Preemptive manual scaling of capacity Adding 10 more instances before a marketing event Regular scaling up & down of instances Scaling from 0 to 2 to process SQS messages every night or doubling capacity on a Friday night Handle requests at any volume & scale 2) Scale out
  • 39. 3 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 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 Preemptive manual scaling of capacity Adding 10 more instances before a marketing event Regular scaling up & down of instances Scaling from 0 to 2 to process SQS messages every night or doubling capacity on a Friday night Dynamic scaling based on custom metrics Scaling on SQS queue depth, average CPU load or ELB latency Handle requests at any volume & scale 2) Scale out
  • 40. 3 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 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 Preemptive manual scaling of capacity Adding 10 more instances before a marketing event Regular scaling up & down of instances Scaling from 0 to 2 to process SQS messages every night or doubling capacity on a Friday night Dynamic scaling based on custom metrics Scaling on SQS queue depth, average CPU load or ELB latency Maintaining capacity across availability zones Instance availability is maintained in the event of AZ becoming unavailable Handle requests at any volume & scale 2) Scale out
  • 41. 3 Handle requests at any volume & scale 3) Dial up throughout Elastic Block Store Provisioned IOPS up to 20,000 per EBS volume Predictable performance for demanding workloads such as databases DynamoDB Provisioned read/write performance per table Predictable high performance scaled via console or API https://aws.amazon.com/blogs/aws/auto-scale- dynamodb-with-dynamic-dynamodb/
  • 42. Simply your architecture with services4 Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away             Antoine de Saint-Exupery French writer (1900 - 1944)
  • 43. 4 Your
 Business 70% Infrastructure that you own & operate 30% Managing All of the 
 “Undifferentiated Heavy Lifting” Simply your architecture with services
  • 44. 4 Your
 Business 70% Infrastructure that you own & operate 30% Managing All of the 
 “Undifferentiated Heavy Lifting” AWS
 Cloud-Based
 Infrastructure More Time to Focus on
 Your Business Configuring Your Cloud Services 30%70% Simply your architecture with services
  • 45. 4 Simply your architecture with services Relational Database Service Database-as-a-Service No need to install or manage database instances Scalable and fault tolerant configurations DynamoDB Provisioned throughput NoSQL database Fast, predictable performance Fully distributed, fault tolerant architecture Use RDS for relational databases such as MySQL or Oracle Use DynamoDB as high performance document or key-value database
  • 46. 4 Simply your architecture with services Amazon SQS Reliable, highly scalable, queue service for storing messages as they travel between instances Reliable message queuing without additional software Elastic MapReduce Elastic Hadoop cluster Integrates with S3 & DynamoDB Leverage Hive & Pig analytics scripts Integrates with instance types such as spot Process large volumes of data cost effectively with Amazon EMR Amazon SQS Processing task/ processing trigger Processing results
  • 47. 4 Simply your architecture with services Enterprise Applications Administration & Security Core Services Platform Services Infrastructure AWS Marketplace
  • 48. 5 Access everything via CLI, API or Console Achieve the highest levels of automation with ease Find out more at: aws.amazon.com/developers/getting-started/ Automate operations & management 1) Everything is programmable
  • 49. 5 Automate operations & management 2) Think immutable, one click-deployments AWS CloudFormation An easy way to create & manage a collection of related AWS resources, called a ‘stack’ Automate creation of ‘stacks’ in a repeatable way Version control your infrastructure as you do your software Feature 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
  • 50. 5 Automate operations & management 2) Think immutable, one click-deployments Launch and terminate 
 Docker containers Across a cluster 
 of EC2 instances Mount persistent 
 volumes at launch Private Docker 
 repositories Amazon EC2 Container Service
  • 51. 5 Automate operations & management 2) Think immutable, one click-deployments Amazon EC2 Container Service
  • 52. 5 Automate operations & management 3) Design for availability, implement self healing Customize instance startup Get instances to ask ‘who am I?’ question on startup and be configured dynamically upon being answered 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 CloudWatch
  • 53. 5 Automate operations & management 3) Design for availability, implement self healing https://github.com/Netflix/SimianArmy
  • 54. 6 Use the unique properties of the cloud 1) Optimize costs with different instance types Choose an instance 
 that best meets your basic requirements Start with memory & then choose closest virtual cores Assess peak IOPS storage requirements Deploy & run multiple instances in multiple Availability Zones Change instance size up or down based upon monitoring Use CloudWatch & Trusted Advisor to assess Start Deploy & ScaleTune
  • 55. 6 Use the unique properties of the cloud 1) Optimize costs with different instance types 00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 100% 75% 58% 38% 13% 8% On Demand Instance Reserved Instance
  • 56. COMMON PATTERNS FOR WEB APPLICATIONS
  • 58. RESOURCES YOU CAN USE TO LEARN MORE
  • 62. Certification aws.amazon.com/certification Self-Paced Labs aws.amazon.com/training/
 self-paced-labs Try products, gain new skills, and get hands-on practice working with AWS technologies aws.amazon.com/training Training Validate your proven skills and expertise with the AWS platform Build technical expertise to design and operate scalable, efficient applications on AWS AWS Training & Certification
  • 63. Follow us for m ore events & w ebinars @AWScloud for Global AWS News & Announcements @AWS_UKI for local AWS events & news @IanMmmm Ian Massingham — Technical Evangelist