SlideShare a Scribd company logo
Caching	
  The	
  
Uncacheable:	
  
	
  
Leveraging	
  Your	
  CDN	
  to	
  Cache	
  Dynamic	
  
Content	
  
Hooman	
  Behesh+,	
  VP	
  Technology	
  
Dynamic	
  Content	
  Is	
  Really	
  
Interes=ng!	
  
What	
  Is	
  Dynamic	
  Content?	
  
•  Stuff	
  that’s	
  not	
  sta+c!	
  
•  With	
  web	
  traffic,	
  generally	
  the	
  base	
  HTML	
  
–  Big	
  deal	
  because	
  it’s	
  blocking	
  
–  And	
  some+mes	
  the	
  largest	
  object	
  à	
  longer	
  download	
  
•  Could	
  be	
  other	
  things	
  too	
  
–  AJAX	
  calls	
  
–  API	
  calls	
  
•  More…	
  
Blocking	
  
Classically,	
  with	
  dynamic	
  content…	
  
Caching	
  
Dynamic	
  Content	
  Caching	
  Problems	
  
•  Serving	
  stale	
  pages	
  
– Lack	
  of	
  good	
  invalida+on	
  framework	
  
	
  
Caching	
  	
  
vs.	
  	
  
Invalida=on	
  
We	
  tried…	
  
Dynamic	
  Content	
  Caching	
  Problems	
  
•  Serving	
  stale	
  pages	
  
– Lack	
  of	
  good	
  invalida+on	
  framework	
  
	
  
Dynamic	
  Content	
  Caching	
  Problems	
  
•  Serving	
  stale	
  pages	
  
– Lack	
  of	
  good	
  invalida+on	
  framework	
  
•  Real-­‐+me	
  visibility	
  
– Real-­‐+me	
  analy+cs/stats	
  
– Real-­‐+me	
  logging	
  
	
  
CDNs	
  and	
  Dynamic	
  Content	
  
•  Generally,	
  handling	
  dynamic	
  content	
  has	
  been	
  
a	
  maRer	
  of	
  transport	
  
– Op+mize	
  from-­‐origin	
  delivery	
  
– “DSA”	
  (Dynamic	
  Site	
  Accelera+on)	
  
– Middle	
  mile	
  op+miza+ons	
  
– TCP	
  tweaks	
  
Dynamic	
  Content,	
  Tradi=onally	
  
CDN	
  Node	
  
Client	
  
Origin	
  
Some	
  TCP	
  Tweaks	
  
Dynamic	
  Content,	
  Tradi=onally	
  
CDN	
  Node	
   CDN	
  Node	
  
Client	
  
Origin	
  
Lots	
  of	
  TCP	
  Tweaks	
  
Dynamic	
  Content,	
  Tradi=onally	
  
•  We	
  some+mes	
  do	
  micro	
  caching	
  of	
  HTML	
  
–  Short	
  TTL	
  for	
  HTML	
  content	
  
–  Not	
  full	
  proof	
  
•  Ex:	
  news	
  stories	
  faux-­‐pas!	
  
•  ESI	
  (Edge	
  Side	
  Includes)	
  
–  Par+al	
  caching	
  
–  Hard	
  and	
  onerous	
  
	
  
Actually…	
  
•  Dynamic	
  content	
  is	
  more	
  cacheable	
  than	
  we	
  
think	
  
•  Sta+c	
  for	
  short	
  periods	
  of	
  +me	
  
•  Unpredictable	
  invalida+on	
  
–  Standard	
  HTTP	
  caching	
  rules	
  aren’t	
  good	
  enough	
  
A	
  Lot	
  BeMer!	
  
CDN	
  Node	
   CDN	
  Node	
  
Client	
  
Origin	
  
Blocking	
  
So	
  Many	
  Benefits!	
  
•  Performance	
  
–  Faster	
  +me	
  to	
  first	
  byte	
  
–  Faster	
  start	
  render	
  
–  Happy	
  users!	
  
•  Offload	
  
–  Less	
  work	
  for	
  our	
  servers	
  
–  Less	
  bandwidth	
  at	
  origin	
  
What	
  would	
  make	
  it	
  beMer?	
  
Programma=c	
  Invalida=on	
  
•  Invalida+on	
  API	
  
•  Granular	
  
•  Instantaneous	
  
– Big	
  problem	
  with	
  classic	
  CDNs	
  (mul+-­‐minute	
  
purges)	
  
Power	
  of	
  the	
  Purge!	
  
•  Instant	
  purging:	
  
– As	
  a	
  page	
  gets	
  published,	
  a	
  purge	
  command	
  also	
  
gets	
  published	
  
– Instant	
  means:	
  predictable	
  and	
  determinis+c	
  
behavior	
  
	
  
Power	
  of	
  the	
  Purge!	
  
•  Purge	
  dependencies	
  
– Surrogate	
  Keys	
  
– Using	
  tags	
  to	
  purge	
  en+re	
  chunks	
  of	
  content	
  at	
  
once	
  
	
  
More	
  than	
  just	
  Invalida=on…	
  
The	
  Influence	
  of	
  Clouds	
  
•  The	
  CDN	
  is	
  an	
  extension	
  of	
  the	
  app	
  
•  No	
  longer	
  a	
  black	
  box	
  
•  Real-­‐+me	
  integra+on	
  with	
  the	
  app	
  
•  Infrastructure	
  as	
  code	
  
– Your	
  content	
  =>	
  You	
  need	
  control	
  
Control	
  
•  Programmability	
  
– Configura+on	
  API	
  
– Invalida+on	
  API	
  
– Instantaneous	
  and	
  real	
  +me	
  
