SlideShare a Scribd company logo
1 of 68
How Do you Scale for both
Predictable and
Unpredictable Events on
such a Large Scale?
Surge 2013
We’re going to talk about this:
Whitney Houston Death: February 11, 2012
… and this:
Without your site going
down…
Who Am I?
• Team Lead of CBC.ca System Administration team.
• Been with CBC for over 11 years (since 2002).
• @blakecrosby
• me@blakecrosby.com / blake.crosby@cbc.ca
Let’s go back in time…
…way back
2010
2008
2007
2006
2005
2004
2003
“News stories must appear on the site as fast as
possible!”
- Every Journalist at CBC
This architecture doesn’t work for news websites.
This was an important lesson for CBC
Breaking news traffic
It’s unpredictable and short lived.
From 12k hit/s to 30k hit/s
Royal Baby: July 22, 2013
From 1Gbps to 2.5Gbps in ~7min
Boston Marathon Bombing: April 15, 2013
From 1 Gbps to 14 Gbps in ~10 minutes.
Whitney Houston Death: February 11, 2012
Challenges we (or you) face
Too expensive to build out infrastructure for traffic
levels that are sustained < 1% of the year.
Content must be flexible to changing traffic conditions
We have valuable information that users need in a
crisis.
“News stories must appear on the site as fast as
possible!”
- Every Journalist at CBC
How we fixed this problem
(back in 2003, remember?)
Save
everything to
disk.
Advantages
• Observes the principal of least surprise.
• Fast
• Takes advantages of OS and FS caches
• Easy to turn off certain site features.
Using SSIs (Server Side Includes)
• Primitive, but fast and secure.
• Can turn off site features or change look and feel by editing one file.
• All pages are updated instantly, without having to wait for pages to be
republished.
Use a Content Delivery Network
Use Conditional GETs (If-Modified-Since)
Using Expiry and Validation
• Object has a TTL of 30 Seconds.
• Object hast a last modified time of Jan 1, 2013 00:00:00
• Once TTL has expired, cache/CDN will check if object is updated.
• Origin will return "304 Not Modified" and cache will reset TTL and
serve object from cache store.
• The 30 second TTL protects the origin from a deluge of "If modified
since" requests.
Use Last Mile Acceleration (GZIP Compression)
Use persistent HTTP connections
Use Appropriate Cache TTLs. Keep them simple!
Keep tunable options at the origin
Move personalization to the client
Outcomes
(Where we are now in 2013)
Outcomes
• 2003 to 2010 – No need to grow origin
• 2010 to today – 9 origin web servers
• HP DL360 G7
• Average 45-50% CPU utilization
• Capital cost for hardware? $15,000!
Our secret sauce.
(or how to serve 800M requests a day from 9 webservers)
Offload (Bandwidth)
Offload (Hits)
Scaling for Unpredictable Events
Checking the last time a file has changed is faster than
delivering that file to a user.
Conditional GETs (304s) will save you.
Make sure users don’t have to search for content
Increase your TTLs
Turn off dynamic components
Scaling for predictable events
Predicting traffic levels is impossible
Some (loose) rules.
• Scheduled events don't peak has high as unpredictable ones.
• Scheduled events last longer, so increase in traffic is spread out over
hours, days, or weeks.
• Scheduled events are more "niche". Unlike breaking news where
everyone wants to know what's going on.
• Might have to worry about 95/5 and bandwidth overages.
How do you scale for write operations?
We let someone else deal with that:
In Summary…
• Ensure your TTLs are appropriate
• Make sure your applications/content return last modified headers.
• Don't be afraid to change your site to turn off components that aren't
critical during high traffic periods.
• Keep tunables at the Origin. This allows you to make changes quickly
without waiting for CDN propagation.
• A CDN will not replace or fix bad origin infrastructure!
• Predicting the scale of a scheduled event is impossible. You will either
over estimate or under estimate.
• Use previous traffic levels during unscheduled events as a high water
mark.
• Don't be afraid to ask someone else (SaaS provider) to implement a
feature that is not your core business/expertise.
Usenix Paper
http://tinyurl.com/lisa-paper
Thank You
@blakecrosby
me@blakecrosby.com

More Related Content

What's hot

FlinkForward Asia 2019 - Evolving Keystone to an Open Collaborative Real Time...
FlinkForward Asia 2019 - Evolving Keystone to an Open Collaborative Real Time...FlinkForward Asia 2019 - Evolving Keystone to an Open Collaborative Real Time...
FlinkForward Asia 2019 - Evolving Keystone to an Open Collaborative Real Time...Zhenzhong Xu
 
