SlideShare a Scribd company logo
1 of 101
Download to read offline
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 
a 
large 
object 
à 
longer 
download
Blocking
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 
a 
large 
object 
à 
longer 
download 
• Could 
be 
other 
things 
too 
– AJAX 
calls 
– API 
calls 
• More…
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/tracking
So… 
Caching
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 
via 
Cache-­‐Control 
– 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 
shorter 
periods 
of 
+me 
• Unpredictable 
invalida+on 
– Standard 
HTTP 
caching 
rules 
aren’t 
good 
enough
A 
Lot 
BeLer! 
CDN 
Node 
CDN 
Node 
Client 
Origin
No 
CDN
CDN 
(sta<c)
Blocking 
CDN 
(sta<c)
CDN 
(sta<c)
CDN 
(sta<c 
+ 
dynamic)
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 
beLer?
Programma<c 
Invalida<on 
• Invalida+on 
API 
• Granular 
– Specific 
URL 
– URL 
groups 
– All 
– Etc…
Purge 
• As 
a 
page 
gets 
published/updated, 
a 
purge 
command 
also 
gets 
published 
• Must 
be 
Instant! 
• Big 
problem 
with 
classic 
CDNs 
– mul+-­‐minute 
purges! 
– Ex: 
News 
story, 
part 
2
Instant? 
• IS 
NOT: 
– 12 
minutes! 
– quick 
acknowledgment! 
• IS: 
– <1sec 
– predictable 
and 
determinis+c 
behavior 
– (has 
to 
also 
include 
propaga+on)
Power 
of 
the 
Purge! 
• Purge 
dependencies 
– Surrogate 
Keys 
– Using 
tags/labels 
to 
purge 
en+re 
chunks 
of 
content 
at 
once
Not 
totally 
obsolete!
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: 
AVer 
CDN 
Node
WordPress: 
AVer 
CDN 
Node 
HTTP/1.1 200 OK 
Content-Type: text/html 
Content-Length: 55,666 
Cache-Control: Totally Long Time!
WordPress: 
AVer 
CDN 
Node 
HTTP/1.1 200 OK 
Content-Type: text/html 
Content-Length: 55,666 
Cache-Control: Totally Long Time!
WordPress: 
AVer 
CDN 
Node
WordPress: 
AVer 
CDN 
Node
WordPress: 
AVer 
CDN 
Node 
PURGE
WordPress: 
AVer 
CDN 
Node 
PURGE
WordPress: 
AVer 
CDN 
Node 
(Has 
to 
be 
instantaneous!) 
PURGE
WordPress: 
AVer 
CDN 
Node 
HTTP/1.1 200 OK 
Content-Type: text/html 
Content-Length: 55,666 
Cache-Control: Totally Long Time!
WordPress: 
AVer 
CDN 
Node
Example: 
customer1.js
Before 
CDN 
Node 
Origin 
http://www.3rdparty.com/customer1.js 
(Referer: www.customer1.com)
Before 
CDN 
Node 
Origin 
http://www.3rdparty.com/customer1.js
Before 
CDN 
Node 
Origin 
HTTP/1.1 200 OK 
Cache-Control: max-age=60 
Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT 
Content-Type: application/javascript 
Date: Thu, 25 Sep 2014 12:22:20 GMT 
Server: Apache 
Content-Length: 7835 
http://www.3rdparty.com/customer1.js
Before 
CDN 
Node 
Origin 
HTTP/1.1 200 OK 
Cache-Control: max-age=60 
Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT 
Content-Type: application/javascript 
Date: Thu, 25 Sep 2014 12:22:20 GMT 
Server: Apache 
Content-Length: 7835 
http://www.3rdparty.com/customer1.js
Before 
http://www.3rdparty.com/customer1.js 
CDN 
Node 
Origin 
HTTP/1.1 200 OK 
Cache-Control: max-age=60 
Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT 
Content-Type: application/javascript 
Date: Thu, 25 Sep 2014 12:22:20 GMT 
Server: Apache 
Content-Length: 7835
Before 
CDN 
Node 
Origin 
http://www.3rdparty.com/customer1.js 
(Ager 
1 
min)
Before 
CDN 
Node 
Origin 
(Ager 
1 
min) 
http://www.3rdparty.com/customer1.js VALIDATION 
If-Modified-Since: Wed, 24 Sep 2014 
19:51:30 GMT
Before 
CDN 
Node 
Origin 
http://www.3rdparty.com/customer1.js 
(Ager 
1 
min) 
304 Not Modified
Before 
CDN 
Node 
Origin 
http://www.3rdparty.com/customer1.js 
(Ager 
1 
min) 
304 Not Modified
AVer 
CDN 
Node 
Origin 
http://www.3rdparty.com/customer1.js
AVer 
CDN 
Node 
Origin 
http://www.3rdparty.com/customer1.js
AVer 
CDN 
Node 
Origin 
HTTP/1.1 200 OK 
Cache-Control: max-age=60, s-maxage=2592000 
Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT 
Content-Type: application/javascript 
Date: Thu, 25 Sep 2014 12:22:20 GMT 
Server: Apache 
Content-Length: 7835 
http://www.3rdparty.com/customer1.js
AVer 
CDN 
Node 
Origin 
HTTP/1.1 200 OK 
Cache-Control: max-age=60, s-maxage=2592000 
Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT 
Content-Type: application/javascript 
Date: Thu, 25 Sep 2014 12:22:20 GMT 
Server: Apache 
Content-Length: 7835 
http://www.3rdparty.com/customer1.js
AVer 
http://www.3rdparty.com/customer1.js 
CDN 
Node 
Origin 
HTTP/1.1 200 OK 
Cache-Control: max-age=60, s-maxage=2592000 
Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT 
Content-Type: application/javascript 
Date: Thu, 25 Sep 2014 12:22:20 GMT 
Server: Apache 
Content-Length: 7835
AVer 
CDN 
Node 
Origin 
http://www.3rdparty.com/customer1.js 
(Ager 
1 
min)
AVer 
CDN 
Node 
Origin 
http://www.3rdparty.com/customer1.js 
(Ager 
1 
min)
This 
happens 
many 
many 
<mes! 
(many 
many 
happy 
visitors!)
AVer 
CDN 
Node 
Origin 
Customer1 
changes 
config 
(Ager 
1 
min)
AVer 
CDN 
Node 
Origin 
PURGE 
customer1.js 
Customer1 
changes 
config 
(Ager 
1 
min)
AVer 
CDN 
Node 
Origin 
PURGE 
customer1.js 
Customer1 
changes 
config 
(Ager 
1 
min)
AVer 
CDN 
Node 
Origin 
http://www.3rdparty.com/customer1.js 
(Ager 
1 
min)
AVer 
CDN 
Node 
Origin 
http://www.3rdparty.com/customer1.js 
(Ager 
1 
min) 
HTTP/1.1 200 OK 
Cache-Control: max-age=60, s-maxage=2592000 
Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT 
Content-Type: application/javascript 
Date: Thu, 25 Sep 2014 12:22:20 GMT 
Server: Apache 
Content-Length: 7835
AVer 
http://www.3rdparty.com/customer1.js 
CDN 
Node 
Origin 
HTTP/1.1 200 OK 
Cache-Control: max-age=60, s-maxage=2592000 
Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT 
Content-Type: application/javascript 
Date: Thu, 25 Sep 2014 12:22:20 GMT 
Server: Apache 
Content-Length: 7835 
(Ager 
1 
min)
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
Caching 
Control 
• Granular 
caching 
– Dynamic 
caching 
– flexible 
cache 
keys 
– etc 
• 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: 
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 
http://collector.site.com/beacon.img?a=1&b=2&c=3 
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
Before 
http://collector.site.com/beacon.img?a=1&b=2&c=3 
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
AVer 
CDN 
Node 
Origin 
http://collector.site.com/beacon.img?a=1&b=2&c=3
AVer 
http://collector.site.com/beacon.img?a=1&b=2&c=3 
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
AVer 
http://collector.site.com/beacon.img?a=1&b=2&c=3 
CDN 
Node 
Origin 
HTTP/1.1 204 No Content 
Date: Sat, 21 Jun 2014 23:21:12 GMT 
Server: Awesome Server 
Content-Length: 0
AVer 
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 
http://www.site.com/which_datacenter.js 
CDN 
Node 
Origin 
{ ‘datacenter’ : ‘SJC’ }
VCL 
Snippet
JSON 
Geo 
IP 
http://www.site.com/geo_ip.js 
CDN 
Node 
Origin 
{ 
“city” : “New York”, 
“state”: “New York”, 
“country”: “United States”, 
“ip”: “173.18.14.237” 
}
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 
“Totally Long Time!” in 
a 
Cache-Control 
header!
Thank 
you! 
hooman@fastly.com