– Granular	
  caching	
  
•  Ex:	
  Geo-­‐based	
  caching	
  
Control	
  at	
  the	
  Edge	
  
•  Moving	
  app	
  logic	
  to	
  the	
  edge	
  
•  VCL	
  
– Varnish	
  Configura+on	
  Language	
  
– Script-­‐like	
  configura+on	
  for	
  func+onality	
  at	
  the	
  
edge	
  
Visibility	
  
•  Real	
  +me	
  analy+cs	
  
–  Network	
  stats	
  
–  HTTP	
  stats	
  (status	
  codes	
  ,	
  etc)	
  
–  Caching	
  stats	
  (hits,	
  misses,	
  etc)	
  
–  Stats	
  API	
  
•  Logging	
  
–  Real	
  +me	
  logs	
  
–  Streaming	
  to	
  various	
  log	
  des+na+ons	
  
Example:	
  
CMS	
  +	
  Purge	
  
WordPress:	
  Before	
  
CDN	
  Node	
  
WordPress:	
  Before	
  
CDN	
  Node	
  
WordPress:	
  Before	
  
CDN	
  Node	
  
WordPress:	
  Before	
  
CDN	
  Node	
  
WordPress:	
  Before	
  
CDN	
  Node	
  
Cache	
  
WordPress:	
  AWer	
  
CDN	
  Node	
  
WordPress:	
  AWer	
  
CDN	
  Node	
  
HTTP/1.1 200 OK	
Content-Type: text/html	
Content-Length: 55,666	
Cache-Control: Long Time, totally!
WordPress:	
  AWer	
  
CDN	
  Node	
  
WordPress:	
  AWer	
  
CDN	
  Node	
  
WordPress:	
  AWer	
  
CDN	
  Node	
  
PURGE	
  
WordPress:	
  AWer	
  
CDN	
  Node	
  
PURGE	
  
WordPress:	
  AWer	
  
CDN	
  Node	
  
PURGE	
  
(Has	
  to	
  be	
  instantaneous!)	
  
WordPress:	
  AWer	
  
CDN	
  Node	
  
HTTP/1.1 200 OK	
Content-Type: text/html	
Content-Length: 55,666	
Cache-Control: Long Time, totally!
Example:	
  
Beacon	
  Termina=on	
  at	
  the	
  Edge	
  
Before	
  
CDN	
  Node	
  
Origin	
  
Log	
  Analysis	
  
http://collector.site.com/beacon.img?a=1&b=2&c=3
Before	
  
CDN	
  Node	
  
Origin	
  
Log	
  Analysis	
  
http://collector.site.com/beacon.img?a=1&b=2&c=3
Before	
  
CDN	
  Node	
  
Origin	
  
Log	
  Analysis	
  
HTTP/1.1 200 OK	
Pragma: no-cache	
Expires: Wed, 19 Apr 2000 11:43:00 GMT	
Cache-Control: no-cache, no-store	
Last-Modified: Wed, 21 Jan 2004 19:51:30 GMT	
Content-Type: image/gif	
Date: Fri, 20 Jun 2014 12:22:20 GMT	
Server: Apache	
Content-Length: 35	
http://collector.site.com/beacon.img?a=1&b=2&c=3
Before	
  
CDN	
  Node	
  
Origin	
  
Log	
  Analysis	
  
HTTP/1.1 200 OK	
Pragma: no-cache	
Expires: Wed, 19 Apr 2000 11:43:00 GMT	
Cache-Control: no-cache, no-store	
Last-Modified: Wed, 21 Jan 2004 19:51:30 GMT	
Content-Type: image/gif	
Date: Fri, 20 Jun 2014 12:22:20 GMT	
Server: Apache	
Content-Length: 35	
http://collector.site.com/beacon.img?a=1&b=2&c=3
AWer	
  
CDN	
  Node	
  
Origin	
  
http://collector.site.com/beacon.img?a=1&b=2&c=3
AWer	
  
CDN	
  Node	
  
Origin	
  
HTTP/1.1 200 OK	
Pragma: no-cache	
Expires: Wed, 19 Apr 2000 11:43:00 GMT	
Cache-Control: no-cache, no-store	
Last-Modified: Wed, 21 Jan 2004 19:51:30 GMT	
Content-Type: image/gif	
Date: Fri, 20 Jun 2014 12:22:20 GMT	
Server: Apache	
Content-Length: 35	
http://collector.site.com/beacon.img?a=1&b=2&c=3
AWer	
  
CDN	
  Node	
  
Origin	
  
HTTP/1.1 204 No Content	
Date: Sat, 21 Jun 2014 23:21:12 GMT	
Server: Awesome Server	
Content-Length: 0	
http://collector.site.com/beacon.img?a=1&b=2&c=3
AWer	
  
CDN	
  Node	
  
Origin	
  
Syslog	
  /	
  S3	
  /	
  FTP/etc	
  
http://collector.site.com/beacon.img?a=1&b=2&c=3
Example:	
  
Edge-­‐generated	
  Content	
  
JSON	
  Data	
  Center	
  ID	
  
CDN	
  Node	
  
Origin	
  
http://www.site.com/which_datacenter.js
JSON	
  Data	
  Center	
  ID	
  
CDN	
  Node	
  
Origin	
  
{ ‘datacenter’ : ‘SJC’ }	
http://www.site.com/which_datacenter.js
VCL	
  Snippet	
  
More	
  Examples	
  
•  Caching	
  with	
  tracking	
  cookies:	
  
–  hRp://www.fastly.com/blog/how-­‐to-­‐cache-­‐with-­‐
tracking-­‐cookies	
  