DataSift Historics in 5 Steps
DataSift Historics in 5 StepsDataSift Historics in 5 Steps
DataSift Historics in 5 StepsNick Halstead
 
Cassandra summit 2015 - Simplifying Streaming Analytics
Cassandra summit 2015 - Simplifying Streaming AnalyticsCassandra summit 2015 - Simplifying Streaming Analytics
Cassandra summit 2015 - Simplifying Streaming AnalyticsBrenden Matthews
 
Mesos meetup @ shutterstock
Mesos meetup @ shutterstockMesos meetup @ shutterstock
Mesos meetup @ shutterstockBrenden Matthews
 
Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2DataStax Academy
 
Operational elastic
Operational elasticOperational elastic
Operational elasticEd Anderson
 
Cloudsolutionday 2016: Docker & FAAS at getvero.com
Cloudsolutionday 2016: Docker & FAAS at getvero.comCloudsolutionday 2016: Docker & FAAS at getvero.com
Cloudsolutionday 2016: Docker & FAAS at getvero.comAWS Vietnam Community
 
Connecting Akka with Oracle Event Hub Cloud Service
Connecting Akka with Oracle Event Hub Cloud ServiceConnecting Akka with Oracle Event Hub Cloud Service
Connecting Akka with Oracle Event Hub Cloud ServiceDalibor Blazevic
 
Fine tuning Hybrid Mobile App
Fine tuning Hybrid Mobile AppFine tuning Hybrid Mobile App
Fine tuning Hybrid Mobile AppAllan Tan
 
Brisbane DevOps Meetup - Reinvent 2015
Brisbane DevOps Meetup - Reinvent 2015Brisbane DevOps Meetup - Reinvent 2015
Brisbane DevOps Meetup - Reinvent 2015Michael Villis
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
 
[db tech showcase Tokyo 2017] C16: Azure SQL Database - Are you ready for the...
[db tech showcase Tokyo 2017] C16: Azure SQL Database - Are you ready for the...[db tech showcase Tokyo 2017] C16: Azure SQL Database - Are you ready for the...
[db tech showcase Tokyo 2017] C16: Azure SQL Database - Are you ready for the...Insight Technology, Inc.
 
Scaling real-time visualisations for Elections 2014
Scaling real-time visualisations for Elections 2014Scaling real-time visualisations for Elections 2014
Scaling real-time visualisations for Elections 2014Gramener
 
[db tech showcase Tokyo 2017] C32: Patterns for building hybrid scenarios wit...
[db tech showcase Tokyo 2017] C32: Patterns for building hybrid scenarios wit...[db tech showcase Tokyo 2017] C32: Patterns for building hybrid scenarios wit...
[db tech showcase Tokyo 2017] C32: Patterns for building hybrid scenarios wit...Insight Technology, Inc.
 
Introduction To Streaming Data and Stream Processing with Apache Kafka
Introduction To Streaming Data and Stream Processing with Apache KafkaIntroduction To Streaming Data and Stream Processing with Apache Kafka
Introduction To Streaming Data and Stream Processing with Apache Kafkaconfluent
 

What's hot (20)

FlinkForward Asia 2019 - Evolving Keystone to an Open Collaborative Real Time...
FlinkForward Asia 2019 - Evolving Keystone to an Open Collaborative Real Time...FlinkForward Asia 2019 - Evolving Keystone to an Open Collaborative Real Time...
FlinkForward Asia 2019 - Evolving Keystone to an Open Collaborative Real Time...
 
Prometheus on AWS
Prometheus on AWSPrometheus on AWS
Prometheus on AWS
 
Surge openstack
Surge openstackSurge openstack
Surge openstack
 
Kafka Streams
Kafka StreamsKafka Streams
Kafka Streams
 
DataSift Historics in 5 Steps
DataSift Historics in 5 StepsDataSift Historics in 5 Steps
DataSift Historics in 5 Steps
 
Cassandra summit 2015 - Simplifying Streaming Analytics
Cassandra summit 2015 - Simplifying Streaming AnalyticsCassandra summit 2015 - Simplifying Streaming Analytics
Cassandra summit 2015 - Simplifying Streaming Analytics
 
Mesos meetup @ shutterstock
Mesos meetup @ shutterstockMesos meetup @ shutterstock
Mesos meetup @ shutterstock
 
Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2
 