More Related Content

What's hot

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 EC2SergeyChernyshev
 
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
 
Amazon CloudFront Best Practices and Anti-patterns
Amazon CloudFront  Best Practices and Anti-patternsAmazon CloudFront  Best Practices and Anti-patterns
Amazon CloudFront Best Practices and Anti-patternsAbhishek Tiwari
 
Building a better web
Building a better webBuilding a better web
Building a better webFastly
 
(NET308) Consolidating DNS Data in the Cloud with Amazon Route 53
(NET308) Consolidating DNS Data in the Cloud with Amazon Route 53(NET308) Consolidating DNS Data in the Cloud with Amazon Route 53
(NET308) Consolidating DNS Data in the Cloud with Amazon Route 53Amazon Web Services
 
Dynamic Content Acceleration: Fast Web Apps with Amazon CloudFront and Amazon...
Dynamic Content Acceleration: Fast Web Apps with Amazon CloudFront and Amazon...Dynamic Content Acceleration: Fast Web Apps with Amazon CloudFront and Amazon...
Dynamic Content Acceleration: Fast Web Apps with Amazon CloudFront and Amazon...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
 
Usenix LISA 2012 - Choosing a Proxy
Usenix LISA 2012 - Choosing a ProxyUsenix LISA 2012 - Choosing a Proxy
Usenix LISA 2012 - Choosing a ProxyLeif Hedstrom
 