•  API	
  Caching:	
  
–  hRp://www.fastly.com/blog/api-­‐caching-­‐part-­‐iii	
  (part	
  
3,	
  with	
  links	
  to	
  previous	
  two	
  parts)	
  
•  Log	
  Streaming:	
  
–  hRp://www.fastly.com/blog/+ps-­‐for-­‐streaming-­‐logs	
  
	
  
Let’s	
  Sum	
  Up!	
  
Summary	
  
•  Dynamic	
  content	
  can	
  be	
  cached	
  
–  We	
  need	
  instant	
  purging	
  
–  We	
  need	
  real-­‐+me	
  logs	
  and	
  stats	
  
•  Real-­‐+me	
  integra+on	
  of	
  our	
  CDN	
  with	
  our	
  app	
  is	
  cool!	
  
–  Extensive/granular	
  API	
  to	
  control	
  the	
  CDN	
  
–  Control	
  and	
  visibility	
  at	
  the	
  edge	
  lets	
  us	
  be	
  really	
  crea+ve	
  
•  Never	
  use	
  “Long Time, totally!” in	
  a	
  Cache-Control
header!	
  
	
  
Thank	
  you!	
  
hooman@fastly.com	
  

More Related Content

What's hot

Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on Netscaler
Mark Hillick
 
Altitude SF 2017: Advanced VCL: Shielding and Clustering
Altitude SF 2017: Advanced VCL: Shielding and ClusteringAltitude SF 2017: Advanced VCL: Shielding and Clustering
Altitude SF 2017: Advanced VCL: Shielding and Clustering
Fastly
 
NGINX High-performance Caching
NGINX High-performance CachingNGINX High-performance Caching
NGINX High-performance Caching
NGINX, Inc.
 
Load Balancing with Nginx
Load Balancing with NginxLoad Balancing with Nginx
Load Balancing with Nginx
Marian Marinov
 
Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]
Fastly
 
Usenix LISA 2012 - Choosing a Proxy
Usenix LISA 2012 - Choosing a ProxyUsenix LISA 2012 - Choosing a Proxy
Usenix LISA 2012 - Choosing a Proxy
Leif Hedstrom
 
HTTP caching with Varnish
HTTP caching with VarnishHTTP caching with Varnish
HTTP caching with Varnish
David de Boer
 
Building your own CDN using Amazon EC2
Building your own CDN using Amazon EC2Building your own CDN using Amazon EC2
Building your own CDN using Amazon EC2
SergeyChernyshev
 
Supercharging Content Delivery with Varnish
Supercharging Content Delivery with VarnishSupercharging Content Delivery with Varnish
Supercharging Content Delivery with Varnish
Samantha Quiñones
 
London devops logging
London devops loggingLondon devops logging
London devops loggingTomas Doran
 
How To Set Up SQL Load Balancing with HAProxy - Slides
How To Set Up SQL Load Balancing with HAProxy - SlidesHow To Set Up SQL Load Balancing with HAProxy - Slides
How To Set Up SQL Load Balancing with HAProxy - Slides
Severalnines
 
5 things you didn't know nginx could do
5 things you didn't know nginx could do5 things you didn't know nginx could do
5 things you didn't know nginx could do
sarahnovotny
 
How to monitor NGINX
How to monitor NGINXHow to monitor NGINX
How to monitor NGINX
Server Density
 
Extending functionality in nginx, with modules!
Extending functionality in nginx, with modules!Extending functionality in nginx, with modules!
Extending functionality in nginx, with modules!
Trygve Vea
 
Interactive web. O rly?
Interactive web. O rly?Interactive web. O rly?
Interactive web. O rly?timbc
 
Building Scalable Websites with Perl
Building Scalable Websites with PerlBuilding Scalable Websites with Perl
Building Scalable Websites with Perl
Perrin Harkins
 
Introduction to performance tuning perl web applications
Introduction to performance tuning perl web applicationsIntroduction to performance tuning perl web applications
Introduction to performance tuning perl web applications
Perrin Harkins
 
I can't believe it's not a queue: Kafka and Spring
I can't believe it's not a queue: Kafka and SpringI can't believe it's not a queue: Kafka and Spring
I can't believe it's not a queue: Kafka and Spring
Joe Kutner
 
Using NGINX as an Effective and Highly Available Content Cache
Using NGINX as an Effective and Highly Available Content CacheUsing NGINX as an Effective and Highly Available Content Cache
Using NGINX as an Effective and Highly Available Content Cache
Kevin Jones
 

What's hot (20)

Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on Netscaler
 
Altitude SF 2017: Advanced VCL: Shielding and Clustering
Altitude SF 2017: Advanced VCL: Shielding and ClusteringAltitude SF 2017: Advanced VCL: Shielding and Clustering
Altitude SF 2017: Advanced VCL: Shielding and Clustering
 
NGINX High-performance Caching
NGINX High-performance CachingNGINX High-performance Caching
NGINX High-performance Caching
 
Load Balancing with Nginx
Load Balancing with NginxLoad Balancing with Nginx
Load Balancing with Nginx
 
Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]
 
Usenix LISA 2012 - Choosing a Proxy
Usenix LISA 2012 - Choosing a ProxyUsenix LISA 2012 - Choosing a Proxy
Usenix LISA 2012 - Choosing a Proxy
 
HTTP caching with Varnish
HTTP caching with VarnishHTTP caching with Varnish
HTTP caching with Varnish
 
Building your own CDN using Amazon EC2
Building your own CDN using Amazon EC2Building your own CDN using Amazon EC2
Building your own CDN using Amazon EC2
 