Operational elastic
Operational elasticOperational elastic
Operational elastic
 
Cloudsolutionday 2016: Docker & FAAS at getvero.com
Cloudsolutionday 2016: Docker & FAAS at getvero.comCloudsolutionday 2016: Docker & FAAS at getvero.com
Cloudsolutionday 2016: Docker & FAAS at getvero.com
 
Connecting Akka with Oracle Event Hub Cloud Service
Connecting Akka with Oracle Event Hub Cloud ServiceConnecting Akka with Oracle Event Hub Cloud Service
Connecting Akka with Oracle Event Hub Cloud Service
 
Fine tuning Hybrid Mobile App
Fine tuning Hybrid Mobile AppFine tuning Hybrid Mobile App
Fine tuning Hybrid Mobile App
 
Brisbane DevOps Meetup - Reinvent 2015
Brisbane DevOps Meetup - Reinvent 2015Brisbane DevOps Meetup - Reinvent 2015
Brisbane DevOps Meetup - Reinvent 2015
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
Ajax
AjaxAjax
Ajax
 
Real time DQMM on Flink
Real time DQMM on FlinkReal time DQMM on Flink
Real time DQMM on Flink
 
[db tech showcase Tokyo 2017] C16: Azure SQL Database - Are you ready for the...
[db tech showcase Tokyo 2017] C16: Azure SQL Database - Are you ready for the...[db tech showcase Tokyo 2017] C16: Azure SQL Database - Are you ready for the...
[db tech showcase Tokyo 2017] C16: Azure SQL Database - Are you ready for the...
 
Scaling real-time visualisations for Elections 2014
Scaling real-time visualisations for Elections 2014Scaling real-time visualisations for Elections 2014
Scaling real-time visualisations for Elections 2014
 
[db tech showcase Tokyo 2017] C32: Patterns for building hybrid scenarios wit...
[db tech showcase Tokyo 2017] C32: Patterns for building hybrid scenarios wit...[db tech showcase Tokyo 2017] C32: Patterns for building hybrid scenarios wit...
[db tech showcase Tokyo 2017] C32: Patterns for building hybrid scenarios wit...
 
Introduction To Streaming Data and Stream Processing with Apache Kafka
Introduction To Streaming Data and Stream Processing with Apache KafkaIntroduction To Streaming Data and Stream Processing with Apache Kafka
Introduction To Streaming Data and Stream Processing with Apache Kafka
 

Viewers also liked

Moving from HTTP to HTTPS
Moving from HTTP to HTTPSMoving from HTTP to HTTPS
Moving from HTTP to HTTPSBlake Crosby
 
100 Terabytes a Day. How CBC Delivers Content to Canadians
100 Terabytes a Day. How CBC Delivers Content to Canadians100 Terabytes a Day. How CBC Delivers Content to Canadians
100 Terabytes a Day. How CBC Delivers Content to CanadiansBlake Crosby
 
The Canadian Public Broadcaster on a Diet: Slimming Down for a Whole Nation
The Canadian Public Broadcaster on a Diet: Slimming Down for a Whole NationThe Canadian Public Broadcaster on a Diet: Slimming Down for a Whole Nation
The Canadian Public Broadcaster on a Diet: Slimming Down for a Whole NationBlake Crosby
 
Improving SEO at CBC
Improving SEO at CBCImproving SEO at CBC
Improving SEO at CBCBlake Crosby
 
Using PostgreSQL for Flight Planning
Using PostgreSQL for Flight PlanningUsing PostgreSQL for Flight Planning
Using PostgreSQL for Flight PlanningBlake Crosby
 
PageSpeed and SPDY
PageSpeed and SPDYPageSpeed and SPDY
PageSpeed and SPDYBlake Crosby
 
Cache Optimization with Akamai
Cache Optimization with AkamaiCache Optimization with Akamai
Cache Optimization with AkamaiBlake Crosby
 

Viewers also liked (8)

Intro to GIS
Intro to GISIntro to GIS
Intro to GIS
 
Moving from HTTP to HTTPS
Moving from HTTP to HTTPSMoving from HTTP to HTTPS
Moving from HTTP to HTTPS
 
100 Terabytes a Day. How CBC Delivers Content to Canadians
100 Terabytes a Day. How CBC Delivers Content to Canadians100 Terabytes a Day. How CBC Delivers Content to Canadians
100 Terabytes a Day. How CBC Delivers Content to Canadians
 