Caching the uncacheable with Varnish - DevDays 2021
Caching the uncacheable with Varnish - DevDays 2021Caching the uncacheable with Varnish - DevDays 2021
Caching the uncacheable with Varnish - DevDays 2021Thijs Feryn
 
Use case for using the ElastiCache for Redis in production
Use case for using the ElastiCache for Redis in productionUse case for using the ElastiCache for Redis in production
Use case for using the ElastiCache for Redis in production知教 本間
 
NGINX High-performance Caching
NGINX High-performance CachingNGINX High-performance Caching
NGINX High-performance CachingNGINX, Inc.
 
Build your own CDN with Varnish - Confoo 2022
Build your own CDN with Varnish - Confoo 2022Build your own CDN with Varnish - Confoo 2022
Build your own CDN with Varnish - Confoo 2022Thijs Feryn
 
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 ClusteringFastly
 
Plack basics for Perl websites - YAPC::EU 2011
Plack basics for Perl websites - YAPC::EU 2011Plack basics for Perl websites - YAPC::EU 2011
Plack basics for Perl websites - YAPC::EU 2011leo lapworth
 
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...Amazon Web Services
 
Where Django Caching Bust at the Seams
Where Django Caching Bust at the SeamsWhere Django Caching Bust at the Seams
Where Django Caching Bust at the SeamsConcentric Sky
 
HTTP cache @ PUG Rome 03-29-2011
HTTP cache @ PUG Rome 03-29-2011HTTP cache @ PUG Rome 03-29-2011
HTTP cache @ PUG Rome 03-29-2011Alessandro Nadalin
 
AWS Webinar - Intro to Amazon Cloudfront 13-09-17
AWS Webinar -  Intro to Amazon Cloudfront 13-09-17AWS Webinar -  Intro to Amazon Cloudfront 13-09-17
AWS Webinar - Intro to Amazon Cloudfront 13-09-17Amazon Web Services
 
Speeding up delivery of web content using Amazon Route 53, Elastic Load Balan...
Speeding up delivery of web content using Amazon Route 53, Elastic Load Balan...Speeding up delivery of web content using Amazon Route 53, Elastic Load Balan...
Speeding up delivery of web content using Amazon Route 53, Elastic Load Balan...Tom Laszewski
 
Amazon CloudFront - Delivering Dynamic Content From The Edge
Amazon CloudFront - Delivering Dynamic Content From The EdgeAmazon CloudFront - Delivering Dynamic Content From The Edge
Amazon CloudFront - Delivering Dynamic Content From The EdgeAmazon Web Services
 