Supercharging Content Delivery with Varnish
Supercharging Content Delivery with VarnishSupercharging Content Delivery with Varnish
Supercharging Content Delivery with Varnish
 
London devops logging
London devops loggingLondon devops logging
London devops logging
 
How To Set Up SQL Load Balancing with HAProxy - Slides
How To Set Up SQL Load Balancing with HAProxy - SlidesHow To Set Up SQL Load Balancing with HAProxy - Slides
How To Set Up SQL Load Balancing with HAProxy - Slides
 
ReplacingSquidWithATS
ReplacingSquidWithATSReplacingSquidWithATS
ReplacingSquidWithATS
 
5 things you didn't know nginx could do
5 things you didn't know nginx could do5 things you didn't know nginx could do
5 things you didn't know nginx could do
 
How to monitor NGINX
How to monitor NGINXHow to monitor NGINX
How to monitor NGINX
 
Extending functionality in nginx, with modules!
Extending functionality in nginx, with modules!Extending functionality in nginx, with modules!
Extending functionality in nginx, with modules!
 
Interactive web. O rly?
Interactive web. O rly?Interactive web. O rly?
Interactive web. O rly?
 
Building Scalable Websites with Perl
Building Scalable Websites with PerlBuilding Scalable Websites with Perl
Building Scalable Websites with Perl
 
Introduction to performance tuning perl web applications
Introduction to performance tuning perl web applicationsIntroduction to performance tuning perl web applications
Introduction to performance tuning perl web applications
 
I can't believe it's not a queue: Kafka and Spring
I can't believe it's not a queue: Kafka and SpringI can't believe it's not a queue: Kafka and Spring
I can't believe it's not a queue: Kafka and Spring
 
Using NGINX as an Effective and Highly Available Content Cache
Using NGINX as an Effective and Highly Available Content CacheUsing NGINX as an Effective and Highly Available Content Cache
Using NGINX as an Effective and Highly Available Content Cache
 

Viewers also liked

CDN 2.0
CDN 2.0CDN 2.0
CDN 2.0
Jedi Kim
 
Introduction to chinacache services
Introduction to chinacache servicesIntroduction to chinacache services
Introduction to chinacache servicesLillian shao
 
China cache IDC Services 201611
China cache IDC Services 201611 China cache IDC Services 201611
China cache IDC Services 201611
adam cheng
 
How Content Delivery Networks Work
How Content Delivery Networks WorkHow Content Delivery Networks Work
How Content Delivery Networks Work
CDNetworks
 
Developing a Globally Distributed Purging System
Developing a Globally Distributed Purging SystemDeveloping a Globally Distributed Purging System
Developing a Globally Distributed Purging System
Fastly
 
What we can learn from CDNs about Web Development, Deployment, and Performance
What we can learn from CDNs about Web Development, Deployment, and PerformanceWhat we can learn from CDNs about Web Development, Deployment, and Performance
What we can learn from CDNs about Web Development, Deployment, and Performance
Fastly
 
Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...
Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...
Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...
Fastly
 
It Probably Works
It Probably WorksIt Probably Works
It Probably Works
Fastly
 
The Fallacy of Fast - Ines Sombra at Fastly Altitude 2015
The Fallacy of Fast - Ines Sombra at Fastly Altitude 2015The Fallacy of Fast - Ines Sombra at Fastly Altitude 2015
The Fallacy of Fast - Ines Sombra at Fastly Altitude 2015
Fastly
 
Design & Performance - Steve Souders at Fastly Altitude 2015
Design & Performance - Steve Souders at Fastly Altitude 2015Design & Performance - Steve Souders at Fastly Altitude 2015
Design & Performance - Steve Souders at Fastly Altitude 2015
Fastly
 
Fallacy of Fast
Fallacy of FastFallacy of Fast
Fallacy of Fast
Fastly
 
Performance Measuring & Monitoring - Catchpoint CEO Mehdi Daoudi at Fastly Al...
Performance Measuring & Monitoring - Catchpoint CEO Mehdi Daoudi at Fastly Al...Performance Measuring & Monitoring - Catchpoint CEO Mehdi Daoudi at Fastly Al...
Performance Measuring & Monitoring - Catchpoint CEO Mehdi Daoudi at Fastly Al...
Fastly
 
Applying Varnish
Applying VarnishApplying Varnish
Applying Varnish
Fastly
 
Top 5 Things I've Messed Up in Live Streaming
Top 5 Things I've Messed Up in Live StreamingTop 5 Things I've Messed Up in Live Streaming
Top 5 Things I've Messed Up in Live Streaming
Fastly
 
Confident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF MeetupConfident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF Meetup
Fastly
 
It Probably Works - QCon 2015
It Probably Works - QCon 2015It Probably Works - QCon 2015
It Probably Works - QCon 2015
Fastly
 
Beyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic AnalysisBeyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic Analysis
Fastly
 
Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...
Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...
Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...
Fastly
 
Rails Caching: Secrets From the Edge
Rails Caching: Secrets From the EdgeRails Caching: Secrets From the Edge
Rails Caching: Secrets From the Edge
Fastly
 
The future of the edge
The future of the edge The future of the edge
The future of the edge
Fastly
 

Viewers also liked (20)

CDN 2.0
CDN 2.0CDN 2.0
CDN 2.0
 
Introduction to chinacache services
Introduction to chinacache servicesIntroduction to chinacache services
Introduction to chinacache services
 
China cache IDC Services 201611
China cache IDC Services 201611 China cache IDC Services 201611
China cache IDC Services 201611
 
How Content Delivery Networks Work
How Content Delivery Networks WorkHow Content Delivery Networks Work
How Content Delivery Networks Work
 