The Canadian Public Broadcaster on a Diet: Slimming Down for a Whole Nation
The Canadian Public Broadcaster on a Diet: Slimming Down for a Whole NationThe Canadian Public Broadcaster on a Diet: Slimming Down for a Whole Nation
The Canadian Public Broadcaster on a Diet: Slimming Down for a Whole Nation
 
Improving SEO at CBC
Improving SEO at CBCImproving SEO at CBC
Improving SEO at CBC
 
Using PostgreSQL for Flight Planning
Using PostgreSQL for Flight PlanningUsing PostgreSQL for Flight Planning
Using PostgreSQL for Flight Planning
 
PageSpeed and SPDY
PageSpeed and SPDYPageSpeed and SPDY
PageSpeed and SPDY
 
Cache Optimization with Akamai
Cache Optimization with AkamaiCache Optimization with Akamai
Cache Optimization with Akamai
 

Similar to How Do you Scale for both Predictable and Unpredictable Events on such a Large Scale?

Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...
Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...
Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...Data Con LA
 
Lowering the risk of monolith to microservices
Lowering the risk of monolith to microservicesLowering the risk of monolith to microservices
Lowering the risk of monolith to microservicesChristian Posta
 
Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocolsDaniel Austin
 
Kinesis @ lyft
Kinesis @ lyftKinesis @ lyft
Kinesis @ lyftMian Hamid
 
Performing successful migrations to the microsoft cloud
Performing successful migrations to the microsoft cloudPerforming successful migrations to the microsoft cloud
Performing successful migrations to the microsoft cloudAndries den Haan
 
Optimize Your Reporting In Less Than 10 Minutes
Optimize Your Reporting In Less Than 10 MinutesOptimize Your Reporting In Less Than 10 Minutes
Optimize Your Reporting In Less Than 10 MinutesAlexandra Sasha Blumenfeld
 
Azure Messaging Crossroads
Azure Messaging CrossroadsAzure Messaging Crossroads
Azure Messaging CrossroadsSean Feldman
 
Migrating on premises and cloud contents to SharePoint Online at no cost with...
Migrating on premises and cloud contents to SharePoint Online at no cost with...Migrating on premises and cloud contents to SharePoint Online at no cost with...
Migrating on premises and cloud contents to SharePoint Online at no cost with...Juan Carlos Gonzalez
 
Handling Massive Traffic with Python
Handling Massive Traffic with PythonHandling Massive Traffic with Python
Handling Massive Traffic with PythonÒscar Vilaplana
 
Cloudlytics: In Depth S3 & CloudFront Log Analysis - Featuring Reports
Cloudlytics: In Depth S3 & CloudFront Log Analysis - Featuring ReportsCloudlytics: In Depth S3 & CloudFront Log Analysis - Featuring Reports
Cloudlytics: In Depth S3 & CloudFront Log Analysis - Featuring ReportsBlazeclan Technologies Private Limited
 
Azure stream analytics by Nico Jacobs
Azure stream analytics by Nico JacobsAzure stream analytics by Nico Jacobs
Azure stream analytics by Nico JacobsITProceed
 
Deploy secure, scalable, and highly available web apps with Azure Front Door ...
Deploy secure, scalable, and highly available web apps with Azure Front Door ...Deploy secure, scalable, and highly available web apps with Azure Front Door ...
Deploy secure, scalable, and highly available web apps with Azure Front Door ...Stamo Petkov
 
The Hard Problems of Continuous Deployment
The Hard Problems of Continuous DeploymentThe Hard Problems of Continuous Deployment
The Hard Problems of Continuous DeploymentTimothy Fitz
 
Optimization of modern web applications
Optimization of modern web applicationsOptimization of modern web applications
Optimization of modern web applicationsEugene Lazutkin
 
Wix Dev-Centric Culture And Continuous Delivery
Wix Dev-Centric Culture And Continuous DeliveryWix Dev-Centric Culture And Continuous Delivery
Wix Dev-Centric Culture And Continuous DeliveryAviran Mordo
 
How to Overcome Data Challenges When Refactoring Monoliths to Microservices
How to Overcome Data Challenges When Refactoring Monoliths to MicroservicesHow to Overcome Data Challenges When Refactoring Monoliths to Microservices
How to Overcome Data Challenges When Refactoring Monoliths to MicroservicesVMware Tanzu
 
Itsummit2015 blizzard
Itsummit2015 blizzardItsummit2015 blizzard
Itsummit2015 blizzardkevin_donovan
 