What's hot (20)

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
 
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 CloudFront Best Practices and Anti-patterns
Amazon CloudFront  Best Practices and Anti-patternsAmazon CloudFront  Best Practices and Anti-patterns
Amazon CloudFront Best Practices and Anti-patterns
 
Building a better web
Building a better webBuilding a better web
Building a better web
 
(NET308) Consolidating DNS Data in the Cloud with Amazon Route 53
(NET308) Consolidating DNS Data in the Cloud with Amazon Route 53(NET308) Consolidating DNS Data in the Cloud with Amazon Route 53
(NET308) Consolidating DNS Data in the Cloud with Amazon Route 53
 
Dynamic Content Acceleration: Fast Web Apps with Amazon CloudFront and Amazon...
Dynamic Content Acceleration: Fast Web Apps with Amazon CloudFront and Amazon...Dynamic Content Acceleration: Fast Web Apps with Amazon CloudFront and Amazon...
Dynamic Content Acceleration: Fast Web Apps with Amazon CloudFront and Amazon...
 
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 ...
 
Usenix LISA 2012 - Choosing a Proxy
Usenix LISA 2012 - Choosing a ProxyUsenix LISA 2012 - Choosing a Proxy
Usenix LISA 2012 - Choosing a Proxy
 
Caching the uncacheable with Varnish - DevDays 2021
Caching the uncacheable with Varnish - DevDays 2021Caching the uncacheable with Varnish - DevDays 2021
Caching the uncacheable with Varnish - DevDays 2021
 
Use case for using the ElastiCache for Redis in production
Use case for using the ElastiCache for Redis in productionUse case for using the ElastiCache for Redis in production
Use case for using the ElastiCache for Redis in production
 
NGINX High-performance Caching
NGINX High-performance CachingNGINX High-performance Caching
NGINX High-performance Caching
 
Build your own CDN with Varnish - Confoo 2022
Build your own CDN with Varnish - Confoo 2022Build your own CDN with Varnish - Confoo 2022
Build your own CDN with Varnish - Confoo 2022
 
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
 
Plack basics for Perl websites - YAPC::EU 2011
Plack basics for Perl websites - YAPC::EU 2011Plack basics for Perl websites - YAPC::EU 2011
Plack basics for Perl websites - YAPC::EU 2011
 
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
 
Where Django Caching Bust at the Seams
Where Django Caching Bust at the SeamsWhere Django Caching Bust at the Seams
Where Django Caching Bust at the Seams
 
HTTP cache @ PUG Rome 03-29-2011
HTTP cache @ PUG Rome 03-29-2011HTTP cache @ PUG Rome 03-29-2011
HTTP cache @ PUG Rome 03-29-2011
 
AWS Webinar - Intro to Amazon Cloudfront 13-09-17
AWS Webinar -  Intro to Amazon Cloudfront 13-09-17AWS Webinar -  Intro to Amazon Cloudfront 13-09-17
AWS Webinar - Intro to Amazon Cloudfront 13-09-17
 
Speeding up delivery of web content using Amazon Route 53, Elastic Load Balan...
Speeding up delivery of web content using Amazon Route 53, Elastic Load Balan...Speeding up delivery of web content using Amazon Route 53, Elastic Load Balan...
Speeding up delivery of web content using Amazon Route 53, Elastic Load Balan...
 
Amazon CloudFront - Delivering Dynamic Content From The Edge
Amazon CloudFront - Delivering Dynamic Content From The EdgeAmazon CloudFront - Delivering Dynamic Content From The Edge
Amazon CloudFront - Delivering Dynamic Content From The Edge
 

Viewers also liked

Migrating Target to Fastly - Eddie Roger at Fastly Altitude 2015
Migrating Target to Fastly - Eddie Roger at Fastly Altitude 2015Migrating Target to Fastly - Eddie Roger at Fastly Altitude 2015
Migrating Target to Fastly - Eddie Roger at Fastly Altitude 2015Fastly
 
World Wide Web Caching
World Wide Web CachingWorld Wide Web Caching
World Wide Web Cachingersanbilik
 
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 PerformanceSergeyChernyshev
 
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 2015Fastly
 
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
 
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 StreamingFastly
 
It Probably Works - QCon 2015
It Probably Works - QCon 2015It Probably Works - QCon 2015
It Probably Works - QCon 2015Fastly
 
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 2015Fastly
 
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
 
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
 