Developing a Globally Distributed Purging System
Developing a Globally Distributed Purging SystemDeveloping a Globally Distributed Purging System
Developing a Globally Distributed Purging System
 
What we can learn from CDNs about Web Development, Deployment, and Performance
What we can learn from CDNs about Web Development, Deployment, and PerformanceWhat we can learn from CDNs about Web Development, Deployment, and Performance
What we can learn from CDNs about Web Development, Deployment, and Performance
 
Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...
Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...
Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...
 
It Probably Works
It Probably WorksIt Probably Works
It Probably Works
 
The Fallacy of Fast - Ines Sombra at Fastly Altitude 2015
The Fallacy of Fast - Ines Sombra at Fastly Altitude 2015The Fallacy of Fast - Ines Sombra at Fastly Altitude 2015
The Fallacy of Fast - Ines Sombra at Fastly Altitude 2015
 
Design & Performance - Steve Souders at Fastly Altitude 2015
Design & Performance - Steve Souders at Fastly Altitude 2015Design & Performance - Steve Souders at Fastly Altitude 2015
Design & Performance - Steve Souders at Fastly Altitude 2015
 
Fallacy of Fast
Fallacy of FastFallacy of Fast
Fallacy of Fast
 
Performance Measuring & Monitoring - Catchpoint CEO Mehdi Daoudi at Fastly Al...
Performance Measuring & Monitoring - Catchpoint CEO Mehdi Daoudi at Fastly Al...Performance Measuring & Monitoring - Catchpoint CEO Mehdi Daoudi at Fastly Al...
Performance Measuring & Monitoring - Catchpoint CEO Mehdi Daoudi at Fastly Al...
 
Applying Varnish
Applying VarnishApplying Varnish
Applying Varnish
 
Top 5 Things I've Messed Up in Live Streaming
Top 5 Things I've Messed Up in Live StreamingTop 5 Things I've Messed Up in Live Streaming
Top 5 Things I've Messed Up in Live Streaming
 
Confident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF MeetupConfident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF Meetup
 
It Probably Works - QCon 2015
It Probably Works - QCon 2015It Probably Works - QCon 2015
It Probably Works - QCon 2015
 
Beyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic AnalysisBeyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic Analysis
 
Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...
Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...
Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...
 
Rails Caching: Secrets From the Edge
Rails Caching: Secrets From the EdgeRails Caching: Secrets From the Edge
Rails Caching: Secrets From the Edge
 
The future of the edge
The future of the edge The future of the edge
The future of the edge
 

Similar to Caching the Uncacheable: Leveraging Your CDN to Cache Dynamic Content

Extending Your Applications to the Edge with CDNs
Extending Your Applications to the Edge with CDNsExtending Your Applications to the Edge with CDNs
Extending Your Applications to the Edge with CDNs
Salesforce Developers
 
SPA2015: Hooman Beheshti – The Future of CDNs
SPA2015: Hooman Beheshti – The Future of CDNsSPA2015: Hooman Beheshti – The Future of CDNs
SPA2015: Hooman Beheshti – The Future of CDNs
Fastly
 
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Amazon Web Services
 
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Amazon Web Services
 
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Amazon Web Services
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster WebsiteRayed Alrashed
 
AWS Summit London 2014 | Dynamic Content Acceleration (300)
AWS Summit London 2014 | Dynamic Content Acceleration (300)AWS Summit London 2014 | Dynamic Content Acceleration (300)
AWS Summit London 2014 | Dynamic Content Acceleration (300)
Amazon Web Services
 
What we can learn from CDNs about Web Development, Deployment, and Performance
What we can learn from CDNs about Web Development, Deployment, and PerformanceWhat we can learn from CDNs about Web Development, Deployment, and Performance
What we can learn from CDNs about Web Development, Deployment, and Performance
SergeyChernyshev
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson
Neotys
 
Extending your applications to the edge with CDNs
Extending your applications to the edge with CDNsExtending your applications to the edge with CDNs
Extending your applications to the edge with CDNs
SergeyChernyshev
 
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
nine
 
Hacking Web Performance
Hacking Web Performance Hacking Web Performance
Hacking Web Performance
Maximiliano Firtman
 
Building Lightning Fast Websites (for Twin Cities .NET User Group)
Building Lightning Fast Websites (for Twin Cities .NET User Group)Building Lightning Fast Websites (for Twin Cities .NET User Group)
Building Lightning Fast Websites (for Twin Cities .NET User Group)
strommen
 
Enterprise WordPress - Performance, Scalability and Redundancy
Enterprise WordPress - Performance, Scalability and RedundancyEnterprise WordPress - Performance, Scalability and Redundancy
Enterprise WordPress - Performance, Scalability and Redundancy
John Giaconia
 
Measuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrongMeasuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrong
Fastly
 
Why your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix itWhy your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix it
Robert Flournoy
 
Why your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix itWhy your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix it
strommen
 
Create a Serverless Web Event Pipeline (ADT301) - AWS re:Invent 2018
Create a Serverless Web Event Pipeline (ADT301) - AWS re:Invent 2018Create a Serverless Web Event Pipeline (ADT301) - AWS re:Invent 2018
Create a Serverless Web Event Pipeline (ADT301) - AWS re:Invent 2018
Amazon Web Services
 
Measuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrongMeasuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrong
Fastly
 
12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL
Konstantin Gredeskoul
 

Similar to Caching the Uncacheable: Leveraging Your CDN to Cache Dynamic Content (20)

Extending Your Applications to the Edge with CDNs
Extending Your Applications to the Edge with CDNsExtending Your Applications to the Edge with CDNs
Extending Your Applications to the Edge with CDNs
 