System design for video streaming service
System design for video streaming serviceSystem design for video streaming service
System design for video streaming serviceNirmik Kale
 
Zero Downtime Migrations at Scale
Zero Downtime Migrations at ScaleZero Downtime Migrations at Scale
Zero Downtime Migrations at ScaleAysylu Greenberg
 

Similar to How Do you Scale for both Predictable and Unpredictable Events on such a Large Scale? (20)

Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...
Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...
Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...
 
Lowering the risk of monolith to microservices
Lowering the risk of monolith to microservicesLowering the risk of monolith to microservices
Lowering the risk of monolith to microservices
 
Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocols
 
Kinesis @ lyft
Kinesis @ lyftKinesis @ lyft
Kinesis @ lyft
 
Performing successful migrations to the microsoft cloud
Performing successful migrations to the microsoft cloudPerforming successful migrations to the microsoft cloud
Performing successful migrations to the microsoft cloud
 
Optimize Your Reporting In Less Than 10 Minutes
Optimize Your Reporting In Less Than 10 MinutesOptimize Your Reporting In Less Than 10 Minutes
Optimize Your Reporting In Less Than 10 Minutes
 
Azure Messaging Crossroads
Azure Messaging CrossroadsAzure Messaging Crossroads
Azure Messaging Crossroads
 
Migrating on premises and cloud contents to SharePoint Online at no cost with...
Migrating on premises and cloud contents to SharePoint Online at no cost with...Migrating on premises and cloud contents to SharePoint Online at no cost with...
Migrating on premises and cloud contents to SharePoint Online at no cost with...
 
Handling Massive Traffic with Python
Handling Massive Traffic with PythonHandling Massive Traffic with Python
Handling Massive Traffic with Python
 
Cloudlytics: In Depth S3 & CloudFront Log Analysis - Featuring Reports
Cloudlytics: In Depth S3 & CloudFront Log Analysis - Featuring ReportsCloudlytics: In Depth S3 & CloudFront Log Analysis - Featuring Reports
Cloudlytics: In Depth S3 & CloudFront Log Analysis - Featuring Reports
 
Lighthouse
LighthouseLighthouse
Lighthouse
 
Azure stream analytics by Nico Jacobs
Azure stream analytics by Nico JacobsAzure stream analytics by Nico Jacobs
Azure stream analytics by Nico Jacobs
 
Deploy secure, scalable, and highly available web apps with Azure Front Door ...
Deploy secure, scalable, and highly available web apps with Azure Front Door ...Deploy secure, scalable, and highly available web apps with Azure Front Door ...
Deploy secure, scalable, and highly available web apps with Azure Front Door ...
 
The Hard Problems of Continuous Deployment
The Hard Problems of Continuous DeploymentThe Hard Problems of Continuous Deployment
The Hard Problems of Continuous Deployment
 
Optimization of modern web applications
Optimization of modern web applicationsOptimization of modern web applications
Optimization of modern web applications
 
Wix Dev-Centric Culture And Continuous Delivery
Wix Dev-Centric Culture And Continuous DeliveryWix Dev-Centric Culture And Continuous Delivery
Wix Dev-Centric Culture And Continuous Delivery
 
How to Overcome Data Challenges When Refactoring Monoliths to Microservices
How to Overcome Data Challenges When Refactoring Monoliths to MicroservicesHow to Overcome Data Challenges When Refactoring Monoliths to Microservices
How to Overcome Data Challenges When Refactoring Monoliths to Microservices
 
Itsummit2015 blizzard
Itsummit2015 blizzardItsummit2015 blizzard
Itsummit2015 blizzard
 
System design for video streaming service
System design for video streaming serviceSystem design for video streaming service
System design for video streaming service
 
Zero Downtime Migrations at Scale
Zero Downtime Migrations at ScaleZero Downtime Migrations at Scale
Zero Downtime Migrations at Scale
 

Recently uploaded

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 