Fallacy of Fast
Fallacy of FastFallacy of Fast
Fallacy of FastFastly
 
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 AnalysisFastly
 
Applying Varnish
Applying VarnishApplying Varnish
Applying VarnishFastly
 
It Probably Works
It Probably WorksIt Probably Works
It Probably WorksFastly
 
Developing a Globally Distributed Purging System
Developing a Globally Distributed Purging SystemDeveloping a Globally Distributed Purging System
Developing a Globally Distributed Purging SystemFastly
 
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 PerformanceFastly
 
Confident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF MeetupConfident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF MeetupFastly
 
Rails Caching: Secrets From the Edge
Rails Caching: Secrets From the EdgeRails Caching: Secrets From the Edge
Rails Caching: Secrets From the EdgeFastly
 
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)

Migrating Target to Fastly - Eddie Roger at Fastly Altitude 2015
Migrating Target to Fastly - Eddie Roger at Fastly Altitude 2015Migrating Target to Fastly - Eddie Roger at Fastly Altitude 2015
Migrating Target to Fastly - Eddie Roger at Fastly Altitude 2015
 
World Wide Web Caching
World Wide Web CachingWorld Wide Web Caching
World Wide Web Caching
 
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
 
Why care about a CDN?
Why care about a CDN?Why care about a CDN?
Why care about a CDN?
 
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
 
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...
 
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
 
It Probably Works - QCon 2015
It Probably Works - QCon 2015It Probably Works - QCon 2015
It Probably Works - QCon 2015
 
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
 
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...
 
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...
 
Fallacy of Fast
Fallacy of FastFallacy of Fast
Fallacy of Fast
 
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
 
Applying Varnish
Applying VarnishApplying Varnish
Applying Varnish
 
It Probably Works
It Probably WorksIt Probably Works
It Probably Works
 
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
 
Confident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF MeetupConfident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF Meetup
 
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 [Long Version]

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
 
AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...
AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...
AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...AWS Germany
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster WebsiteRayed Alrashed
 
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
 
Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014bryan_call
 
I Can Haz More Performanz?
I Can Haz More Performanz?I Can Haz More Performanz?
I Can Haz More Performanz?Andy Melichar
 
Cloud Architecture Tutorial - Running in the Cloud (3of3)
Cloud Architecture Tutorial - Running in the Cloud (3of3)Cloud Architecture Tutorial - Running in the Cloud (3of3)
Cloud Architecture Tutorial - Running in the Cloud (3of3)Adrian Cockcroft
 
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 CDNsFastly
 
HCL Nomad Web 101: Skip the Mistakes and Get on the Fast Track
HCL Nomad Web 101: Skip the Mistakes and Get on the Fast TrackHCL Nomad Web 101: Skip the Mistakes and Get on the Fast Track
HCL Nomad Web 101: Skip the Mistakes and Get on the Fast Trackpanagenda
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
 
Reducing latency on the web with the Azure CDN - DevSum - SWAG
Reducing latency on the web with the Azure CDN - DevSum - SWAGReducing latency on the web with the Azure CDN - DevSum - SWAG
Reducing latency on the web with the Azure CDN - DevSum - SWAGMaarten Balliauw
 