SPA2015: Hooman Beheshti – The Future of CDNs
SPA2015: Hooman Beheshti – The Future of CDNsSPA2015: Hooman Beheshti – The Future of CDNs
SPA2015: Hooman Beheshti – The Future of CDNs
 
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
 
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
 
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster Website
 
AWS Summit London 2014 | Dynamic Content Acceleration (300)
AWS Summit London 2014 | Dynamic Content Acceleration (300)AWS Summit London 2014 | Dynamic Content Acceleration (300)
AWS Summit London 2014 | Dynamic Content Acceleration (300)
 
What we can learn from CDNs about Web Development, Deployment, and Performance
What we can learn from CDNs about Web Development, Deployment, and PerformanceWhat we can learn from CDNs about Web Development, Deployment, and Performance
What we can learn from CDNs about Web Development, Deployment, and Performance
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson
 
Extending your applications to the edge with CDNs
Extending your applications to the edge with CDNsExtending your applications to the edge with CDNs
Extending your applications to the edge with CDNs
 
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
 
Hacking Web Performance
Hacking Web Performance Hacking Web Performance
Hacking Web Performance
 
Building Lightning Fast Websites (for Twin Cities .NET User Group)
Building Lightning Fast Websites (for Twin Cities .NET User Group)Building Lightning Fast Websites (for Twin Cities .NET User Group)
Building Lightning Fast Websites (for Twin Cities .NET User Group)
 
Enterprise WordPress - Performance, Scalability and Redundancy
Enterprise WordPress - Performance, Scalability and RedundancyEnterprise WordPress - Performance, Scalability and Redundancy
Enterprise WordPress - Performance, Scalability and Redundancy
 
Measuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrongMeasuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrong
 
Why your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix itWhy your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix it
 
Why your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix itWhy your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix it
 
Create a Serverless Web Event Pipeline (ADT301) - AWS re:Invent 2018
Create a Serverless Web Event Pipeline (ADT301) - AWS re:Invent 2018Create a Serverless Web Event Pipeline (ADT301) - AWS re:Invent 2018
Create a Serverless Web Event Pipeline (ADT301) - AWS re:Invent 2018
 
Measuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrongMeasuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrong
 
12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL
 

More from Fastly

Revisiting HTTP/2
Revisiting HTTP/2Revisiting HTTP/2
Revisiting HTTP/2
Fastly
 
Altitude San Francisco 2018: Preparing for Video Streaming Events at Scale
Altitude San Francisco 2018: Preparing for Video Streaming Events at ScaleAltitude San Francisco 2018: Preparing for Video Streaming Events at Scale
Altitude San Francisco 2018: Preparing for Video Streaming Events at Scale
Fastly
 
Altitude San Francisco 2018: Building the Souther Hemisphere of the Internet
Altitude San Francisco 2018: Building the Souther Hemisphere of the InternetAltitude San Francisco 2018: Building the Souther Hemisphere of the Internet
Altitude San Francisco 2018: Building the Souther Hemisphere of the Internet
Fastly
 
Altitude San Francisco 2018: The World Cup Stream
Altitude San Francisco 2018: The World Cup StreamAltitude San Francisco 2018: The World Cup Stream
Altitude San Francisco 2018: The World Cup Stream
Fastly
 
Altitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: We Own Our DestinyAltitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: We Own Our Destiny
Fastly
 
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
Fastly
 
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless MigrationAltitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
Fastly
 
Altitude San Francisco 2018: Bringing TLS to GitHub Pages
Altitude San Francisco 2018: Bringing TLS to GitHub PagesAltitude San Francisco 2018: Bringing TLS to GitHub Pages
Altitude San Francisco 2018: Bringing TLS to GitHub Pages
Fastly
 
Altitude San Francisco 2018: HTTP Invalidation Workshop
Altitude San Francisco 2018: HTTP Invalidation WorkshopAltitude San Francisco 2018: HTTP Invalidation Workshop
Altitude San Francisco 2018: HTTP Invalidation Workshop
Fastly
 
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and WoeAltitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Fastly
 
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Fastly
 
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per day
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per dayAltitude San Francisco 2018: Scaling Ethereum to 10B requests per day
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per day
Fastly
 
Altitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the EdgeAltitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the Edge
Fastly
 
Altitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & ApplicationsAltitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & Applications
Fastly
 
Altitude San Francisco 2018: Testing with Fastly Workshop
Altitude San Francisco 2018: Testing with Fastly WorkshopAltitude San Francisco 2018: Testing with Fastly Workshop
Altitude San Francisco 2018: Testing with Fastly Workshop
Fastly
 
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORKAltitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
Fastly
 
Altitude San Francisco 2018: WAF Workshop
Altitude San Francisco 2018: WAF WorkshopAltitude San Francisco 2018: WAF Workshop
Altitude San Francisco 2018: WAF Workshop
Fastly
 
Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge
Fastly
 
Altitude San Francisco 2018: Video Workshop Docs
Altitude San Francisco 2018: Video Workshop DocsAltitude San Francisco 2018: Video Workshop Docs
Altitude San Francisco 2018: Video Workshop Docs
Fastly
 
Altitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeAltitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the Edge
Fastly
 

More from Fastly (20)

Revisiting HTTP/2
Revisiting HTTP/2Revisiting HTTP/2
Revisiting HTTP/2
 
Altitude San Francisco 2018: Preparing for Video Streaming Events at Scale
Altitude San Francisco 2018: Preparing for Video Streaming Events at ScaleAltitude San Francisco 2018: Preparing for Video Streaming Events at Scale
Altitude San Francisco 2018: Preparing for Video Streaming Events at Scale
 