Recently uploaded (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

How Do you Scale for both Predictable and Unpredictable Events on such a Large Scale?

Editor's Notes

  1. CBC is Canadas Public BroadcasterCombination of NPR and PBS, but funded by tax dollars and not donationsHave a mandate to serve all canadians and produce canadian content.
  2. Example of news website
  3. In order to understand why our infrastructure the way it is, we need to go back to a specific event.
  4. For CBC, this is when we started taking the web seriously. It&apos;s no longer a &quot;fad&quot; anymore.
  5. We must beat our competitors online!
  6. So naturally we decided to make the story presentation engine dynamically driven.Backed by an oracle database, and a J2EE front end.
  7. That same year, we had a provincial election in the province of Quebec.
  8. This is what the site looked likeReal time voting numbers on the front page for each party.
  9. About 150 hits/s
  10. This is when we realized that this architecture (at least back in 2003) wasn&apos;t appropriate for a news website.
  11. We needed to simplify our infrastructure and presentation model.Running a dynamically generated News website is not scalable.
  12. To get a better understanding of why this doesn&apos;t work. Let&apos;s take a look at typical traffic patterns for breaking news.
  13. So how do you build out an infrastructure to be able to handle these huge spikes?
  14. Capital costs are high and CPU utilization will be too low. Servers will be sitting idle the majority of the time.
  15. Must be able to change the site based on what is important for visitors, while maintaining functionality that users expect.
  16. Going down is not an option.
  17. Remember this? We still need to make sure content is published as fast as it’s written.So long cache times are not acceptable.
  18. The first thing we did was toss the database and j2ee app out the window.
  19. We call this processing “baking”
  20. Principal of least surprise. Files are located on disk where you think they’d be. No need to know SQL or hunt through database tables.
  21. Indicate parts of the site that are controllable.Can turn off “more headlines”, right rail, or the ticker at the top.Or better yet, it&apos;s easy for us to put a notice at the top of every page, if we wanted.
  22. Tried to make the backend as close to a cache as possible.Nothing gets into production w/o going through the CMS first.
  23. Leveraging conditional GETs ensures that there is a small load on the origin, but pages are updated in cache as quickly as possible It&apos;s the right combination of expiry and validation
  24. Using IMS allows the origin to return only a small payload.Body content is not sent.
  25. 75% of requests are for 304 not modified. Object was not transferred to the CDN.
  26. HTML,Javascript, CSS, and other text based files compress very well.Be sure that you have this turned on between origin and CDN and CDN and your users.
  27. Set up your persistent connections to match those of the CDN.Keeping the TCP connection open reduces the latency required to set up and tear down TCP sessionsCBC uses 301 seconds, 1 second longer than Akamais. This ensures that the origin doesn’t tear down the connection prematurely.We leave management of the connection to the CDN.
  28. We have a blanket 20 second TTL on all objects.Understand that at the end of the TTL the object is probably not expired from cache. Just revalidated.If you know your content changes less frequently, or &quot;freshness&quot; is less a priority, then set a higher TTL.Organize file system based on TTL.
  29. Store all your tunable configs at the origin (especially TTLs). This saves on propagation time when you have to change settings or TTLs.Updating an Apache configuration is quicker than pushing a CDN config change to 100,000 servers.
  30. Personalization data is stored in Cookies.Origin doesn’t dynamically generate pages for users who are signed in. They just fetch a pre-baked file/template based on cookie data.Dynamic content is assembled using AJAX.
  31. We wanted to increase the amount of headroom we had in 2010 so we refreshed our infrastructure hardware and added 3 more servers.The total cost was only $15,000.
  32. So, how do we serve
  33. We rely heavily on the CDN to deliver content.Our cache offload rate for bandwidth is around 93%.
  34. Number of hits is a little lower at 80%.
  35. We rely on the this fact.
  36. … so we take advantage of 304s
  37. More clicks = more traffic.Ensure that the news or information they are coming to your site can be found in 1 click or on the home page.Change your &quot;website mode&quot; to a lightweight mode. This will save you on bandwidth and ensure your users can find relevant information right away.
  38. Since your TTLs are controlled at the origin, there is no need to wait for the CDN to propagate settings.An extra 10 seconds reduces origin load a lot, while keeping content “fresh”.
  39. Anything that relies on a sign-on, or cookies should be turned off.
  40. We&apos;ve never been able to accurately predict what kind of load a specific event will generate.We usually have an office pool. Person to the closest peak hits/s or concurrent users wins!However, we do have some guidelines based on previous experience.
  41. If you survived that spike in traffic during your last breaking news event, you&apos;re most likely going to be ok for your scheduled event.Niche: This is especially true for sporting events (NHL playoffs, olympics) and
  42. This is all great, but your site is mainly read operations! How do we handle write operations such as comments, etc..?
  43. Commenting Engine: Viafoura, DisqusPolls/Surveys: Survey Monkey, Poll Daddy, ZoomerangAnalytics: Adobe Omniture, Google analytics
  44. - Think about your dynamic application. Is there a way to calculate a last modified header?