SlideShare a Scribd company logo
1 of 177
Download to read offline
Optimizing Your
Cache Hit Ratio
Léon Brocard
Sales Engineer | Fastly
Paolo Alvarado
Customer Support Manager | Fastly
Léon Brocard
Systems Engineer
Fastly London
Paolo Alvarado
Customer Support Manager
Fastly Tokyo
Cache hit ratio
Why do we cache?
Caching on Fastly
HTTP caching
Overriding caching
Caching patterns
Future
This is a talk
workshop
Blue slide
means
interactive
Cache
hit
ratio
Where is
“Cache hit ratio” on
https://www.fastly.com/
https://manage.fastly.com/
altitude2017chr@example.com
chr4l1fe
Name & Domain
hitrate2017<initials>.global.ssl.fastly.net
Address
35.197.9.99
No TLS, Port
3000
Name & Domain
hitrate2017lb.global.ssl.fastly.net
Address
35.197.9.99
No TLS, Port
3000
http://hitrate2017lb.global.ssl.fastly.net/
Why do we
cache?
Decrease page
load time
Level Capacity Latency
Can on my
desk
1 can ~1s
My fridge 10 cans ~30s
Local shop 500 cans ~5m
Supermarket 10k cans ~90m
Level Capacity Latency
Can on my
desk
1 can ~1s
My fridge 10 cans ~30s
Local shop 500 cans ~5m
Supermarket 10k cans ~90m
Level Capacity Latency
Cash in my
wallet
$50 ~1s
Local ATM $200 ~5m
Bank $1,000 ~20m
Level Capacity Latency
Plate 1 serving ~1s
Serving dish 10 servings ~1m
Kitchen 100 servings ~5m
Level Capacity Latency
L1 cache 64 KiB per core ~1ns
L2 cache 256 KiB per core ~4ns
L3 cache Up to 2 MiB per
core, shared
~20ns
Main memory Up to 64 GB ~100ns
Level Capacity Latency
Browser ~Megabytes ~0.1ms
CDN ~Gigabytes ~5ms
Origin ~Terabytes ~500ms
Cache?
L'écureuil roux
cache ses
provisions pour
l'hiver
Hit Miss
Scenario Origin
requests / sec
EC2 instances
No CDN 2,000 40
50% CHR 1,000 20
80% CHR 400 8
90% CHR 200 4
95% CHR 100 2
Representative
time period
traffic
Why is latency
so important?
Wi-Fi Mobile
HTTP
TCP/IP
GET /technology/2016/jul/15/
how-the-internet-was-invented
-1976-arpa-kahn-cerf HTTP/1.1
Host: www.theguardian.com
HTTP/1.1 200 OK
Content-Type: text/html;
charset=utf-8
Content-Length: 110502
<!DOCTYPE html>...
Visit
hitrate2017lb.global.ssl.fastly.net
View ▶ Developer ▶ Developer Tools
Network tab
Reload, ⌘R, shift-⌘R
c
1.5s 2.0s 3.5s 21.0s
www.webpagetest.org
URL: docs.fastly.com
EC2 location with low pending
tests
Connection DSL, capture video,
keep test private
Here’s one I prepared
earlier:
http://fastly.us/2sybe4q
Back to developer tools
Right click on table heading
Response headers ▶ Add
“Cache-Control”
Response headers ▶ Manage
header columns ▶ Add custom
header → “X-Cache”
if users double their bandwidth
without reducing their RTT
significantly, the effect on Web
Browsing will be a minimal
improvement. However, decreasing
RTT, regardless of current bandwidth
always helps make web browsing
faster
How can we
decrease RTT?
How can we
decrease RTT?
latency?
Caching
Visit
https://www.fastly-debug.com
/
HTTP
caching
1996 RFC 1945 HTTP/1.0
1997 RFC 2068 HTTP/1.1
1999 RFC 2616 HTTP/1.1
2014 RFC 7230 HTTP/1.1: Message Syntax and Routing
2014 RFC 7231 HTTP/1.1: Semantics and Content
2014 RFC 7232 HTTP/1.1: Conditional Requests
2014 RFC 7233 HTTP/1.1: Range Requests
2014 RFC 7234 HTTP/1.1: Caching
2014 RFC 7235 HTTP/1.1: Authentication
2015 RFC 7540 HTTP/2
Fresh Expired
Last-Modified:
Fri, 13 Nov 2015 14:11:55 GMT
If-Modified-Since:
Fri, 13 Nov 2015 13:58:51 GMT
HTTP/1.1 304 Not Modified
ETag:
“3e8d1bf998b31cb811264f4789eac005”
If-None-Match:
“3e8d1bf998b31cb811264f4789eac005”
HTTP/1.1 304 Not Modified
Visit
hitrate2017lb.global.ssl.fastly.net
Network tab
Browser cache
max-age=60 tab
First time. Second time.
Cache-Control: max-age=60
Date: Thu, 25 May 2017
10:16:09 GMT
Expires: Thu, 25 May 2017
10:16:58 GMT
Cache-Control: max-age=1800
Cache-Control:
s-max-age=1800, max-age=60
Surrogate-Control:
max-age=1800
Visit
hitrate2017lb.global.ssl.fastly.net
Network tab
Browser cache
⌘R
Cache-Control:
(none) / private / max-age=60
Tool time
Install Chrome Extension
“Browser Cache Hit Ratio”...
https://fastly.us/browser-cachehitratio
Install Chrome Extension
“Fastly Cache Hit Ratio”...
https://fastly.us/cachehitratio
Install Chrome Extension
“Modheader”...
https://fastly.us/modheader
Visit
hitrate2017lb.global.ssl.fastly.net
Break
What’s my
TTL again?
Changing
caching
On the origin with
HTTP headers
Override in Fastly
No Cache-Control header
Fastly Service ▶
Configuration ▶ Clone active
▶ Settings ▶ Fallback TTL ▶ 10
▶ Save ▶ Activate ▶ Purge ▶
Purge All ▶ Purge
Cache-Control: private
Cache-Control: max-age=60
Varnish
Configuration
Language
default
TTL?
if (
beresp.http.Expires ||
beresp.http.Surrogate-Control ~ "max-age" ||
beresp.http.Cache-Control ~"(s-maxage|max-age)"
) {
# keep the ttl here
} else {
# apply the default ttl
set beresp.ttl = 10s;
}
if (req.url == "/dogs/max-age=60") {
set beresp.http.Cache-Control = "max-age=10";
}
if (req.url == "/dogs/max-age=60") {
set beresp.ttl = 10s;
set beresp.http.Cache-Control = "max-age=10";
}
sub vcl_fetch {
if (beresp.http.Cache-Control) {
if (req.url.path ~ "^/users/flair/") {
set beresp.http.Cache-Control = "public, max-age=180";
} else {
set beresp.http.Cache-Control = "private";
}
}
Here’s an example of where VCL comes in very handy. Recently we
deployed .NET 4.6.2 which had a very nasty bug that set max-age on
cache responses to over 2000 years. The quickest way to mitigate this for
all of our services affected was to override that cache header as-needed
at the edge. As I write this, the following VCL is active:
What’s in a
cache key?
req.http.host
The incoming request’s host header
req.url
The full URL including query string
#####GENERATION#####
A generation number used for purging all
What do these URLs have in
common?
● /search?query=dogs&page=1
● /search?page=1&query=dogs
/search?query=dogs&page=1
Fastly-Debug-Digest:
9ff1c58f06cac2fd3a48f7c105da6e1d035
c770c635371f2ddabdb987818e36c
/search?page=1&query=dogs
Fastly-Debug-Digest:
9ff1c58f06cac2fd3a48f7c105da6e1d035
c770c635371f2ddabdb987818e36c
The
uncacheable
“Dynamic content is really interesting”
—Hooman 2014
Classically, dynamic content was
uncacheable because it required interaction
with a backend.
How can we
cache dynamic
content?
Set-Cookie:
Cache-Control: private
How do we force an
update for cached
content?
Purging
Single URL Purge
Instant Purge an individual URL.
Surrogate-Key Purge
Instant Purge a particular service of items
tagged with a Surrogate-Key.
Purge All
Instant Purge everything from a service.
Offloading
from origins
HTTPS everywhere
http://hitrate2017lb.global.ssl.fastly.net/
301 Moved Permanently redirect to:
https://hitrate2017lb.global.ssl.fastly.net/
HIT-SYNTH
Strict-Transport-Security: max-age=31536000
HSTS Preload List
Serving Stale
What does a negative
number here mean?
“Worst-case scenario, we can always ghost-serve.
Which actually happened: our Rolling Stone
legacy origin was down for three days; the only
reason readers could still visit our site without
noticing the problem was because we used
Fastly’s stale-if-error.”
— Chris Boylan, Director of Engineering,
Wenner Media
How can we purge
while still
offloading?
Soft Purge
Single URL Purge
Surrogate-Key Purge
Soft Purging sets an object’s TTL to 0s,
forcing revalidation. For best results, use in
combination with stale-while-revalidate
and/or stale-if-error
Levels of
caches
× =
× =
50%
CHR
50%
CHR
× =
75%
CHR
50 50
25 25
90%
CHR
90%
CHR
× =
99%
CHR
90 10
9 1
× =
When the royal baby George Alexander Louis was born in 2013,
the Guardian's traffic spiked from an average of 400 requests per
second to over 1,000 requests per second. Fastly shielded the
Guardian's origin servers from the hundreds of thousands of new
requests pouring in, maintaining site uptime and delivering
consistent performance for readers around the world. The
company’s software architect, Matthew O’Brien, said that it’s
difficult to predict news events, but Fastly helps them prepare
accordingly.
Cache in browser and
Fastly for different
amount of time?
Cache-Control: private
Surrogate-Control:
max-age=60,
stale-while-revalidate=5,
stale-if-error=86400
Cache-Control: max-age=5
Surrogate-Control: max-age=3600
“Fastly effectively handled the higher levels of traffic we
experienced during the Apple Watch announcement.”
Using Fastly’s stale-while-revalidate feature to serve
readers slightly outdated content while the cached
content was refreshed, WIRED knew readers would never
see errors. Zack described stale-while-revalidate as one of
Fastly’s “most exciting features.” He said, “It allowed us to
successfully serve the live blog while constantly
updating its content, ensuring our readers had access to
the freshest content without seeing errors."
— Zack Tollman, Lead Engineer at WIRED
Observing
cache hit ratio
X-Cache: HIT
X-Cache-Hits: 649406
X-Cache: HIT, HIT
X-Cache-Hits: 649406, 922
fastly_info.state
Jun 08 14:27:24 cache-ord1722
papertrail: MISS-CLUSTER "-"
[08/Jun/2017:14:27:23 +0000] GET
/recipes/?show=Beef%20brochettes
HTTP/1.1 200 26
Logging at
the edge
Chris Jackel
Systems Engineer | Fastly
vcl_hash
vs
Vary
Hash Vary
Accept-Encoding: gzip, deflate, br
Content-Encoding: gzip
Vary: Accept-Encoding
Future
Cache-Control: max-age=31536000, immutable
HTTP/2 enables a more efficient
use of network resources and a
reduced perception of latency by
introducing header field
compression and allowing multiple
concurrent exchanges on the same
connection
Service Workers
This specification describes a
method that enables applications
to take advantage of persistent
background processing, including
hooks to enable bootstrapping of
web applications while offline
The power of
the network
Andrew Betts
Principal Developer
Advocate | Fastly
Emerging and
future web trends
Alex Russell
Software Engineer | Google
Summary
Cache hit ratio
Why do we cache?
Caching on Fastly
HTTP caching
Overriding caching
Caching patterns
Future
Run live
experiments
Thanks for
participating
Léon & Paolo

More Related Content

What's hot

Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Ontico
 
Nginx - Tips and Tricks.
Nginx - Tips and Tricks.Nginx - Tips and Tricks.
Nginx - Tips and Tricks.
Harish S
 

What's hot (20)

Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015
Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015
Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015
 
Altitude SF 2017: Debugging Fastly VCL 101
Altitude SF 2017: Debugging Fastly VCL 101Altitude SF 2017: Debugging Fastly VCL 101
Altitude SF 2017: Debugging Fastly VCL 101
 
Altitude SF 2017: The power of the network
Altitude SF 2017: The power of the networkAltitude SF 2017: The power of the network
Altitude SF 2017: The power of the network
 
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
 
Securing Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINX
 
Rails Caching Secrets from the Edge
Rails Caching Secrets from the EdgeRails Caching Secrets from the Edge
Rails Caching Secrets from the Edge
 
Caching the Uncacheable: Leveraging Your CDN to Cache Dynamic Content
Caching the Uncacheable: Leveraging Your CDN to Cache Dynamic ContentCaching the Uncacheable: Leveraging Your CDN to Cache Dynamic Content
Caching the Uncacheable: Leveraging Your CDN to Cache Dynamic Content
 
Benchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and ResultsBenchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and Results
 
Load Balancing with Nginx
Load Balancing with NginxLoad Balancing with Nginx
Load Balancing with Nginx
 
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
 
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
 
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
 
NGINX High-performance Caching
NGINX High-performance CachingNGINX High-performance Caching
NGINX High-performance Caching
 
Lcu14 Lightning Talk- NGINX
Lcu14 Lightning Talk- NGINXLcu14 Lightning Talk- NGINX
Lcu14 Lightning Talk- NGINX
 
Nginx - Tips and Tricks.
Nginx - Tips and Tricks.Nginx - Tips and Tricks.
Nginx - Tips and Tricks.
 
Deploying NGINX Plus with Ansible
Deploying NGINX Plus with AnsibleDeploying NGINX Plus with Ansible
Deploying NGINX Plus with Ansible
 
Varnish Cache Plus. Random notes for wise web developers
Varnish Cache Plus. Random notes for wise web developersVarnish Cache Plus. Random notes for wise web developers
Varnish Cache Plus. Random notes for wise web developers
 
5 things you didn't know nginx could do velocity
5 things you didn't know nginx could do   velocity5 things you didn't know nginx could do   velocity
5 things you didn't know nginx could do velocity
 
Tips for going fast in a slow world: Michael May at OSCON 2015
Tips for going fast in a slow world: Michael May at OSCON 2015Tips for going fast in a slow world: Michael May at OSCON 2015
Tips for going fast in a slow world: Michael May at OSCON 2015
 
Varnish SSL / TLS
Varnish SSL / TLSVarnish SSL / TLS
Varnish SSL / TLS
 

Similar to Altitude SF 2017: Optimizing your hit rate

Similar to Altitude SF 2017: Optimizing your hit rate (20)

Spreadshirt Techcamp 2018 - Hold until Told
Spreadshirt Techcamp 2018 - Hold until ToldSpreadshirt Techcamp 2018 - Hold until Told
Spreadshirt Techcamp 2018 - Hold until Told
 
Delivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINXDelivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINX
 
Developing cacheable PHP applications - PHPLimburgBE 2018
Developing cacheable PHP applications - PHPLimburgBE 2018Developing cacheable PHP applications - PHPLimburgBE 2018
Developing cacheable PHP applications - PHPLimburgBE 2018
 
Supercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the EdgeSupercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the Edge
 
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...
 
Amp your site: An intro to accelerated mobile pages
Amp your site: An intro to accelerated mobile pagesAmp your site: An intro to accelerated mobile pages
Amp your site: An intro to accelerated mobile pages
 
HTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPHTTP/3 is next generation HTTP
HTTP/3 is next generation HTTP
 
HTTP/3 for everyone
HTTP/3 for everyoneHTTP/3 for everyone
HTTP/3 for everyone
 
Web Front End Performance
Web Front End PerformanceWeb Front End Performance
Web Front End Performance
 
Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018
 
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 ...
 
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoHTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
 
Stress Test as a Culture
Stress Test as a CultureStress Test as a Culture
Stress Test as a Culture
 
10 Lessons Learned from using Kafka in 1000 microservices - ScalaUA
10 Lessons Learned from using Kafka in 1000 microservices - ScalaUA10 Lessons Learned from using Kafka in 1000 microservices - ScalaUA
10 Lessons Learned from using Kafka in 1000 microservices - ScalaUA
 
REST in ( a mobile ) peace @ WHYMCA 05-21-2011
REST in ( a mobile ) peace @ WHYMCA 05-21-2011REST in ( a mobile ) peace @ WHYMCA 05-21-2011
REST in ( a mobile ) peace @ WHYMCA 05-21-2011
 
Approaches to application request throttling
Approaches to application request throttlingApproaches to application request throttling
Approaches to application request throttling
 
Chicago Tech Day Jan 2015: Foundry - HTTP2
Chicago Tech Day Jan 2015: Foundry - HTTP2Chicago Tech Day Jan 2015: Foundry - HTTP2
Chicago Tech Day Jan 2015: Foundry - HTTP2
 
65% Performance Gains at Cryptocurrency Platform CoinGecko: An Argo Smart Rou...
65% Performance Gains at Cryptocurrency Platform CoinGecko: An Argo Smart Rou...65% Performance Gains at Cryptocurrency Platform CoinGecko: An Argo Smart Rou...
65% Performance Gains at Cryptocurrency Platform CoinGecko: An Argo Smart Rou...
 
High Performance Websites
High Performance WebsitesHigh Performance Websites
High Performance Websites
 
Webcast: Fastly takes drupal.org to extremes
Webcast: Fastly takes drupal.org to extremesWebcast: Fastly takes drupal.org to extremes
Webcast: Fastly takes drupal.org to extremes
 

More from 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/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
 
Enabling lightning fast content delivery for Spotify
Enabling lightning fast content delivery for SpotifyEnabling lightning fast content delivery for Spotify
Enabling lightning fast content delivery for Spotify
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Altitude SF 2017: Optimizing your hit rate