Altitude San Francisco 2018: Building the Souther Hemisphere of the Internet
Altitude San Francisco 2018: Building the Souther Hemisphere of the InternetAltitude San Francisco 2018: Building the Souther Hemisphere of the Internet
Altitude San Francisco 2018: Building the Souther Hemisphere of the Internet
 
Altitude San Francisco 2018: The World Cup Stream
Altitude San Francisco 2018: The World Cup StreamAltitude San Francisco 2018: The World Cup Stream
Altitude San Francisco 2018: The World Cup Stream
 
Altitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: We Own Our DestinyAltitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: We Own Our Destiny
 
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
 
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless MigrationAltitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
 
Altitude San Francisco 2018: Bringing TLS to GitHub Pages
Altitude San Francisco 2018: Bringing TLS to GitHub PagesAltitude San Francisco 2018: Bringing TLS to GitHub Pages
Altitude San Francisco 2018: Bringing TLS to GitHub Pages
 
Altitude San Francisco 2018: HTTP Invalidation Workshop
Altitude San Francisco 2018: HTTP Invalidation WorkshopAltitude San Francisco 2018: HTTP Invalidation Workshop
Altitude San Francisco 2018: HTTP Invalidation Workshop
 
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and WoeAltitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
 
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
 
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per day
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per dayAltitude San Francisco 2018: Scaling Ethereum to 10B requests per day
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per day
 
Altitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the EdgeAltitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the Edge
 
Altitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & ApplicationsAltitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & Applications
 
Altitude San Francisco 2018: Testing with Fastly Workshop
Altitude San Francisco 2018: Testing with Fastly WorkshopAltitude San Francisco 2018: Testing with Fastly Workshop
Altitude San Francisco 2018: Testing with Fastly Workshop
 
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORKAltitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
 
Altitude San Francisco 2018: WAF Workshop
Altitude San Francisco 2018: WAF WorkshopAltitude San Francisco 2018: WAF Workshop
Altitude San Francisco 2018: WAF Workshop
 
Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge
 
Altitude San Francisco 2018: Video Workshop Docs
Altitude San Francisco 2018: Video Workshop DocsAltitude San Francisco 2018: Video Workshop Docs
Altitude San Francisco 2018: Video Workshop Docs
 
Altitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeAltitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the Edge
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 

Recently uploaded (20)

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 