Scale Your Application while Improving Performance and Lowering Costs (SVC203...
Scale Your Application while Improving Performance and Lowering Costs (SVC203...Scale Your Application while Improving Performance and Lowering Costs (SVC203...
Scale Your Application while Improving Performance and Lowering Costs (SVC203...Amazon Web Services
 
Getting a Grip on CDN Performance - Why and How
Getting a Grip on CDN Performance - Why and HowGetting a Grip on CDN Performance - Why and How
Getting a Grip on CDN Performance - Why and HowAaron Peters
 
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 wrongFastly
 
Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...
Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...
Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...Amazon Web Services
 
109. Arquitecturas Escalables con GX
109. Arquitecturas Escalables con GX109. Arquitecturas Escalables con GX
109. Arquitecturas Escalables con GXGeneXus
 
SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...
SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...
SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...Amazon Web Services
 
AcornCache Presentation at Boston Ruby Group
AcornCache Presentation at Boston Ruby GroupAcornCache Presentation at Boston Ruby Group
AcornCache Presentation at Boston Ruby GroupVince DeVendra
 
Reducing latency on the web with the Azure CDN- TechDays NL 2014
Reducing latency on the web with the Azure CDN- TechDays NL 2014Reducing latency on the web with the Azure CDN- TechDays NL 2014
Reducing latency on the web with the Azure CDN- TechDays NL 2014Maarten Balliauw
 

Similar to Caching the Uncacheable [Long Version] (20)

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)
 
AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...
AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...
AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster Website
 
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...
 
Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014
 
I Can Haz More Performanz?
I Can Haz More Performanz?I Can Haz More Performanz?
I Can Haz More Performanz?
 
Cloud Architecture Tutorial - Running in the Cloud (3of3)
Cloud Architecture Tutorial - Running in the Cloud (3of3)Cloud Architecture Tutorial - Running in the Cloud (3of3)
Cloud Architecture Tutorial - Running in the Cloud (3of3)
 
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
 
HCL Nomad Web 101: Skip the Mistakes and Get on the Fast Track
HCL Nomad Web 101: Skip the Mistakes and Get on the Fast TrackHCL Nomad Web 101: Skip the Mistakes and Get on the Fast Track
HCL Nomad Web 101: Skip the Mistakes and Get on the Fast Track
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
Reducing latency on the web with the Azure CDN - DevSum - SWAG
Reducing latency on the web with the Azure CDN - DevSum - SWAGReducing latency on the web with the Azure CDN - DevSum - SWAG
Reducing latency on the web with the Azure CDN - DevSum - SWAG
 
Scale Your Application while Improving Performance and Lowering Costs (SVC203...
Scale Your Application while Improving Performance and Lowering Costs (SVC203...Scale Your Application while Improving Performance and Lowering Costs (SVC203...
Scale Your Application while Improving Performance and Lowering Costs (SVC203...
 
Getting a Grip on CDN Performance - Why and How
Getting a Grip on CDN Performance - Why and HowGetting a Grip on CDN Performance - Why and How
Getting a Grip on CDN Performance - Why and How
 
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
 
Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...
Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...
Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...
 
Meetup callback
Meetup callbackMeetup callback
Meetup callback
 
109. Arquitecturas Escalables con GX
109. Arquitecturas Escalables con GX109. Arquitecturas Escalables con GX
109. Arquitecturas Escalables con GX
 
SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...
SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...
SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...
 
AcornCache Presentation at Boston Ruby Group
AcornCache Presentation at Boston Ruby GroupAcornCache Presentation at Boston Ruby Group
AcornCache Presentation at Boston Ruby Group
 
Reducing latency on the web with the Azure CDN- TechDays NL 2014
Reducing latency on the web with the Azure CDN- TechDays NL 2014Reducing latency on the web with the Azure CDN- TechDays NL 2014
Reducing latency on the web with the Azure CDN- TechDays NL 2014
 

More from Fastly

Revisiting HTTP/2
Revisiting HTTP/2Revisiting HTTP/2
Revisiting HTTP/2Fastly
 
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 ScaleFastly
 
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 InternetFastly
 
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 StreamFastly
 
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 DestinyFastly
 
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 MigrationFastly
 
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 PagesFastly
 
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 WorkshopFastly
 
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 WoeFastly
 
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 dayFastly
 
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 EdgeFastly
 
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 & ApplicationsFastly
 
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 WorkshopFastly
 
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 NETWORKFastly
 
Altitude San Francisco 2018: WAF Workshop
Altitude San Francisco 2018: WAF WorkshopAltitude San Francisco 2018: WAF Workshop
Altitude San Francisco 2018: WAF WorkshopFastly
 
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 DocsFastly
 
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 EdgeFastly
 

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

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Caching the Uncacheable [Long Version]

  • 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 a large object à longer download
  • 4.
  • 6.
  • 7.
  • 8. 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 a large object à longer download • Could be other things too – AJAX calls – API calls • More…
  • 9. Classically, with dynamic content… Caching
  • 10. Dynamic Content Caching Problems • Serving stale pages – Lack of good invalida+on framework
  • 12.
  • 13.
  • 14.
  • 16. Dynamic Content Caching Problems • Serving stale pages – Lack of good invalida+on framework
  • 17. Dynamic Content Caching Problems • Serving stale pages – Lack of good invalida+on framework • Real-­‐+me visibility – Real-­‐+me analy+cs/stats – Real-­‐+me logging/tracking
  • 19. 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
  • 20. Dynamic Content, Tradi<onally CDN Node Client Origin Some TCP Tweaks
  • 21. Dynamic Content, Tradi<onally CDN Node CDN Node Client Origin Lots of TCP Tweaks
  • 22. Dynamic Content, Tradi<onally • We some+mes do micro caching of HTML – Short TTL for HTML content via Cache-­‐Control – Not full proof • Ex: news stories faux-­‐pas! • ESI (Edge Side Includes) – Par+al caching – Hard and onerous
  • 23. Actually… • Dynamic content is more cacheable than we think • Sta+c for shorter periods of +me • Unpredictable invalida+on – Standard HTTP caching rules aren’t good enough
  • 24. A Lot BeLer! CDN Node CDN Node Client Origin
  • 29. CDN (sta<c + dynamic)
  • 30. So Many Benefits! • Performance – Faster +me to first byte – Faster start render – Happy users! • Offload – Less work for our servers – Less bandwidth at origin
  • 31. What would make it beLer?
  • 32. Programma<c Invalida<on • Invalida+on API • Granular – Specific URL – URL groups – All – Etc…
  • 33. Purge • As a page gets published/updated, a purge command also gets published • Must be Instant! • Big problem with classic CDNs – mul+-­‐minute purges! – Ex: News story, part 2
  • 34. Instant? • IS NOT: – 12 minutes! – quick acknowledgment! • IS: – <1sec – predictable and determinis+c behavior – (has to also include propaga+on)
  • 35. Power of the Purge! • Purge dependencies – Surrogate Keys – Using tags/labels to purge en+re chunks of content at once
  • 37. Example: CMS + Purge
  • 42. WordPress: Before CDN Node Cache
  • 43.
  • 45. WordPress: AVer CDN Node HTTP/1.1 200 OK Content-Type: text/html Content-Length: 55,666 Cache-Control: Totally Long Time!
  • 46. WordPress: AVer CDN Node HTTP/1.1 200 OK Content-Type: text/html Content-Length: 55,666 Cache-Control: Totally Long Time!
  • 49. WordPress: AVer CDN Node PURGE
  • 50. WordPress: AVer CDN Node PURGE
  • 51. WordPress: AVer CDN Node (Has to be instantaneous!) PURGE
  • 52. WordPress: AVer CDN Node HTTP/1.1 200 OK Content-Type: text/html Content-Length: 55,666 Cache-Control: Totally Long Time!
  • 55. Before CDN Node Origin http://www.3rdparty.com/customer1.js (Referer: www.customer1.com)
  • 56. Before CDN Node Origin http://www.3rdparty.com/customer1.js
  • 57. Before CDN Node Origin HTTP/1.1 200 OK Cache-Control: max-age=60 Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT Content-Type: application/javascript Date: Thu, 25 Sep 2014 12:22:20 GMT Server: Apache Content-Length: 7835 http://www.3rdparty.com/customer1.js
  • 58. Before CDN Node Origin HTTP/1.1 200 OK Cache-Control: max-age=60 Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT Content-Type: application/javascript Date: Thu, 25 Sep 2014 12:22:20 GMT Server: Apache Content-Length: 7835 http://www.3rdparty.com/customer1.js
  • 59. Before http://www.3rdparty.com/customer1.js CDN Node Origin HTTP/1.1 200 OK Cache-Control: max-age=60 Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT Content-Type: application/javascript Date: Thu, 25 Sep 2014 12:22:20 GMT Server: Apache Content-Length: 7835
  • 60. Before CDN Node Origin http://www.3rdparty.com/customer1.js (Ager 1 min)
  • 61. Before CDN Node Origin (Ager 1 min) http://www.3rdparty.com/customer1.js VALIDATION If-Modified-Since: Wed, 24 Sep 2014 19:51:30 GMT
  • 62. Before CDN Node Origin http://www.3rdparty.com/customer1.js (Ager 1 min) 304 Not Modified
  • 63. Before CDN Node Origin http://www.3rdparty.com/customer1.js (Ager 1 min) 304 Not Modified
  • 64. AVer CDN Node Origin http://www.3rdparty.com/customer1.js
  • 65. AVer CDN Node Origin http://www.3rdparty.com/customer1.js
  • 66. AVer CDN Node Origin HTTP/1.1 200 OK Cache-Control: max-age=60, s-maxage=2592000 Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT Content-Type: application/javascript Date: Thu, 25 Sep 2014 12:22:20 GMT Server: Apache Content-Length: 7835 http://www.3rdparty.com/customer1.js
  • 67. AVer CDN Node Origin HTTP/1.1 200 OK Cache-Control: max-age=60, s-maxage=2592000 Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT Content-Type: application/javascript Date: Thu, 25 Sep 2014 12:22:20 GMT Server: Apache Content-Length: 7835 http://www.3rdparty.com/customer1.js
  • 68. AVer http://www.3rdparty.com/customer1.js CDN Node Origin HTTP/1.1 200 OK Cache-Control: max-age=60, s-maxage=2592000 Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT Content-Type: application/javascript Date: Thu, 25 Sep 2014 12:22:20 GMT Server: Apache Content-Length: 7835
  • 69. AVer CDN Node Origin http://www.3rdparty.com/customer1.js (Ager 1 min)
  • 70. AVer CDN Node Origin http://www.3rdparty.com/customer1.js (Ager 1 min)
  • 71. This happens many many <mes! (many many happy visitors!)
  • 72. AVer CDN Node Origin Customer1 changes config (Ager 1 min)
  • 73. AVer CDN Node Origin PURGE customer1.js Customer1 changes config (Ager 1 min)
  • 74. AVer CDN Node Origin PURGE customer1.js Customer1 changes config (Ager 1 min)
  • 75. AVer CDN Node Origin http://www.3rdparty.com/customer1.js (Ager 1 min)
  • 76. AVer CDN Node Origin http://www.3rdparty.com/customer1.js (Ager 1 min) HTTP/1.1 200 OK Cache-Control: max-age=60, s-maxage=2592000 Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT Content-Type: application/javascript Date: Thu, 25 Sep 2014 12:22:20 GMT Server: Apache Content-Length: 7835
  • 77. AVer http://www.3rdparty.com/customer1.js CDN Node Origin HTTP/1.1 200 OK Cache-Control: max-age=60, s-maxage=2592000 Last-Modified: Wed, 24 Sep 2014 19:51:30 GMT Content-Type: application/javascript Date: Thu, 25 Sep 2014 12:22:20 GMT Server: Apache Content-Length: 7835 (Ager 1 min)
  • 78. More than just Invalida<on…
  • 79. 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
  • 80. Control • Programmability – Configura+on API – Invalida+on API – Instantaneous and real +me
  • 81. Caching Control • Granular caching – Dynamic caching – flexible cache keys – etc • Ex: Geo-­‐based caching
  • 82. 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
  • 83. 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
  • 85. Before CDN Node Origin Log Analysis http://collector.site.com/beacon.img?a=1&b=2&c=3
  • 86. Before CDN Node Origin Log Analysis http://collector.site.com/beacon.img?a=1&b=2&c=3
  • 87. Before http://collector.site.com/beacon.img?a=1&b=2&c=3 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
  • 88. Before http://collector.site.com/beacon.img?a=1&b=2&c=3 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
  • 89. AVer CDN Node Origin http://collector.site.com/beacon.img?a=1&b=2&c=3
  • 90. AVer http://collector.site.com/beacon.img?a=1&b=2&c=3 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
  • 91. AVer http://collector.site.com/beacon.img?a=1&b=2&c=3 CDN Node Origin HTTP/1.1 204 No Content Date: Sat, 21 Jun 2014 23:21:12 GMT Server: Awesome Server Content-Length: 0
  • 92. AVer CDN Node Origin Syslog / S3 / FTP/etc http://collector.site.com/beacon.img?a=1&b=2&c=3
  • 94. JSON Data Center ID CDN Node Origin http://www.site.com/which_datacenter.js
  • 95. JSON Data Center ID http://www.site.com/which_datacenter.js CDN Node Origin { ‘datacenter’ : ‘SJC’ }
  • 97. JSON Geo IP http://www.site.com/geo_ip.js CDN Node Origin { “city” : “New York”, “state”: “New York”, “country”: “United States”, “ip”: “173.18.14.237” }
  • 98. 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
  • 100. 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 “Totally Long Time!” in a Cache-Control header!