Caching the Uncacheable: Leveraging Your CDN to Cache Dynamic Content

  • 1. Caching  The   Uncacheable:     Leveraging  Your  CDN  to  Cache  Dynamic   Content   Hooman  Behesh+,  VP  Technology  
  • 2. Dynamic  Content  Is  Really   Interes=ng!  
  • 3. What  Is  Dynamic  Content?   •  Stuff  that’s  not  sta+c!   •  With  web  traffic,  generally  the  base  HTML   –  Big  deal  because  it’s  blocking   –  And  some+mes  the  largest  object  à  longer  download   •  Could  be  other  things  too   –  AJAX  calls   –  API  calls   •  More…  
  • 4.
  • 6.
  • 7.
  • 8. Classically,  with  dynamic  content…   Caching  
  • 9. Dynamic  Content  Caching  Problems   •  Serving  stale  pages   – Lack  of  good  invalida+on  framework    
  • 10. Caching     vs.     Invalida=on  
  • 11.
  • 12.
  • 13.
  • 15. Dynamic  Content  Caching  Problems   •  Serving  stale  pages   – Lack  of  good  invalida+on  framework    
  • 16. Dynamic  Content  Caching  Problems   •  Serving  stale  pages   – Lack  of  good  invalida+on  framework   •  Real-­‐+me  visibility   – Real-­‐+me  analy+cs/stats   – Real-­‐+me  logging    
  • 17. CDNs  and  Dynamic  Content   •  Generally,  handling  dynamic  content  has  been   a  maRer  of  transport   – Op+mize  from-­‐origin  delivery   – “DSA”  (Dynamic  Site  Accelera+on)   – Middle  mile  op+miza+ons   – TCP  tweaks  
  • 18. Dynamic  Content,  Tradi=onally   CDN  Node   Client   Origin   Some  TCP  Tweaks  
  • 19. Dynamic  Content,  Tradi=onally   CDN  Node   CDN  Node   Client   Origin   Lots  of  TCP  Tweaks  
  • 20. Dynamic  Content,  Tradi=onally   •  We  some+mes  do  micro  caching  of  HTML   –  Short  TTL  for  HTML  content   –  Not  full  proof   •  Ex:  news  stories  faux-­‐pas!   •  ESI  (Edge  Side  Includes)   –  Par+al  caching   –  Hard  and  onerous    
  • 21. Actually…   •  Dynamic  content  is  more  cacheable  than  we   think   •  Sta+c  for  short  periods  of  +me   •  Unpredictable  invalida+on   –  Standard  HTTP  caching  rules  aren’t  good  enough  
  • 22. A  Lot  BeMer!   CDN  Node   CDN  Node   Client   Origin  
  • 23.
  • 25.
  • 26.
  • 27. So  Many  Benefits!   •  Performance   –  Faster  +me  to  first  byte   –  Faster  start  render   –  Happy  users!   •  Offload   –  Less  work  for  our  servers   –  Less  bandwidth  at  origin  
  • 28. What  would  make  it  beMer?  
  • 29. Programma=c  Invalida=on   •  Invalida+on  API   •  Granular   •  Instantaneous   – Big  problem  with  classic  CDNs  (mul+-­‐minute   purges)  
  • 30. Power  of  the  Purge!   •  Instant  purging:   – As  a  page  gets  published,  a  purge  command  also   gets  published   – Instant  means:  predictable  and  determinis+c   behavior    
  • 31. Power  of  the  Purge!   •  Purge  dependencies   – Surrogate  Keys   – Using  tags  to  purge  en+re  chunks  of  content  at   once    
  • 32. More  than  just  Invalida=on…  
  • 33. The  Influence  of  Clouds   •  The  CDN  is  an  extension  of  the  app   •  No  longer  a  black  box   •  Real-­‐+me  integra+on  with  the  app   •  Infrastructure  as  code   – Your  content  =>  You  need  control  
  • 34. Control   •  Programmability   – Configura+on  API   – Invalida+on  API   – Instantaneous  and  real  +me   – Granular  caching   •  Ex:  Geo-­‐based  caching  
  • 35. Control  at  the  Edge   •  Moving  app  logic  to  the  edge   •  VCL   – Varnish  Configura+on  Language   – Script-­‐like  configura+on  for  func+onality  at  the   edge  
  • 36. Visibility   •  Real  +me  analy+cs   –  Network  stats   –  HTTP  stats  (status  codes  ,  etc)   –  Caching  stats  (hits,  misses,  etc)   –  Stats  API   •  Logging   –  Real  +me  logs   –  Streaming  to  various  log  des+na+ons  
  • 37. Example:   CMS  +  Purge  
  • 42. WordPress:  Before   CDN  Node   Cache  
  • 43.
  • 45. WordPress:  AWer   CDN  Node   HTTP/1.1 200 OK Content-Type: text/html Content-Length: 55,666 Cache-Control: Long Time, totally!
  • 48. WordPress:  AWer   CDN  Node   PURGE  
  • 49. WordPress:  AWer   CDN  Node   PURGE  
  • 50. WordPress:  AWer   CDN  Node   PURGE   (Has  to  be  instantaneous!)  
  • 51. WordPress:  AWer   CDN  Node   HTTP/1.1 200 OK Content-Type: text/html Content-Length: 55,666 Cache-Control: Long Time, totally!
  • 52. Example:   Beacon  Termina=on  at  the  Edge  
  • 53. Before   CDN  Node   Origin   Log  Analysis   http://collector.site.com/beacon.img?a=1&b=2&c=3
  • 54. Before   CDN  Node   Origin   Log  Analysis   http://collector.site.com/beacon.img?a=1&b=2&c=3
  • 55. Before   CDN  Node   Origin   Log  Analysis   HTTP/1.1 200 OK Pragma: no-cache Expires: Wed, 19 Apr 2000 11:43:00 GMT Cache-Control: no-cache, no-store Last-Modified: Wed, 21 Jan 2004 19:51:30 GMT Content-Type: image/gif Date: Fri, 20 Jun 2014 12:22:20 GMT Server: Apache Content-Length: 35 http://collector.site.com/beacon.img?a=1&b=2&c=3
  • 56. Before   CDN  Node   Origin   Log  Analysis   HTTP/1.1 200 OK Pragma: no-cache Expires: Wed, 19 Apr 2000 11:43:00 GMT Cache-Control: no-cache, no-store Last-Modified: Wed, 21 Jan 2004 19:51:30 GMT Content-Type: image/gif Date: Fri, 20 Jun 2014 12:22:20 GMT Server: Apache Content-Length: 35 http://collector.site.com/beacon.img?a=1&b=2&c=3
  • 57. AWer   CDN  Node   Origin   http://collector.site.com/beacon.img?a=1&b=2&c=3
  • 58. AWer   CDN  Node   Origin   HTTP/1.1 200 OK Pragma: no-cache Expires: Wed, 19 Apr 2000 11:43:00 GMT Cache-Control: no-cache, no-store Last-Modified: Wed, 21 Jan 2004 19:51:30 GMT Content-Type: image/gif Date: Fri, 20 Jun 2014 12:22:20 GMT Server: Apache Content-Length: 35 http://collector.site.com/beacon.img?a=1&b=2&c=3
  • 59. AWer   CDN  Node   Origin   HTTP/1.1 204 No Content Date: Sat, 21 Jun 2014 23:21:12 GMT Server: Awesome Server Content-Length: 0 http://collector.site.com/beacon.img?a=1&b=2&c=3
  • 60. AWer   CDN  Node   Origin   Syslog  /  S3  /  FTP/etc   http://collector.site.com/beacon.img?a=1&b=2&c=3
  • 62. JSON  Data  Center  ID   CDN  Node   Origin   http://www.site.com/which_datacenter.js
  • 63. JSON  Data  Center  ID   CDN  Node   Origin   { ‘datacenter’ : ‘SJC’ } http://www.site.com/which_datacenter.js
  • 65. More  Examples   •  Caching  with  tracking  cookies:   –  hRp://www.fastly.com/blog/how-­‐to-­‐cache-­‐with-­‐ tracking-­‐cookies   •  API  Caching:   –  hRp://www.fastly.com/blog/api-­‐caching-­‐part-­‐iii  (part   3,  with  links  to  previous  two  parts)   •  Log  Streaming:   –  hRp://www.fastly.com/blog/+ps-­‐for-­‐streaming-­‐logs    
  • 67. Summary   •  Dynamic  content  can  be  cached   –  We  need  instant  purging   –  We  need  real-­‐+me  logs  and  stats   •  Real-­‐+me  integra+on  of  our  CDN  with  our  app  is  cool!   –  Extensive/granular  API  to  control  the  CDN   –  Control  and  visibility  at  the  edge  lets  us  be  really  crea+ve   •  Never  use  “Long Time, totally!” in  a  Cache-Control header!