SlideShare a Scribd company logo
©2015 AKAMAI | FASTER FORWARDTM
ADVANCED
CACHING
CONCEPTS
Paul Calvano @paulcalvano
Rakesh Chaudhary @nutboltfilms
©2015 AKAMAI | FASTER FORWARDTM
<Insert Uber Video>
● Courtesy “Late Show With Stephen Colbert”
Travis Kalanick, Uber CEO @ The Late Show with Stephen Colbert
©2015 AKAMAI | FASTER FORWARDTM
“Anticipatory Delivery”
According to the patent, the packages could wait at the shipper’s hubs
or on trucks until an order arrives.
©2015 AKAMAI | FASTER FORWARDTM
Caching is a demand-based
distribution optimization to improve
performance and scalability of a
system.

Recommended for you

Web application security
Web application securityWeb application security
Web application security

This document discusses various security threats to web applications such as cross-site scripting, SQL injection, denial-of-service attacks, and brute force attacks. It provides details on each threat, including how they occur and methods of prevention. Defense tactics covered include input validation, account lockouts, CAPTCHAs, encryption, access restrictions, and server hardening techniques.

internetsecurityweb
Dep005 azure ネットワーク設計
Dep005 azure ネットワーク設計Dep005 azure ネットワーク設計
Dep005 azure ネットワーク設計

Azure ネットワーク設計と運用のツボ

Using JSON Web Tokens for REST Authentication
Using JSON Web Tokens for REST Authentication Using JSON Web Tokens for REST Authentication
Using JSON Web Tokens for REST Authentication

This session will provide an introduction to JSON Web Tokens (JWT) (https://jwt.io/introduction/), advantages over other authentication methods, and how to use it to authenticate requests to Drupal REST resources. After this session, attendees will have a better understanding of how JWTs work and will be able to set up and use JWT for authenticating REST requests in Drupal.

drupaldecoupled dev daysusing json web tokens for rest authentication
©2015 AKAMAI | FASTER FORWARDTM
“40% MOBILE USERS WILL ABANDON IF PAGE LOAD >3s”
Meanwhile…
Source: Tammy Everts,
SOASTAhttp://blog.radware.com/
applicationdelivery/applicationacc
elerationoptimization/2015/02/wh
y-you-should-care-about-mobile-
web-performance/
©2015 AKAMAI | FASTER FORWARDTM
Source: Colin Bendell, Akamai
“Convince your CFO that #perfmatters”
@ Velocity SC 2015
http://goo.gl/eMqNog
“PERFORMANCE CAN MAKE HAPPY USERS…
…AND BUSINESS SENSE”
CBC Case Study
(FIFA World Cup 2014)
 45% spike in traffic
 30% faster
 90-95% offload
 REDUCED #servers
@origin
©2015 AKAMAI | FASTER FORWARDTM
STEVE SOUDER’S 14 RULES FOR FASTER WEBSITES
Rule 1 - Make Fewer HTTP Requests
Rule 2 - Use a Content Delivery Network
Rule 3 - Add an Expires Header
Rule 4 - Gzip Components
Rule 5 - Put Stylesheets at the Top
Rule 6 - Put Scripts at the Bottom
Rule 7 - Avoid CSS Expressions
Rule 8 - Make JavaScript and CSS External
Rule 9 - Reduce DNS Lookups
Rule 10 - Minify JavaScript
Rule 11 - Avoid Redirects
Rule 12 - Remove Duplicate Scripts
Rule 13 - Configure ETags
Rule 14 - Make AJAX Cacheable
©2015 AKAMAI | FASTER FORWARDTM
Run a WebPagetest for your (or a favorite) site.
Use the private instance at
http://wpt.advancedcaching.org
Hang onto the results…
EXERCISE

Recommended for you

ASP.NET Core 2.x Identityについて
ASP.NET Core 2.x IdentityについてASP.NET Core 2.x Identityについて
ASP.NET Core 2.x Identityについて

https://fukuten.connpass.com/event/111501/

c#.net coreasp.net core
F5 TLS & SSL Practices
F5 TLS & SSL PracticesF5 TLS & SSL Practices
F5 TLS & SSL Practices

The document discusses SSL/TLS trends, practices, and futures. It covers global SSL encryption trends and drivers like increased spending on security and regulatory pressure. It discusses SSL best practices like enabling TLS 1.2, disabling weak protocols, using strong cipher strings, and enabling HTTP Strict Transport Security. The document also looks at solutions from F5 like hardware security modules, advanced key and certificate management, and market leading encryption support. It explores emerging standards like TLS 1.3 and topics like elliptic curve cryptography. Finally, it discusses what's next such as OCSP stapling and F5's SSL everywhere architecture.

sslencryptiontls
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース
©2015 AKAMAI | FASTER FORWARDTM
©2015 AKAMAI | FASTER FORWARDTM
THE THREE
GUIDING
PRINCIPLES OF
CACHING
©2015 AKAMAI | FASTER FORWARDTM
#1 CACHE AS MUCH AS YOU CAN
*Source: HTTP Archive on Sept 15 2015
97% resources on a page potentially cacheable
However…
©2015 AKAMAI | FASTER FORWARDTM
Can you see this poll?
i. Yes
ii. No
*POLL

Recommended for you

Lesson 3- Remote Access
Lesson 3- Remote AccessLesson 3- Remote Access
Lesson 3- Remote Access

The document discusses remote access security, firewalls, virtual private networks (VPNs), and various authentication methods. It describes how remote access poses risks if unsecured, and technologies like RADIUS, Diameter, TACACS, and Kerberos that help authenticate remote users. The document also explains VPNs and how they can securely extend private networks over public networks using encryption and authentication. Finally, it discusses firewall placement and methods of remote access protection through technologies like content filtering.

SQL injection prevention techniques
SQL injection prevention techniquesSQL injection prevention techniques
SQL injection prevention techniques

This document discusses SQL injection and techniques to prevent it. SQL injection occurs when malicious SQL statements are inserted into an entry field to exploit vulnerabilities in the underlying database. Attackers can use SQL injection to bypass login screens or retrieve sensitive data. To prevent SQL injection, developers should escape special characters in user input before submitting queries, use prepared statements with bound parameters, and validate and sanitize all input. Input escaping involves using database-specific escape functions like mysql_real_escape_string() to avoid unintended SQL commands. Proper input validation and escaping helps prevent SQL injection attacks.

seminar report on Sql injection
seminar report on Sql injectionseminar report on Sql injection
seminar report on Sql injection

This document discusses SQL injection, including what it is, how it works, and its impacts. It defines SQL injection as a dangerous web attack that leverages vulnerabilities in web applications to bypass authentication and modify or delete database data. The summary explains that SQL injection works by manipulating SQL queries passed to a backend database, such as by appending additional SQL statements or modifying the structure of the original query. Some impacts of successful SQL injection attacks mentioned are leakage of sensitive information, reputation decline, data loss, and denial of service. Tools for finding SQL injection vulnerabilities like sqlmap and uniscan are also briefly described.

rtusql injectionseminar report on sql injection
©2015 AKAMAI | FASTER FORWARDTM
Earlier, you ran a WebPagetest* for your (or a
favorite) site.
What rating did you get for “Cache Static Content”?
i.A
ii.B
iii.C
iv.D
v.F
*POLL
* Use the private instance at http://wpt.advancedcaching.org
©2015 AKAMAI | FASTER FORWARDTM
#2 CACHE AS LONG AS YOU CAN
*Source: HTTP Archive on Sept 15 2015
In majority of cases,
we notice resource
age much higher than
cache TTL directive
*
©2015 AKAMAI | FASTER FORWARDTM
#3 CACHE AS CLOSE TO USER AS YOU CAN
Source: Ilya Grigorik, http://chimera.labs.oreilly.com/books/1230000000545/ch01.html#SPEED_FEATURE
“We need to reduce round trips, move the data closer to the client, hide the
latency through caching…”
“Latency
impedes
bandwidth
utilization”
©2015 AKAMAI | FASTER FORWARDTM
[From earlier WebPagetest result:]
What rating did you get for “Effective Use of CDN”?
i. A
ii. B
iii. C
iv. D
v. F
*POLL

Recommended for you

Security misconfiguration
Security misconfigurationSecurity misconfiguration
Security misconfiguration

Security misconfiguration is a major risk due to its prevalence and impact. It occurs when default passwords, debugging settings, or excessive privileges are left unchanged, potentially allowing hackers access. Proper configuration through secure coding practices, access controls, patching, and audits can help safeguard systems and data.

computer securitysecurity misconfiguration
File upload vulnerabilities & mitigation
File upload vulnerabilities & mitigationFile upload vulnerabilities & mitigation
File upload vulnerabilities & mitigation

This document discusses file upload vulnerabilities, exploitation, and mitigation. It provides 6 cases of how file uploads can be exploited such as through simple uploads without validation or altering content types. Tools mentioned for exploitation include BurpSuite and proxies. The document recommends mitigation techniques like using .htaccess files outside the upload directory, storing uploads outside the server root, not relying on client-side validation, and renaming files with random names. It concludes with offering a proof of concept demonstration.

file uploadarbitrary upload
Understanding Box UI Elements
Understanding Box UI ElementsUnderstanding Box UI Elements
Understanding Box UI Elements

Box training content for understanding the different Box UI Elements, how to configure them, and what methods / scopes are available to them.

boxboxworkselements
©2015 AKAMAI | FASTER FORWARDTM
1. Cache as much as you can
2. Cache as long as you can
3. Cache as close to user as
you can
©2015 AKAMAI | FASTER FORWARDTM
INTRODUCTION
CACHING 101
CACHING 201
CACHING OPTIMIZATION WALKTHROUGH
SCENARIOS & GUIDELINES
Q & A
BREAK
INVALIDATION & PURGING
©2015 AKAMAI | FASTER FORWARDTM
INTRODUCTION
CACHING 101
CACHING 201
CACHING OPTIMIZATION WALKTHROUGH
SCENARIOS & GUIDELINES
Q & A
BREAK
INVALIDATION & PURGING
©2015 AKAMAI | FASTER FORWARDTM
WHERE CACHING HAPPENS
CACHE PARENT
CACHE CHILD
ORIGI
N
CDN
BROWSER
GATEWAY

Recommended for you

Owasp top 10 vulnerabilities
Owasp top 10 vulnerabilitiesOwasp top 10 vulnerabilities
Owasp top 10 vulnerabilities

Session on OWASP Top 10 Vulnerabilities presented by Aarti Bala and Saman Fatima. The session covered the below 4 vulnerabilities - Injection, Sensitive Data Exposure Cross Site Scripting Insufficient Logging and Monitoring

owasptop10owasp delhiapplication security
OWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITISOWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITIS

The document discusses the top vulnerabilities from the OWASP Top 10 list - Injection, Cross-Site Scripting (XSS), and Cross-Site Request Forgery (CSRF). It provides details on each vulnerability like how injection occurs, types of XSS, and how CSRF allows unauthorized actions. Prevention techniques are also covered, such as input validation, output encoding, and synchronizer token pattern. The presentation is given by Arya Anindyaratna Bal for Wipro and covers their experience in application security and the history of OWASP Top 10 lists.

owaspowasp top 10web application pentesting
Cookie testing
Cookie testingCookie testing
Cookie testing

BugRaptors perform Cookie testing to ensure the security of the website and application to be tested. Cookies are small information stored in text file on user’s hard drive by web server. BugRaptors perform cookie manipulation using various techniques.

#testcasesoncookietesting#typesofcookies#cookietesting
©2015 AKAMAI | FASTER FORWARDTM
WHAT CONTROLS DO YOU HAVE?
CACHE PARENT
CACHE CHILD
ORIGI
N
CDN
BROWSER
GATEWAY
HTTP headers for browser cache
Programmatic for localStorage
(and ServiceWorker)
HTTP headers
HTTP headers
CDN Config [ UI / API ]
HTTP headers
Reverse Proxy Config [ UI / API ]
©2015 AKAMAI | FASTER FORWARDTM
CACHES WE WILL FOCUS ON
1
2
3
4
CACHE PARENT
CACHE CHILD
ORIGI
N
CDN
BROWSER
©2015 AKAMAI | FASTER FORWARDTM
CACHE HIT RATIO
COMMON TERMINOLOGY
{#requests from cache} / {#total requests}
CACHE MISS cache query results in object not in cache or stale
STALE RESOURCE object has already expired, need to contact origin
INVALIDATION remove content from cache ahead of expiry
CONDITIONAL GET request resource only if modified
©2015 AKAMAI | FASTER FORWARDTM
CACHE-CONTROL
BASIC HTTP RESPONSE HEADERS
TTL and other directives
EXPIRES Date/time stamp of future expiry
ETAG Unique resource identifier
LAST-MODIFIED Date/time stamp last modified at server
VARY Add additional request parameters to cache key

Recommended for you

Blockchain Security and Privacy
Blockchain Security and PrivacyBlockchain Security and Privacy
Blockchain Security and Privacy

Presentation by DHS S&T at the NY Blockchain 360 Conference regarding Blockchain's relevance to the Homeland Security Enterprise. Results of security and privacy research and development over the last 2+ years and next steps.

blockchainsecurityprivacy
Fortinet FortiOS 5 Presentation
Fortinet FortiOS 5 PresentationFortinet FortiOS 5 Presentation
Fortinet FortiOS 5 Presentation

This document introduces Fortinet's new FortiOS 5, which provides over 150 new security features and enhancements across three main areas: more security, more control, and more intelligence. Key new features include client reputation for advanced threat detection, advanced anti-malware protection with local and cloud-based scanning, device identification and policy control for BYOD, identity-based enforcement of security policies, secured guest access, and enhanced visibility and reporting. FortiOS 5 will support Fortinet's mid-range and desktop firewall platforms.

fortios 5fortiosrole based policy
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

The Web Experience Foundry will be dedicated to researching and prototyping projects and technologies that the Web Experience business unit feels are potentially important for the future of its product lines. The primary goals will be: - Gain a solid understanding of new technology and how it could (or could not) be used in Web Experience products (Discovery). - Prototype new technologies and create proof of concepts to validate or invalidate a technologies potential utility. - Research new concepts and look for ways they can improve our existing product lines.”

foundryakamai technologieshttp2
©2015 AKAMAI | FASTER FORWARDTM
CACHE-CONTROL
IMPORTANT HTTP CACHE DIRECTIVES
MAX-AGE Time-to-live delta
NO-STORE
PRIVATE
MUST-REVALIDATE
Do not cache
Meant to be cached only by single user, i.e. browser, not proxy
Do not serve stale
PUBLIC Can be cached by shared proxy
©2015 AKAMAI | FASTER FORWARDTM
TYPICAL CACHE INTERACTION (LAST-MODIFIED)
CLIENT SERVER
GET
200 OK
Cache-control: <max-age>
Expires: <date-time-stamp>
Last-Modified: <date-time-stamp>
GET
If-modified-since: <last_modified_value>
200 OK or 304 Not Modified
EXPIRES IN
CACHE
©2015 AKAMAI | FASTER FORWARDTM
TYPICAL CACHE INTERACTION (ETAG)
CLIENT SERVER
GET
200 OK
Cache-Control: <max-age>
Expires: <date-time-stamp>
Etag: “<string>”
GET
If-none-match: “<etag_value>”
200 OK or 304 Not Modified
EXPIRES IN
CACHE • Etags are often mis-configured,
lead to cache pollution
• Rely on Last-modified when you
can
• Useful when caching dynamic
content, e.g. API responses
©2015 AKAMAI | FASTER FORWARDTM
CACHE KEYS
HOST PATH QUERY ARGUMENTS/ ?
By default, a web cache uses the following combination as primary key:
Example – following represent different cached entities:
www.example.com/en/logo.jpg
www.example.com/jp/logo.jpg
www.example.com/en/logo.jpg?len=100&height=100
www.example.com/en/logo.jpg?len=100&height=200
www.example.com/en/logo.jpg?len=100

Recommended for you

UI5 with Akamai - Introduction to the Content Delivery Network
UI5 with Akamai - Introduction to the Content Delivery NetworkUI5 with Akamai - Introduction to the Content Delivery Network
UI5 with Akamai - Introduction to the Content Delivery Network

A content delivery network (CDN) is a system of distributed servers that deliver web content to users based on their geographic location. This presentation discusses CDNs and Akamai's CDN services. It defines what a CDN is, why businesses need them to improve performance, how CDNs work by caching content at edge servers close to users, and demonstrates these concepts through tools and performance tests comparing content delivery from origins versus Akamai. The presentation also provides an overview of Akamai's products and services, and tips for optimizing UI5 and SAP applications for faster loading when using a CDN.

cdnakamaiui5
Chicago Tech Day Jan 2015: Hidden Features
Chicago Tech Day Jan 2015: Hidden FeaturesChicago Tech Day Jan 2015: Hidden Features
Chicago Tech Day Jan 2015: Hidden Features

Learn about what hidden features are available to you, when you use Akamai to make sure that your business' website runs fast and secure.

akamai technologieshidden featureschicago tech day
Edge 2016 service workers and other front end techniques
Edge 2016 service workers and other front end techniquesEdge 2016 service workers and other front end techniques
Edge 2016 service workers and other front end techniques

This document discusses using service workers and other front-end techniques to create a secure and optimal site. It describes how service workers can be used to control third-party content, such as by implementing client reputation strategies to block requests from untrusted sources. Examples are given of how service workers could maintain counters to throttle requests to third-party domains that exceed timeout thresholds, and serve cached or error responses when thresholds are exceeded. The document also discusses how service workers could be leveraged for offline analytics reporting and metric monitoring to reduce risks compared to traditional third-party JavaScript techniques.

akamai
©2015 AKAMAI | FASTER FORWARDTM
Which of the following HTTP status code is *not*
cacheable by default?
i. 404 Not Found
ii. 301 Moved permanently
iii. 200 OK
iv. 302 Found
v. 501 Not Implemented
*POLL
©2015 AKAMAI | FASTER FORWARDTM
INTRODUCTION
CACHING 101
CACHING 201
CACHING OPTIMIZATION WALKTHROUGH
SCENARIOS & GUIDELINES
Q & A
BREAK
INVALIDATION & PURGING
©2015 AKAMAI | FASTER FORWARDTM
HOW TO DETERMINE TTL?
Content Sensitivity Level CDN TTL Browser TTL
None 7-30 days 2X median user session
Low 12-24 hours 30 min or less
Medium 15 min – 1 hour 10 min or less
High 30 sec – 15 min 0 sec
• If versioning assets, cache for VERY LONG time at CDN/browser
• Otherwise:
©2015 AKAMAI | FASTER FORWARDTM
DUAL ENEMIES OF CACHE HIT RATE
CACHE POLLUTION
Different entries stored with same keyNeeded content evicted by excessive
un-popular (potentially duplicate)
entries
CACHE COLLISION

Recommended for you

2015 Velocity SC: Convince your CFO that #perfmatters
2015 Velocity SC: Convince your CFO that #perfmatters2015 Velocity SC: Convince your CFO that #perfmatters
2015 Velocity SC: Convince your CFO that #perfmatters

You probably feel at times that it is more probable that a black hole will wander into your datacenter than for you to get funding to improve the performance of your application. This workshop will show you the tricks to financially model the impact of performance. Use these tools to convince the business that improving performance not only drives revenue, it also reduces operational costs.

webperffinanceperformance
Third Party Performance (Velocity, 2014)
Third Party Performance (Velocity, 2014)Third Party Performance (Velocity, 2014)
Third Party Performance (Velocity, 2014)

Third party components are a part of any modern site: JS libs, analytics, trackers, share buttons, ads. Many components, each adding its performance cost, cause render delays or can effectively take your site down. This isn’t your code nor your servers, so what can you do about it? This presentation will answer this question with strategies and tactics for keeping 3rd parties from taking you down. This talk was given at Velocity Santa Clara, 2014: The presentation from Velocity Santa Clara, 2014 (http://velocityconf.com/velocity2014/public/schedule/detail/35448).

webthird party performancebeacons
Networks, Networks Everywhere, And Not A Packet To Drink
Networks, Networks Everywhere, And Not A Packet To DrinkNetworks, Networks Everywhere, And Not A Packet To Drink
Networks, Networks Everywhere, And Not A Packet To Drink

Martin Flack of Akamai discusses how a content delivery network (CDN) can help accelerate and secure internet of things (IoT) devices and traffic. A CDN can handle IoT device traffic by routing around problems, minimizing delay and loss. It provides traffic management, load balancing, and caching of IoT data and software to improve performance. Edges in the CDN network are positioned close to devices and backends to optimize routing of IoT data and requests.

e2econtent-delivery networksplatform as a service
©2015 AKAMAI | FASTER FORWARDTM
AVOID CACHE POLLUTION - TIPS
HOST PATH height=600px/ ?Ignore Redundant Query
Parameter
width=800px utm_source=duck& &1
HOST PATH height=600px/ ?Re-order Query Parameters
Alphabetically
width=800px&
height=600pxwidth=800px
2
★ Rationalize across
fragmented developer
base
Implement at CDN or origin reverse proxy:
3
Ignore Vary headers if
possible. Instead, negotiate
using custom logic
Set downstream Cache-
control: private to avoid
pollution at proxy
Vary: User-agent
Vary: Referer
©2015 AKAMAI | FASTER FORWARDTM
AVOID CACHE COLLISIONS – RESS EXAMPLE
ORIGIN
CDN
MOBILE USER
DESKTOP USER
version
version
Desktop content removed
Mobile content removed
SAME
URL
• Server conditionally assembles :: CDN conditionally caches
• Device family string inserted into cache key: e.g. [android|iphone|ipad|desktop]
• Set downstream
• Vary: User-agent (to comply with SEO)
• Cache-control: private to prevent caching on proxies
©2015 AKAMAI | FASTER FORWARDTM
HTTP POST CACHING
POST /search HTTP/1.1
content-type: application/json
host: https://www.example.com
content-length: 47
{“Action”:“Search”,“Query”:“shirts”,“Pag
e”:“1”}
www.example.com search ed7fcd94e1f742ecf8573b622ded65cc/ ?
★ Use only for idempotent requests
★ Be careful with request size
★ Be cautious with PII data!
Construct the appropriate cache key...
©2015 AKAMAI | FASTER FORWARDTM
PRE-FETCH / PRE-FRESH
Prebrowsing -
http://www.stevesouders.com/blog
/2013/11/07/prebrowsing/
• Pre-fetch
• Fetch object before client needs it
• Can be used at browser (<link rel=“prefetch”…) and CDN
• Prefresh
• Re-validate asynchronously before cache expires
• Can be used at browser (stale-while-revalidate, IE pre-check/post-check) and CDN

Recommended for you

Velocity EU 2014: Recycling the Web (why it's slowing your mobile app)
Velocity EU 2014: Recycling the Web (why it's slowing your mobile app)Velocity EU 2014: Recycling the Web (why it's slowing your mobile app)
Velocity EU 2014: Recycling the Web (why it's slowing your mobile app)

If you are building a mobile app or hybrid responsive app you are probably thinking deeply about reusing components and data APIs from your web site. In this talk we will explore some common pitfalls in using web components & web APIs in mobile apps. We will look at the impact on operations, network performance, scalability and reliability - and how to overcome these challenges.

performancemobileapp
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 ...

Traditionally, content delivery networks (CDNs) were known to accelerate static content. Amazon CloudFront has come a long way and now supports delivery of entire websites that include dynamic and static content. In this session, we introduce you to CloudFront’s dynamic delivery features that help improve the performance, scalability, and availability of your website while helping you lower your costs. We talk about architectural patterns such as SSL termination, close proximity connection termination, origin offload with keep-alive connections, and last-mile latency improvement. Also learn how to take advantage of Amazon Route 53's health check, automatic failover, and latency-based routing to build highly available web apps on AWS.

aws cloudparviz deyhim2014 aws summit san francisco
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)

This document discusses different options for managing multiple Akamai configurations, including consolidating configurations, using variables, a SaaS provider option, and a DevOps approach. It provides examples and summaries of how each option works, the benefits and limitations of each, and invites the audience to a discussion on using the Akamai CLI.

©2015 AKAMAI | FASTER FORWARDTM
CACHING PROTECTED CONTENT
CDN
AUTH
SERVER
STORAGE
SERVER
1
6
3
2
4
5
1. USER REQUEST
2. AUTH REQUEST (HEAD)
3. AUTH RESPONSE
4. CONTENT REQUEST (ON MISS)
5. CONTENT RESPONSE (ON MISS)
6. USER RESPONSE
USER
★ Ensure must-revalidate is ON
★ Great for large file downloads
? What if auth server doesn’t support HEAD?
©2015 AKAMAI | FASTER FORWARDTM
CACHING DYNAMIC PAGES
Cache-able:
Until this happens…
Solution:
• Serve from cache for non-
logged in users
• Bypass cache for logged in
users
• Use cookies to determine
state
(Much more to come in next section)
©2015 AKAMAI | FASTER FORWARDTM
OFFLOADING REDIRECTS
CDN
• Implement
redirects at edge if
possible
• Use appropriate
status codes: 301
or 302
©2015 AKAMAI | FASTER FORWARDTM
OFFLOADING REDIRECTS AVOIDS THIS…
m-dot redirect
implemented in
javascript!?!

Recommended for you

Varnish and Drupal- Accelerating Website Performance and Flexibility with Var...
Varnish and Drupal- Accelerating Website Performance and Flexibility with Var...Varnish and Drupal- Accelerating Website Performance and Flexibility with Var...
Varnish and Drupal- Accelerating Website Performance and Flexibility with Var...

As enterprises continue to adopt Drupal for building and deploying high performance web applications, the need for high-performance caching becomes integral to their implementation strategy. Acquia and Varnish partner to deliver the ideal caching solution for optimizing web performance allowing developers to focus on creating great websites. Acquia will discuss how we've implemented Varnish in Acquia Hosting to improve performance for our customers, as well as the best practices that can help improve performance of any Drupal website. Join us for this complimentary webinar where we'll discuss: - Considerations for managing a high-performance site - How to manage caching behaviors in Drupal - Tools and tips for improving site performance

drupalwebinaropen source
Access Management with Aruba ClearPass
Access Management with Aruba ClearPassAccess Management with Aruba ClearPass
Access Management with Aruba ClearPass

This document summarizes an Aruba Networks presentation on configuring access management with ClearPass. It outlines the agenda which includes reviewing an existing customer deployment, customer challenges and solutions, and a live configuration, authentication, and troubleshooting walkthrough. It then discusses the customer's existing 802.1X deployment and their new initiatives involving mobile device management, a Palo Alto firewall, and a visitor network with ClearPass guest. It explores how ClearPass can help integrate these solutions and limit access to only enrolled devices while applying granular policies. The presentation then demonstrates these concepts in a lab environment.

atm15
Pre-Con Education: Building Advanced ITSM Workflows in CA Service Management
Pre-Con Education: Building Advanced ITSM Workflows in CA Service ManagementPre-Con Education: Building Advanced ITSM Workflows in CA Service Management
Pre-Con Education: Building Advanced ITSM Workflows in CA Service Management

Learn how to build advanced IT service management (ITSM) process workflows with CA Process Automation (CA PAM). Examples will use flows relevant to common service management processes and integrations. For more information, please visit http://cainc.to/Nv2VOe

ca-spectrumit infrastructureinfrastructure management
©2015 AKAMAI | FASTER FORWARDTM
HTML5 localStorage
• Dedicated and robust client side storage
• 5MB dedicated per domain
• Scriptable, allows get/put/remove commands
• Useful in FEO optimizations
• e.g. decoupling JavaScript download from
execution
…Stay tuned for ServiceWorker
©2015 AKAMAI | FASTER FORWARDTM
INTRODUCTION
CACHING 101
CACHING 201
CACHING OPTIMIZATION WALKTHROUGH
SCENARIOS & GUIDELINES
Q & A
BREAK
INVALIDATION & PURGING
©2015 AKAMAI | FASTER FORWARDTM
The fastest request is
the one you don’t have to make.
©2015 AKAMAI | FASTER FORWARDTM
OPTIONS FOR UPDATING CACHE
1
2
3
RELY ON TTL
INVALIDATE
PURGE
elegance, safety
control, risk to origin

Recommended for you

TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9

This document discusses using Windows Server AppFabric caching to scale data layers. AppFabric caching provides a distributed, in-memory cache that can span machines and processes. It addresses issues like limited cache memory on individual servers. The document outlines how AppFabric caching works, how to install and configure it, and how to access the cache through the API. It also describes features like data distribution, eviction policies, and change notifications that allow the cache to efficiently scale to large workloads and data sets.

microsoftcahingappfabric
CIRCUIT 2015 - Akamai: Caching and Beyond
CIRCUIT 2015 - Akamai:  Caching and BeyondCIRCUIT 2015 - Akamai:  Caching and Beyond
CIRCUIT 2015 - Akamai: Caching and Beyond

Puru Hemnani - ICF Interactive The session will go over the advantages of CDN in general and Akamai caching in particular. Akamai is one of the most commonly used caching option with AEM and several clients use it. There are several features and akamai tuning options such as Error caching, GeoRouting, ESI, Siteshield, WAF that can help developers and system engineers make the sites faster and secure. Configuring it correctly can also reduce the licensing requirements for AEM as well as infrastructure costs as you can serve much higher amount of traffic with less number of origin servers.

cachingadobe experience managercircuit
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...

Amazon CloudFront and Amazon Route 53 can help optimize web application performance and availability. CloudFront improves performance by caching static and reusable content at edge locations and optimizing delivery of dynamic content through features like keep-alive connections and latency-based routing. Route 53 provides fast, reliable DNS services and can health check origins to improve high availability. Together, CloudFront and Route 53 provide a global network that caches content close to users and routes traffic based on network conditions to optimize performance and design for failure.

aws cloudarc309acceleration
©2015 AKAMAI | FASTER FORWARDTM
RELY ON TTL
1
BROWSER EDGE ORIGIN
GET
GET
200 OK with cache directives*
200 OK with cache directives
CONDITIONAL GET
200 OK (new object)
2
EXPIRES IN
BROSWER CACHE
CONTITIONAL GET
200 OK (new object)
EXPIRES IN
EDGE CACHE
* Cache directives:
cache-control
expires
last-modified
etag
OBJECT
MODIFIED
• Timestamp determined at time of caching via HTTP response
• Offers graceful mechanism to retire stale content
• Works on browsers, CDN and proxies
©2015 AKAMAI | FASTER FORWARDTM
INVALIDATING
INVALIDATE
1
BROWSER EDGE ORIGIN
GET
GET
200 OK with cache directives
200 OK with cache directives
CONDITIONAL GET
200 OK
2
EXPIRES IN
BROSWER CACHE
CONDITIONAL GET
200 OK*
OBJECT MARKED
AS EXPIRED
OBJECT
MODIFIED
* Since object modified
• Instruct cache to expire content but leave it in cache
©2015 AKAMAI | FASTER FORWARDTM
INVALIDATING (CONTD.)
INVALIDATE
1
BROWSER EDGE ORIGIN
GET
GET
200 OK with cache directives
200 OK with cache directives
CONDITIONAL GET
2
EXPIRES IN
BROSWER CACHE
CONDITIONAL GET
304 NOT MODIFIED OK*
OBJECT MARKED
AS EXPIRED
* Since object
not touched
• Works for CDN/proxies, not browsers
• Most CDNs provide both UI and API
304 NOT MODIFIED OK*
©2015 AKAMAI | FASTER FORWARDTM
PURGING
PURGE
1
BROWSER EDGE ORIGIN
GET
GET
200 OK with cache directives*
200 OK with cache directives
CONDITIONAL GET
200 OK
2
EXPIRES IN
BROSWER CACHE
[FULL] GET
[ALWAYS] 200 OK
OBJECT REMOVED
FROM CACHE
• Instruct cache to remove content
• Works for CDN/proxies, not browsers
• Most CDNs provide both UI and API

Recommended for you

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...

Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch and the role of CloudFlare - Sven Härtwig, CTO narf-studios GmbH Full video recording of the Talk: https://youtu.be/PlQhYAzYx3M

 
by nine
techtalkthursdaymeetupapfelkiste.ch
Front End Oprtimization
Front End OprtimizationFront End Oprtimization
Front End Oprtimization

The document discusses optimizing client-side delivery of web resources for performance. It notes that generation time accounts for 10-20% of performance, while delivery time accounts for 80-90%. Faster load times improve the customer experience and can increase revenue. Various techniques are presented for reducing load times, such as minimizing HTTP requests, optimizing caching, using content delivery networks, browser-based compression, and minimizing file sizes.

php yiiapachelinux
Extending Your Applications to the Edge with CDNs
Extending Your Applications to the Edge with CDNsExtending Your Applications to the Edge with CDNs
Extending Your Applications to the Edge with CDNs

CDNs have traditionally been considered "black box" services with lack of control and visibility. Modern applications and DevOps culture require more flexibility, customization, and insight into your infrastructure, and how content is being served. In this talk, we'll explore how you can use content delivery networks as an extension of your applications, with full control, flexibility, and transparency at the network edge.

salesforce developersdreamforcedf15
©2015 AKAMAI | FASTER FORWARDTM
Daily drop in % offload coincides with a spike in HTTP 3xx responses due to daily cache invalidations
REQUEST SPIKES DUE TO INVALIDATION/PURGE EVENTS
©2015 AKAMAI | FASTER FORWARDTM
RECOMMENDATIONS
GOOD
BETTER
BEST Version assets and use very large TTLs
Use TTLs apropos publishing needs
Allow serving stale
CDN TTL > Browser TTL for better control
Execute invalidation/purge at non-peak times
©2015 AKAMAI | FASTER FORWARDTM
INTRODUCTION
CACHING 101
CACHING 201
CACHING OPTIMIZATION WALKTHROUGH
SCENARIOS & GUIDELINES
Q & A
BREAK
INVALIDATION & PURGING
©2015 AKAMAI | FASTER FORWARDTM
 LAMP Stack running on a single Amazon EC2
East instance.
 Magento application layer, with “Madison
Island” sample theme.
 No CDN, No Browser Caching, No Origin
Cache.
 This will be our starting point…
DEMO APPLICATION
http://www.advancedcaching.org

Recommended for you

OpenNebulaConf 2016 - VTastic: Akamai Innovations for Distributed System Test...
OpenNebulaConf 2016 - VTastic: Akamai Innovations for Distributed System Test...OpenNebulaConf 2016 - VTastic: Akamai Innovations for Distributed System Test...
OpenNebulaConf 2016 - VTastic: Akamai Innovations for Distributed System Test...

The document discusses Akamai's system for testing distributed systems at massive scale. It describes Akamai's global content delivery network and the challenges of testing a system as large as Akamai's, with thousands of servers worldwide. It then introduces Vtastic, Akamai's solution for distributed testing, which involves cloning virtual test environments from a master testnet and running automated tests in parallel across the cloned environments.

opennebulaopennebulaconfopennebulaconf 2016
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck

YOUR RELIABLE WEB DESIGN & DEVELOPMENT TEAM — FOR LASTING SUCCESS WPRiders is a web development company specialized in WordPress and WooCommerce websites and plugins for customers around the world. The company is headquartered in Bucharest, Romania, but our team members are located all over the world. Our customers are primarily from the US and Western Europe, but we have clients from Australia, Canada and other areas as well. Some facts about WPRiders and why we are one of the best firms around: More than 700 five-star reviews! You can check them here. 1500 WordPress projects delivered. We respond 80% faster than other firms! Data provided by Freshdesk. We’ve been in business since 2015. We are located in 7 countries and have 22 team members. With so many projects delivered, our team knows what works and what doesn’t when it comes to WordPress and WooCommerce. Our team members are: - highly experienced developers (employees & contractors with 5 -10+ years of experience), - great designers with an eye for UX/UI with 10+ years of experience - project managers with development background who speak both tech and non-tech - QA specialists - Conversion Rate Optimisation - CRO experts They are all working together to provide you with the best possible service. We are passionate about WordPress, and we love creating custom solutions that help our clients achieve their goals. At WPRiders, we are committed to building long-term relationships with our clients. We believe in accountability, in doing the right thing, as well as in transparency and open communication. You can read more about WPRiders on the About us page.

web development agencywpriderswordpress development
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024

This is a powerpoint that features Microsoft Teams Devices and everything that is new including updates to its software and devices for May 2024

microsoft teamsmicrosoft
©2015 AKAMAI | FASTER FORWARDTM
INITIAL PERFORMANCE SNAPSHOT
• Distance impacts performance.
• VA->NY 2X faster than VA->CA
CALIFORNIA
NEW YORK
©2015 AKAMAI | FASTER FORWARDTM
PERFORMANCE IMPACT OF LATENCY
©2015 AKAMAI | FASTER FORWARDTM
PERFORMANCE IMPACT OF LATENCY
©2015 AKAMAI | FASTER FORWARDTM
PERFORMANCE IMPACT OF LATENCY

Recommended for you

Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf

As a popular open-source library for analytics engineering, dbt is often used in combination with Airflow. Orchestrating and executing dbt models as DAGs ensures an additional layer of control over tasks, observability, and provides a reliable, scalable environment to run dbt models. This webinar will cover a step-by-step guide to Cosmos, an open source package from Astronomer that helps you easily run your dbt Core projects as Airflow DAGs and Task Groups, all with just a few lines of code. We’ll walk through: - Standard ways of running dbt (and when to utilize other methods) - How Cosmos can be used to run and visualize your dbt projects in Airflow - Common challenges and how to address them, including performance, dependency conflicts, and more - How running dbt projects in Airflow helps with cost optimization Webinar given on 9 July 2024

apache airflowdbtdbt-core
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...

Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)

user modelinguser profilinguser model
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL

Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.

blockchainweb3blockchain technology
©2015 AKAMAI | FASTER FORWARDTM
BROWSER CACHING ISSUES
©2015 AKAMAI | FASTER FORWARDTM
BUT REPEAT VIEW SHOWS BROWSER CACHING…
©2015 AKAMAI | FASTER FORWARDTM
BROWSER CACHING GONE WRONG?
Embedded content missing Cache-Control headers!
©2015 AKAMAI | FASTER FORWARDTM
UNPREDICTABLE BROWSER CACHING
From http://httpwg.github.io/specs/rfc7234.html#heuristic.freshness
• "A cache may assign a heuristic expiration time when an explicit time is not
specified…”
• "If the response has a Last-Modified header field, caches are encouraged to use a
heuristic expiration value that is no more than some fraction of the interval since that
time (typically 10%)”.
★ Both Firefox and Chrome have
implemented the heuristic
freshness guidelines

Recommended for you

Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection

Cybersecurity is a major concern in today's connected digital world. Threats to organizations are constantly evolving and have the potential to compromise sensitive information, disrupt operations, and lead to significant financial losses. Traditional cybersecurity techniques often fall short against modern attackers. Therefore, advanced techniques for cyber security analysis and anomaly detection are essential for protecting digital assets. This blog explores these cutting-edge methods, providing a comprehensive overview of their application and importance.

cybersecurityanomaly detectionadvanced techniques
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024

Everything that I found interesting about engineering leadership last month

quantumfaxmachine
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf

Kief Morris rethinks the infrastructure code delivery lifecycle, advocating for a shift towards composable infrastructure systems. We should shift to designing around deployable components rather than code modules, use more useful levels of abstraction, and drive design and deployment from applications rather than bottom-up, monolithic architecture and delivery.

infrastructure as codeclouddevops
©2015 AKAMAI | FASTER FORWARDTM
EXAMINING BROWSER CACHEABILITY OF RESOURCES
FIREFOX
about:cache
©2015 AKAMAI | FASTER FORWARDTM
EXAMINING BROWSER CACHEABILITY OF RESOURCES
FIREFOX
about:cache
©2015 AKAMAI | FASTER FORWARDTM
EXAMINING BROWSER CACHEABILITY OF RESOURCES
http://redbot.org/
©2015 AKAMAI | FASTER FORWARDTM
1. Edit Apache httpd.conf and add a Directive to set Cache-Control Headers
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "now"
ExpiresByType image/gif "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType text/css "access plus 30 days"
ExpiresByType text/javascript "access plus 30 days"
ExpiresByType application/x-javascript "access plus 30 days"
</IfModule>
2. Restart Apache
3. Test to confirm it worked.
CONFIGURING CACHE-CONTROL AND EXPIRES HEADERS

Recommended for you

DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition

The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.

Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world

The presentation showcases the diverse real-world applications of Fused Deposition Modeling (FDM) across multiple industries: 1. **Manufacturing**: FDM is utilized in manufacturing for rapid prototyping, creating custom tools and fixtures, and producing functional end-use parts. Companies leverage its cost-effectiveness and flexibility to streamline production processes. 2. **Medical**: In the medical field, FDM is used to create patient-specific anatomical models, surgical guides, and prosthetics. Its ability to produce precise and biocompatible parts supports advancements in personalized healthcare solutions. 3. **Education**: FDM plays a crucial role in education by enabling students to learn about design and engineering through hands-on 3D printing projects. It promotes innovation and practical skill development in STEM disciplines. 4. **Science**: Researchers use FDM to prototype equipment for scientific experiments, build custom laboratory tools, and create models for visualization and testing purposes. It facilitates rapid iteration and customization in scientific endeavors. 5. **Automotive**: Automotive manufacturers employ FDM for prototyping vehicle components, tooling for assembly lines, and customized parts. It speeds up the design validation process and enhances efficiency in automotive engineering. 6. **Consumer Electronics**: FDM is utilized in consumer electronics for designing and prototyping product enclosures, casings, and internal components. It enables rapid iteration and customization to meet evolving consumer demands. 7. **Robotics**: Robotics engineers leverage FDM to prototype robot parts, create lightweight and durable components, and customize robot designs for specific applications. It supports innovation and optimization in robotic systems. 8. **Aerospace**: In aerospace, FDM is used to manufacture lightweight parts, complex geometries, and prototypes of aircraft components. It contributes to cost reduction, faster production cycles, and weight savings in aerospace engineering. 9. **Architecture**: Architects utilize FDM for creating detailed architectural models, prototypes of building components, and intricate designs. It aids in visualizing concepts, testing structural integrity, and communicating design ideas effectively. Each industry example demonstrates how FDM enhances innovation, accelerates product development, and addresses specific challenges through advanced manufacturing capabilities.

fdmffffused deposition modeling
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses

CIO Council Cal Poly Humboldt September 22, 2023

national research platformdistributed supercomputerdistributed systems
©2015 AKAMAI | FASTER FORWARDTM
BEFORE / AFTER
©2015 AKAMAI | FASTER FORWARDTM
CACHE PARENT
CACHE CHILD
ORIGI
N
CDN
BROWSER
©2015 AKAMAI | FASTER FORWARDTM
1. Setup basic configuration on CDN
2. Configure cache TTLs on CDN
3. Define behaviors for un-cacheable content
4. Test site via CDN
5. Configure DNS to route traffic through CDN
BASIC CDN SETUP
©2015 AKAMAI | FASTER FORWARDTM
BASIC CDN SETUP: CONFIGURE HOST AND ORIGIN

Recommended for you

find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges

accommodate the strengths, weaknesses, threats and opportunities of autonomous vehicles

automotive self-driving car technology
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers

The integration of programming into civil engineering is transforming the industry. We can design complex infrastructure projects and analyse large datasets. Imagine revolutionizing the way we build our cities and infrastructure, all by the power of coding. Programming skills are no longer just a bonus—they’re a game changer in this era. Technology is revolutionizing civil engineering by integrating advanced tools and techniques. Programming allows for the automation of repetitive tasks, enhancing the accuracy of designs, simulations, and analyses. With the advent of artificial intelligence and machine learning, engineers can now predict structural behaviors under various conditions, optimize material usage, and improve project planning.

programmingcodingcivil engineering
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry

Are you interested in dipping your toes in the cloud native observability waters, but as an engineer you are not sure where to get started with tracing problems through your microservices and application landscapes on Kubernetes? Then this is the session for you, where we take you on your first steps in an active open-source project that offers a buffet of languages, challenges, and opportunities for getting started with telemetry data. The project is called openTelemetry, but before diving into the specifics, we’ll start with de-mystifying key concepts and terms such as observability, telemetry, instrumentation, cardinality, percentile to lay a foundation. After understanding the nuts and bolts of observability and distributed traces, we’ll explore the openTelemetry community; its Special Interest Groups (SIGs), repositories, and how to become not only an end-user, but possibly a contributor.We will wrap up with an overview of the components in this project, such as the Collector, the OpenTelemetry protocol (OTLP), its APIs, and its SDKs. Attendees will leave with an understanding of key observability concepts, become grounded in distributed tracing terminology, be aware of the components of openTelemetry, and know how to take their first steps to an open-source contribution! Key Takeaways: Open source, vendor neutral instrumentation is an exciting new reality as the industry standardizes on openTelemetry for observability. OpenTelemetry is on a mission to enable effective observability by making high-quality, portable telemetry ubiquitous. The world of observability and monitoring today has a steep learning curve and in order to achieve ubiquity, the project would benefit from growing our contributor community.

cloudcloud native observabilitycloud native
©2015 AKAMAI | FASTER FORWARDTM
BASIC CDN SETUP: CONFIGURE HOST AND ORIGIN
IF INCOMING_HOST == “www.advancedcaching.org”
THEN
Set ORIGIN ADDRESS = “ec2-54-154-215-217.compute-
1.amazonaws.com”
Set ORIGIN PORT = “80”
Set FORWARD HOSTNAME = $INCOMING_HOST
Set CACHE_KEY_HOSTNAME = $INCOMING_HOST
Support gzip
©2015 AKAMAI | FASTER FORWARDTM
BASIC CDN SETUP: CACHING RULES
IF ( FILE_EXTENSION == <list of cacheable extensions> )
THEN
a) Set CDN Cache TTL to 30 days
b) Allow content to be served stale if unable to validate
c) Set downstream Cache-Control & Expires
Lifetime = smaller of (origin header | remaining edge TTL)
ELSE IF ( NOT_CACHEABLE )
THEN
a) No-Store at CDN
b) Pass downstream cacheability headers from origin
©2015 AKAMAI | FASTER FORWARDTM
BASIC CDN SETUP: TESTING
1. Confirm traffic is
routing through CDN
and cacheable content
is Cached
2. Configure hosts file to route traffic
through CDN
3. Test and verify site works as expected
©2015 AKAMAI | FASTER FORWARDTM
BASIC CDN SETUP: UPDATING DNS TO GO LIVE

Recommended for you

INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf

These fighter aircraft have uses outside of traditional combat situations. They are essential in defending India's territorial integrity, averting dangers, and delivering aid to those in need during natural calamities. Additionally, the IAF improves its interoperability and fortifies international military alliances by working together and conducting joint exercises with other air forces.

air force fighter planebiggest submarinezambia port
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy

Not so much to say

Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter

Widya Salim and Victor Ma will outline the causal impact analysis, framework, and key learnings used to quantify the impact of reducing Twitter's network latency.

©2015 AKAMAI | FASTER FORWARDTM
CONFIRMING CDN CACHE HITS
http://wpt.advancedcaching.org/
• WebPageTest Private Instance w/ some modifications:
1. Extends Details tab Reports to include Cacheability Data
2. New Cache-Analysis tab for correlating Last-Modified w/ CDN
Cache TTLs and Cache-Control/Expires headers
3. Automatically injects Akamai diagnostic headers
©2015 AKAMAI | FASTER FORWARDTM
CONFIRMING CDN CACHE HITS
©2015 AKAMAI | FASTER FORWARDTM
PERFORMANCE IMPACT OF CDN
 Faster load times
 Page renders faster since edge server close to end user
AKAMAI
ORIGIN
©2015 AKAMAI | FASTER FORWARDTM
CACHE PARENT
CACHE CHILD
ORIGI
N
CDN
BROWSER

Recommended for you

Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems

Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states. In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing. Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.

論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...

Jindong Gu, Zhen Han, Shuo Chen, Ahmad Beirami, Bailan He, Gengyuan Zhang, Ruotong Liao, Yao Qin, Volker Tresp, Philip Torr "A Systematic Survey of Prompt Engineering on Vision-Language Foundation Models" arXiv2023 https://arxiv.org/abs/2307.12980

Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...

Today’s digitally connected world presents a wide range of security challenges for enterprises. Insider security threats are particularly noteworthy because they have the potential to cause significant harm. Unlike external threats, insider risks originate from within the company, making them more subtle and challenging to identify. This blog aims to provide a comprehensive understanding of insider security threats, including their types, examples, effects, and mitigation techniques.

insider securitycybersecurity threatsenterprise security
©2015 AKAMAI | FASTER FORWARDTM
IMPROVING OFFLOAD VIA CDN
TIERED DISTRIBUTION
Parent / child caches to maximize offload
PRE-FETCH CONTENT
Offload milliseconds before content requested
PRE-FRESH CONTENT
Update cached content before TTL expires
©2015 AKAMAI | FASTER FORWARDTM
ADVANTAGES OF TIERED DISTRIBUTION
©2015 AKAMAI | FASTER FORWARDTM
• How old are the objects?
• How long do browsers cache (cache-
control)
• What do we know about publishing
process, i.e. versioned assets,
schedules, etc.?
DETERMINING APPROPRIATE CACHE TTLS?
©2015 AKAMAI | FASTER FORWARDTM
• For versioned assets, TTL should
be very high.
• For non-versioned assets, TTL for
CDN should be higher than
browser TTL
• Consider what needs to happen
when content is modified
MANAGING CDN + BROWSER CACHING

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
©2015 AKAMAI | FASTER FORWARDTM
Using http://wpt.advancedcaching.org, run a WebPagetest
Measurement and view the Cache Analysis Section.
Do you see any opportunities to improve your caching
strategy?
i. Yes
ii. No
iii. Not Sure
*POLL
©2015 AKAMAI | FASTER FORWARDTM
CACHE PARENT
CACHE CHILD
ORIGI
N
CDN
BROWSER
©2015 AKAMAI | FASTER FORWARDTM
CACHING AT THE ORIGIN

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
VARNISH CONFIGURATION
backend default {
.host = "54.152.215.217";
.port = "80";
.connect_timeout = 1s;
.first_byte_timeout = 5s;
.between_bytes_timeout = 2s;
}
sub vcl_recv {
if (req.url ~ ".(png|gif|jpg|swf|css|js)$") {
unset req.http.cookie;
}
}
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.Varnish-X-Cache = "HIT";
} else {
set resp.http.Varnish-X-Cache = "MISS";
}
}
/etc/varnish/default.vcl
DAEMON_OPTS="-a :80 
-T localhost:6082 
-f /etc/varnish/default.vcl 
-S /etc/varnish/secret 
-s malloc,256m"
/etc/default/varnish
©2015 AKAMAI | FASTER FORWARDTM
UPDATE CDN SETUP: CHANGE ORIGIN
IF INCOMING_HOST == “www.advancedcaching.org”
THEN
Set ORIGIN ADDRESS = “54.152.215.217”
Set ORIGIN ADDRESS = “52.91.239.172”
Set ORIGIN PORT = “80”
Set FORWARD HOSTNAME = $INCOMING_HOST
Set CACHE_KEY_HOSTNAME = $INCOMING_HOST
Support gzip
©2015 AKAMAI | FASTER FORWARDTM
ORIGIN CACHE - TESTING
First test directly via
origin cache (bypass
CDN)
Confirm requests are
offloaded
©2015 AKAMAI | FASTER FORWARDTM
ORIGIN CACHE – TESTING VIA CDN

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
CACHE PARENT
CACHE CHILD
ORIGI
N
CDN
BROWSER
But wait, there is more…
©2015 AKAMAI | FASTER FORWARDTM
DYNAMIC PAGE TYPES
1 - UNCONDITIONALLY CACHEABLE
2 - CONDITIONALLY CACHEABLE
3 – CACHEABLE WITH MULTIPLE VARIATIONS
4 – NON-CACHEABLE
©2015 AKAMAI | FASTER FORWARDTM
Page is the same for all users.
• Example: Completely Static HTML
• This can be cached like any embedded
object, e.g. image
#1 UNCONDITIONALLY CACHEABLE PAGE
©2015 AKAMAI | FASTER FORWARDTM
Page is the same for all users, expect for
certain conditions.
• Example: homepage with mini cart
coded in the HTML
• This may be conditionally cached for
some users, e.g. for un-signed user
#2 CONDITIONALLY CACHEABLE PAGE

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
Page is conditionally or unconditionally
cacheable, but requires multiple version
to be cached.
• Example: homepage with multiple
languages depending on the user’s
context
• Cache key modifications need to be
made
#3 DYNAMIC PAGE WITH MULTIPLE VARIATIONS
©2015 AKAMAI | FASTER FORWARDTM
Page is completely personalized,
unique per request – can not be
cached.
#4 NON-CACHEABLE PAGE
©2015 AKAMAI | FASTER FORWARDTM
Do you leverage any techniques for caching dynamic pages?
i. Yes
ii. No
*POLL
©2015 AKAMAI | FASTER FORWARDTM
(If you don’t cache dynamic pages), why not?
i. Our pages are too dynamic
ii. We could, but chose not to
*POLL

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
Is anything different returned for 2 identical
requests?
$ diff -s <(curl -Lvs http://www.advancedcaching.org/ 2>&1) <(curl -Lvs
http://www.advancedcaching.org/ 2>&1)
< < Set-Cookie: frontend=uim2n3k6atbis4slovn9r5dpc1; expires=Sun, 04-Oct-2015 06:34:28
GMT; Max-Age=3600; path=/; domain=www.advancedcaching.org; HttpOnly
---
> < Set-Cookie: frontend=dnjvcbvt9bsei7q1vhnfo68o81; expires=Sun, 04-Oct-2015 06:34:28
GMT; Max-Age=3600; path=/; domain=www.advancedcaching.org; HttpOnly
TESTING DYNAMIC CONTENT FOR CACHEABILITY
★ Set-Cookie doesn’t impact our ability to
cache dynamic HTML, provided the cache
strips Set-Cookie from the response.
©2015 AKAMAI | FASTER FORWARDTM
Where is the welcome message coming from?
TESTING DYNAMIC CONTENT FOR CACHEABILITY
©2015 AKAMAI | FASTER FORWARDTM
Where is the mini shopping cart coming from?
TESTING DYNAMIC CONTENT FOR CACHEABILITY
©2015 AKAMAI | FASTER FORWARDTM
Is there anything in the request indicating this is a logged in visitor
with an item in their cart?
Conclusion: The page is cacheable, but we don’t have enough
information to determine it’s cacheability.
TESTING DYNAMIC CONTENT FOR CACHEABILITY

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
Cache part of the page
Add indicators to conditionally cache
Rewrite page to leverage Ajax/JSON for dynamic portions
DEALING WITH NON-CACHEABLE DYNAMIC PAGES
GOOD
BETTER
BEST
©2015 AKAMAI | FASTER FORWARDTM
1. Cache the HTML <head> section of
response at edge
2. Serve that while origin is generating
rest of HTML
3. Serve the rest of the HTML once it
is received
ACCELERATING DYNAMIC PAGES - AKAMAI EDGESTART
★ This technique will accelerate
render time, but provides no
origin offload.
©2015 AKAMAI | FASTER FORWARDTM
• Set a “LoggedIn” cookie to indicate when user logs in, and a
“ContentsInCart” cookie when a user adds an item to their cart.
• This can be done at origin or at CDN
• Cache page conditionally based on the cookie indicators
• If request contains “LoggedIn=true” or “ContentsInCart=true” cookie,
bypass cache and forward request to origin
• Else serve response from cache
CACHING DYNAMIC HTML
©2015 AKAMAI | FASTER FORWARDTM
Add To Cart operation:
./apps/magento/htdocs/app/code/core/Mage/Checkout/controllers/CartController.php
Login operation:
./apps/magento/htdocs/app/code/core/Mage/Customer/controllers/AccountController.php
UPDATING OUR DEMO APP
setcookie("ContentsInCart", "true", time()+3600, "/", "www.advancedcaching.org");
setcookie("LoggedIn", "true", time()+3600, "/", "www.advancedcaching.org");

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
CACHING DYNAMIC CONTENT CONDITIONALLY
IF ( REQUEST_PATH == “/” OR “/akamai-polo.html” )
AND ( REQUEST_COOKIE “ContentsInCart” != “true” )
AND ( REQUEST_COOKIE “LoggedIn” != “true” )
THEN
a) Set CDN Cache TTL to 1 day
b) Allow content to be served stale if unable to validate
c) Set downstream Cache-Control & Expires
Lifetime = smaller of (origin header | remaining edge TTL
©2015 AKAMAI | FASTER FORWARDTM
WIDENING THE NET...
IF ( FILE_EXT == html)
AND ( REQUEST_PATH NOT (/checkout/* OR /account/* )
AND ( REQUEST_COOKIE “ContentsInCart” != “true” )
AND ( REQUEST_COOKIE “LoggedIn” != “true” )
THEN
a) Set CDN Cache TTL to 1 day
b) Allow content to be served stale if unable to validate
c) Set downstream Cache-Control & Expires
Lifetime = smaller of (origin header | remaining edge TTL
★ The ability to serve stale if unable to
validate is extremely useful for dynamic
content, especially if the origin is under
stress or experiencing issues.
©2015 AKAMAI | FASTER FORWARDTM
CACHING SEARCH RESULTS
http://www.advancedcaching.org/catalogsearch/result/?q=casual
★ When caching content such as this, there is
a potential for cache pollution. Creating
separate cache buckets for this content can
mitigate the risk.
©2015 AKAMAI | FASTER FORWARDTM
OFFLOADING 3RD PARTY CONTENT
3rd party fonts are a SPOF, but
required to render this page
2 additional DNS lookups + 3 TCP
connections for loading content
critical to the render path

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
OFFLOADING 3RD PARTY CONTENT
HTML:
CSS:
©2015 AKAMAI | FASTER FORWARDTM
OFFLOADING 3RD PARTY CONTENT
Serve fonts on the primary domain when possible
• Requires code change at origin
Rewrite HTML and perform forward re-writes at CDN to
3rd Party:
• Requires no code changes at origin
• Replace 3rd party hostnames from HTML & CSS
• @CDN, match on filenames, fetch from alternative origin
• Cache response at CDN
GOOD
BEST
©2015 AKAMAI | FASTER FORWARDTM
ORIGINAL HTML / CSS FOR FONTS
HTML:
CSS:
©2015 AKAMAI | FASTER FORWARDTM
HTML FIND / REPLACE
IF ( PATH CONTAINS “/” ) OR ( FILE_EXTENSION == “php” )
THEN
a) Find “fonts.googleapis.com”
b) Replace with
“www.advancedcaching.org/googleapis/fonts.googleapis.com”
IF ( PATH CONTAINS “/googlapis/fonts.googleapis.com” )
THEN
a) Find “fonts.gstatic.com”
b) Replace with
“www.advancedcaching.org/gstatic/fonts.gstatic.com”

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
REWRITTEN HTML / CSS FOR FONTS
HTML:
CSS:
©2015 AKAMAI | FASTER FORWARDTM
FORWARD REWRITE RULE + CACHING
IF ( PATH CONTAINS “/googleapis/” )
THEN
a) Remove /googleapis/ from the URL
b) Change the origin server to fonts.googleapis.com
c) Set CDN Cache TTL to 7 days
d) Allow content to be served stale if unable to validate
e) Set downstream Cache-Control & Expires
Lifetime = smaller of (origin header | remaining edge TTL
©2015 AKAMAI | FASTER FORWARDTM
FORWARD REWRITE RULE + CACHING
IF ( PATH CONTAINS “/gstatic/” )
THEN
a) Remove /gstatic/ from the URL
b) Change the origin server to fonts.gstatic.com
c) Set CDN Cache TTL to 7 days
d) Allow content to be served stale if unable to validate
e) Set downstream Cache-Control & Expires
Lifetime = smaller of (origin header | remaining edge TTL
©2015 AKAMAI | FASTER FORWARDTM
OFFLOADING 3RD PARTY CONTENT - RESULTS
BEFORE
- Request #14.
- DNS Lookup and TCP
connection for single request
- Start render at 0.9s
AFTER
- Request #4.
- Render blocking CSS request prioritized by
browser
- No additional DNS overhead
- TCP connection reused
- Request is cached at the edge
- Start render at 0.7s

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
OFFLOADING 3RD PARTY CONTENT - RESULTS
Accelerating resource critical render path will result in faster render time
Offloading resource at edge and allowing it to be served stale eliminates the risk of SPOF
3rd PARTY CACHING ON
3rd PARTY CACHING OFF
©2015 AKAMAI | FASTER FORWARDTM
CACHE PARENT
CACHE CHILD
ORIGI
N
CDN
BROWSER
“Very Nice!”
©2015 AKAMAI | FASTER FORWARDTM
Performance Under Load
ALL CACHING ON
NO CACHING
ALL CACHING ON
NO CACHING
©2015 AKAMAI | FASTER FORWARDTM
INTRODUCTION
CACHING 101
CACHING 201
CACHING OPTIMIZATION WALKTHROUGH
SCENARIOS & GUIDELINES
Q & A
BREAK
INVALIDATION & PURGING

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
E-COMMERCE APPLICATION SCENARIO
©2015 AKAMAI | FASTER FORWARDTM
©2015 AKAMAI | FASTER FORWARDTM
• Proactively increase the capacity of J.Crew’s web
applications
• Need to support traffic surges due to media events
• Maximize performance for repeat visitors
THE NEED FOR MAXIMIZING OFFLOAD
©2015 AKAMAI | FASTER FORWARDTM
CACHING DYNAMIC PAGES @ J. CREW
SINCE 2009!
REDIRECTS CONFIGURED AT CDN LAYER
SPLIT ORIGIN FOR DESKTOP AND MOBILE TRAFFIC
FLEXIBLE CACHE KEYS TO MAXIMIZE OFFLOAD

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
REDIRECTS CONFIGURED AT THE CDN
• Redirects can not be cached, but can be moved closer to the user
• Configuring redirects at the CDN layer eliminates need for extra
round trip to the origin
• Redirects are location based
©2015 AKAMAI | FASTER FORWARDTM
SAME URL, DIFFERENT ORIGINS. BOTH CACHED
Flexible cache keys enabled multiple variations of the page to be cached,
including multiple origins
©2015 AKAMAI | FASTER FORWARDTM
… while maintaining high offload and reducing costly traffic at origin.
SHORT TTLS FOR DYNAMIC PAGES ENSURES FRESHNESS
©2015 AKAMAI | FASTER FORWARDTM
… maximizes offload and improves load time for repeat visitors
LONG TTLS FOR STATIC CONTENT…

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
HIGH TRAFFIC EVENT SCENARIO
©2015 AKAMAI | FASTER FORWARDTM
ANATOMY OF A FLASH CROWD
©2015 AKAMAI | FASTER FORWARDTM
1. Cache as much of page as possible
2. Limit 3rd party content to reliable providers
3. Limit Ajax calls that are un-cacheable
4. Failover strategy: retry on error, serve custom error page with
auto-refresh
5. CDN hosted waiting room for controlling origin load
CACHING TECHNIQUES TO MITIGATE FLASH CROWDS
©2015 AKAMAI | FASTER FORWARDTM
CACHING TECHNIQUES TO MITIGATE FLASH CROWDS

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
MOBILE APPLICATION SCENARIO
©2015 AKAMAI | FASTER FORWARDTM
APP
APIs
©2015 AKAMAI | FASTER FORWARDTM
• API provider -> Partner/Developer -> User
• Others dictate release schedules
• Risk of rogue implementations
• Once spec’d, hard to update
BEHOLDEN TO PARTNERS & DEVELOPERS
©2015 AKAMAI | FASTER FORWARDTM
• Could originate from anywhere!
• Big spikes possible
• Hard to predict partner adoption
rates
HIGHLY UNPREDICTABLE TRAFFIC

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
Slow devices over slow connections
APPS DOMINATE MOBILE EXPERIENCE
©2015 AKAMAI | FASTER FORWARDTM
©2015 AKAMAI | FASTER FORWARDTM
• Start with compute cloud
• Complement with CDN to address
performance, scale and security needs
• Address total cost of ownership
1 – EMBRACE THE CLOUD
©2015 AKAMAI | FASTER FORWARDTM
• Cache dynamic, non-personalized
responses
• Use Etags
• Rationalize URL parameters to avoid
fragmentation - do it on edge or origin
• Enforce uniform ordering of URL
parameters
Same Content, Multiple Keys:
http://example.com/weather-data.asp?slat=47.43&slon=19.27&langid=20
http://example.com/weather-data.asp?slat=47.48&slon=19.28&langid=20
http://example.com/weather-data.asp?langid=20&slat=47.42&slon=19.29
http://example.com/weather-data.asp?langid=20&slat=47.41&slon=19.25
Rationalized:
http://example.com/weather-data.asp?slat=47.40&slon=19.20&langid=20
http://example.com/weather-data.asp?slat=47.40&slon=19.20&langid=20
http://example.com/weather-data.asp?slat=47.40&slon=19.20&langid=20
http://example.com/weather-data.asp?slat=47.40&slon=19.20&langid=20
Rationalize + Re-order
at edge or at origin using 302
2 - MAKE CACHING YOUR FRIEND

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
• Most apps require entitlement on
every request
• Segregate authorization vs. content
flows
• Consider caching auth response at edge
3 - PROTECT AND PERFORM SIMULTANEOUSLY
©2015 AKAMAI | FASTER FORWARDTM
• Long TTLs preferred, but short ones will
do
• Enable cache-control & expires headers
for client and gateway proxies
• Implement failover
• Avoid redirects
• yadda, yadda, yadda
4 - USUAL RECOMMENDATIONS APPLY
©2015 AKAMAI | FASTER FORWARDTM
INTRODUCTION
CACHING 101
CACHING 201
CACHING OPTIMIZATION WALKTHROUGH
SCENARIOS & GUIDELINES
Q & A
BREAK
INVALIDATION & PURGING
©2015 AKAMAI | FASTER FORWARDTM
• Pick up your copy of the preview edition
of the upcoming book -
“High Performance Images”
• Talk to an HTTP/2 expert and view our
demo!
VISIT AKAMAI AT KIOSK #22

Recommended for you

©2015 AKAMAI | FASTER FORWARDTM
REFERENCES
©2015 AKAMAI | FASTER FORWARDTM
TOOLS WE USED TODAY
Tool URL
WebPageTest http://www.webpagetest.org
WebpageTest Private Instance http://wpt.advancedcaching.org
Google PageSpeed Insights https://developers.google.com/speed/pagespeed/insights/
Keynote KITE http://kite.keynote.com
Soasta http://www.soasta.com
REDbot https://redbot.org/
Charles Proxy http://www.charlesproxy.com/
Chrome DevTools https://developers.google.com/web/tools/setup/workspace/setup-devtools
Akamai {OPEN} API
https://developer.akamai.com/
https://community.akamai.com/community/developer/blog/2015/08/19/getting-
started-with-the-v2-open-ccu-api?sr=stream
©2015 AKAMAI | FASTER FORWARDTM
ADDITIONAL INFORMATION
Topic Author URL
HTTP 1.1 Caching Specs IETF http://httpwg.github.io/specs/rfc7234.html
A Practical Guide to Web Resource
Caching – Parts 1 & 2 Pierre Lermant, Akamai
https://blogs.akamai.com/2013/11/a-practical-guide-to-web-
resource-caching-part-1.html
https://blogs.akamai.com/2013/11/part-2-a-practical-guide-to-
web-resource-caching.html
Dynamic Content: A Short TTL as an
Alternative to Purge Pierre Lermant, Akamai
https://blogs.akamai.com/2014/12/dynamic-content-a-short-ttl-
as-an-alternative-to-purge.html
Measuring Impact of Page Caching
Akshay Ranganath,
Akamai
https://community.akamai.com/community/web-
performance/blog/2015/08/12/measuring-impact-of-page-caching
Prebrowsing
Steve Souders,
SpeedCurve http://www.stevesouders.com/blog/2013/11/07/prebrowsing/
©2015 AKAMAI | FASTER FORWARDTM
Thank you!

Recommended for you

More Related Content

What's hot

NGINXでの認可について考える
NGINXでの認可について考えるNGINXでの認可について考える
NGINXでの認可について考える
Hitachi, Ltd. OSS Solution Center.
 
Content Security Policy
Content Security PolicyContent Security Policy
Content Security Policy
Austin Gil
 
Cross site scripting
Cross site scriptingCross site scripting
Cross site scripting
kinish kumar
 
Web application security
Web application securityWeb application security
Web application security
Akhil Raj
 
Dep005 azure ネットワーク設計
Dep005 azure ネットワーク設計Dep005 azure ネットワーク設計
Dep005 azure ネットワーク設計
Tech Summit 2016
 
Using JSON Web Tokens for REST Authentication
Using JSON Web Tokens for REST Authentication Using JSON Web Tokens for REST Authentication
Using JSON Web Tokens for REST Authentication
Mediacurrent
 
ASP.NET Core 2.x Identityについて
ASP.NET Core 2.x IdentityについてASP.NET Core 2.x Identityについて
ASP.NET Core 2.x Identityについて
Yuta Matsumura
 
F5 TLS & SSL Practices
F5 TLS & SSL PracticesF5 TLS & SSL Practices
F5 TLS & SSL Practices
Brian A. McHenry
 
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース
Enpel
 
Lesson 3- Remote Access
Lesson 3- Remote AccessLesson 3- Remote Access
Lesson 3- Remote Access
MLG College of Learning, Inc
 
SQL injection prevention techniques
SQL injection prevention techniquesSQL injection prevention techniques
SQL injection prevention techniques
SongchaiDuangpan
 
seminar report on Sql injection
seminar report on Sql injectionseminar report on Sql injection
seminar report on Sql injection
Jawhar Ali
 
Security misconfiguration
Security misconfigurationSecurity misconfiguration
Security misconfiguration
Micho Hayek
 
File upload vulnerabilities & mitigation
File upload vulnerabilities & mitigationFile upload vulnerabilities & mitigation
File upload vulnerabilities & mitigation
Onwukike Chinedu. CISA, CEH, COBIT5 LI, CCNP
 
Understanding Box UI Elements
Understanding Box UI ElementsUnderstanding Box UI Elements
Understanding Box UI Elements
Jonathan LeBlanc
 
Owasp top 10 vulnerabilities
Owasp top 10 vulnerabilitiesOwasp top 10 vulnerabilities
Owasp top 10 vulnerabilities
OWASP Delhi
 
OWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITISOWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITIS
Null Bhubaneswar
 
Cookie testing
Cookie testingCookie testing
Cookie testing
BugRaptors
 
Blockchain Security and Privacy
Blockchain Security and PrivacyBlockchain Security and Privacy
Blockchain Security and Privacy
Anil John
 
Fortinet FortiOS 5 Presentation
Fortinet FortiOS 5 PresentationFortinet FortiOS 5 Presentation
Fortinet FortiOS 5 Presentation
NCS Computech Ltd.
 

What's hot (20)

NGINXでの認可について考える
NGINXでの認可について考えるNGINXでの認可について考える
NGINXでの認可について考える
 
Content Security Policy
Content Security PolicyContent Security Policy
Content Security Policy
 
Cross site scripting
Cross site scriptingCross site scripting
Cross site scripting
 
Web application security
Web application securityWeb application security
Web application security
 
Dep005 azure ネットワーク設計
Dep005 azure ネットワーク設計Dep005 azure ネットワーク設計
Dep005 azure ネットワーク設計
 
Using JSON Web Tokens for REST Authentication
Using JSON Web Tokens for REST Authentication Using JSON Web Tokens for REST Authentication
Using JSON Web Tokens for REST Authentication
 
ASP.NET Core 2.x Identityについて
ASP.NET Core 2.x IdentityについてASP.NET Core 2.x Identityについて
ASP.NET Core 2.x Identityについて
 
F5 TLS & SSL Practices
F5 TLS & SSL PracticesF5 TLS & SSL Practices
F5 TLS & SSL Practices
 
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース
 
Lesson 3- Remote Access
Lesson 3- Remote AccessLesson 3- Remote Access
Lesson 3- Remote Access
 
SQL injection prevention techniques
SQL injection prevention techniquesSQL injection prevention techniques
SQL injection prevention techniques
 
seminar report on Sql injection
seminar report on Sql injectionseminar report on Sql injection
seminar report on Sql injection
 
Security misconfiguration
Security misconfigurationSecurity misconfiguration
Security misconfiguration
 
File upload vulnerabilities & mitigation
File upload vulnerabilities & mitigationFile upload vulnerabilities & mitigation
File upload vulnerabilities & mitigation
 
Understanding Box UI Elements
Understanding Box UI ElementsUnderstanding Box UI Elements
Understanding Box UI Elements
 
Owasp top 10 vulnerabilities
Owasp top 10 vulnerabilitiesOwasp top 10 vulnerabilities
Owasp top 10 vulnerabilities
 
OWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITISOWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITIS
 
Cookie testing
Cookie testingCookie testing
Cookie testing
 
Blockchain Security and Privacy
Blockchain Security and PrivacyBlockchain Security and Privacy
Blockchain Security and Privacy
 
Fortinet FortiOS 5 Presentation
Fortinet FortiOS 5 PresentationFortinet FortiOS 5 Presentation
Fortinet FortiOS 5 Presentation
 

Similar to Advanced Caching Concepts @ Velocity NY 2015

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
Akamai Technologies
 
UI5 with Akamai - Introduction to the Content Delivery Network
UI5 with Akamai - Introduction to the Content Delivery NetworkUI5 with Akamai - Introduction to the Content Delivery Network
UI5 with Akamai - Introduction to the Content Delivery Network
Gokul Anand E, PMP®
 
Chicago Tech Day Jan 2015: Hidden Features
Chicago Tech Day Jan 2015: Hidden FeaturesChicago Tech Day Jan 2015: Hidden Features
Chicago Tech Day Jan 2015: Hidden Features
Akamai Technologies
 
Edge 2016 service workers and other front end techniques
Edge 2016 service workers and other front end techniquesEdge 2016 service workers and other front end techniques
Edge 2016 service workers and other front end techniques
akamaidevrel
 
2015 Velocity SC: Convince your CFO that #perfmatters
2015 Velocity SC: Convince your CFO that #perfmatters2015 Velocity SC: Convince your CFO that #perfmatters
2015 Velocity SC: Convince your CFO that #perfmatters
Colin Bendell
 
Third Party Performance (Velocity, 2014)
Third Party Performance (Velocity, 2014)Third Party Performance (Velocity, 2014)
Third Party Performance (Velocity, 2014)
Guy Podjarny
 
Networks, Networks Everywhere, And Not A Packet To Drink
Networks, Networks Everywhere, And Not A Packet To DrinkNetworks, Networks Everywhere, And Not A Packet To Drink
Networks, Networks Everywhere, And Not A Packet To Drink
ReadWrite
 
Velocity EU 2014: Recycling the Web (why it's slowing your mobile app)
Velocity EU 2014: Recycling the Web (why it's slowing your mobile app)Velocity EU 2014: Recycling the Web (why it's slowing your mobile app)
Velocity EU 2014: Recycling the Web (why it's slowing your mobile app)
Colin Bendell
 
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
 
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Akamai Developers & Admins
 
Varnish and Drupal- Accelerating Website Performance and Flexibility with Var...
Varnish and Drupal- Accelerating Website Performance and Flexibility with Var...Varnish and Drupal- Accelerating Website Performance and Flexibility with Var...
Varnish and Drupal- Accelerating Website Performance and Flexibility with Var...
Acquia
 
Access Management with Aruba ClearPass
Access Management with Aruba ClearPassAccess Management with Aruba ClearPass
Access Management with Aruba ClearPass
Aruba, a Hewlett Packard Enterprise company
 
Pre-Con Education: Building Advanced ITSM Workflows in CA Service Management
Pre-Con Education: Building Advanced ITSM Workflows in CA Service ManagementPre-Con Education: Building Advanced ITSM Workflows in CA Service Management
Pre-Con Education: Building Advanced ITSM Workflows in CA Service Management
CA Technologies
 
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
Nuno Godinho
 
CIRCUIT 2015 - Akamai: Caching and Beyond
CIRCUIT 2015 - Akamai:  Caching and BeyondCIRCUIT 2015 - Akamai:  Caching and Beyond
CIRCUIT 2015 - Akamai: Caching and Beyond
ICF CIRCUIT
 
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Amazon Web Services
 
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
 
Front End Oprtimization
Front End OprtimizationFront End Oprtimization
Front End Oprtimization
Folio3 Software
 
Extending Your Applications to the Edge with CDNs
Extending Your Applications to the Edge with CDNsExtending Your Applications to the Edge with CDNs
Extending Your Applications to the Edge with CDNs
Salesforce Developers
 
OpenNebulaConf 2016 - VTastic: Akamai Innovations for Distributed System Test...
OpenNebulaConf 2016 - VTastic: Akamai Innovations for Distributed System Test...OpenNebulaConf 2016 - VTastic: Akamai Innovations for Distributed System Test...
OpenNebulaConf 2016 - VTastic: Akamai Innovations for Distributed System Test...
OpenNebula Project
 

Similar to Advanced Caching Concepts @ Velocity NY 2015 (20)

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
 
UI5 with Akamai - Introduction to the Content Delivery Network
UI5 with Akamai - Introduction to the Content Delivery NetworkUI5 with Akamai - Introduction to the Content Delivery Network
UI5 with Akamai - Introduction to the Content Delivery Network
 
Chicago Tech Day Jan 2015: Hidden Features
Chicago Tech Day Jan 2015: Hidden FeaturesChicago Tech Day Jan 2015: Hidden Features
Chicago Tech Day Jan 2015: Hidden Features
 
Edge 2016 service workers and other front end techniques
Edge 2016 service workers and other front end techniquesEdge 2016 service workers and other front end techniques
Edge 2016 service workers and other front end techniques
 
2015 Velocity SC: Convince your CFO that #perfmatters
2015 Velocity SC: Convince your CFO that #perfmatters2015 Velocity SC: Convince your CFO that #perfmatters
2015 Velocity SC: Convince your CFO that #perfmatters
 
Third Party Performance (Velocity, 2014)
Third Party Performance (Velocity, 2014)Third Party Performance (Velocity, 2014)
Third Party Performance (Velocity, 2014)
 
Networks, Networks Everywhere, And Not A Packet To Drink
Networks, Networks Everywhere, And Not A Packet To DrinkNetworks, Networks Everywhere, And Not A Packet To Drink
Networks, Networks Everywhere, And Not A Packet To Drink
 
Velocity EU 2014: Recycling the Web (why it's slowing your mobile app)
Velocity EU 2014: Recycling the Web (why it's slowing your mobile app)Velocity EU 2014: Recycling the Web (why it's slowing your mobile app)
Velocity EU 2014: Recycling the Web (why it's slowing your mobile app)
 
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 ...
 
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
 
Varnish and Drupal- Accelerating Website Performance and Flexibility with Var...
Varnish and Drupal- Accelerating Website Performance and Flexibility with Var...Varnish and Drupal- Accelerating Website Performance and Flexibility with Var...
Varnish and Drupal- Accelerating Website Performance and Flexibility with Var...
 
Access Management with Aruba ClearPass
Access Management with Aruba ClearPassAccess Management with Aruba ClearPass
Access Management with Aruba ClearPass
 
Pre-Con Education: Building Advanced ITSM Workflows in CA Service Management
Pre-Con Education: Building Advanced ITSM Workflows in CA Service ManagementPre-Con Education: Building Advanced ITSM Workflows in CA Service Management
Pre-Con Education: Building Advanced ITSM Workflows in CA Service Management
 
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
 
CIRCUIT 2015 - Akamai: Caching and Beyond
CIRCUIT 2015 - Akamai:  Caching and BeyondCIRCUIT 2015 - Akamai:  Caching and Beyond
CIRCUIT 2015 - Akamai: Caching and Beyond
 
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
 
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...
 
Front End Oprtimization
Front End OprtimizationFront End Oprtimization
Front End Oprtimization
 
Extending Your Applications to the Edge with CDNs
Extending Your Applications to the Edge with CDNsExtending Your Applications to the Edge with CDNs
Extending Your Applications to the Edge with CDNs
 
OpenNebulaConf 2016 - VTastic: Akamai Innovations for Distributed System Test...
OpenNebulaConf 2016 - VTastic: Akamai Innovations for Distributed System Test...OpenNebulaConf 2016 - VTastic: Akamai Innovations for Distributed System Test...
OpenNebulaConf 2016 - VTastic: Akamai Innovations for Distributed System Test...
 

Recently uploaded

WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
論��紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 

Recently uploaded (20)

WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 

Advanced Caching Concepts @ Velocity NY 2015

  • 1. ©2015 AKAMAI | FASTER FORWARDTM ADVANCED CACHING CONCEPTS Paul Calvano @paulcalvano Rakesh Chaudhary @nutboltfilms
  • 2. ©2015 AKAMAI | FASTER FORWARDTM <Insert Uber Video> ● Courtesy “Late Show With Stephen Colbert” Travis Kalanick, Uber CEO @ The Late Show with Stephen Colbert
  • 3. ©2015 AKAMAI | FASTER FORWARDTM “Anticipatory Delivery” According to the patent, the packages could wait at the shipper’s hubs or on trucks until an order arrives.
  • 4. ©2015 AKAMAI | FASTER FORWARDTM Caching is a demand-based distribution optimization to improve performance and scalability of a system.
  • 5. ©2015 AKAMAI | FASTER FORWARDTM “40% MOBILE USERS WILL ABANDON IF PAGE LOAD >3s” Meanwhile… Source: Tammy Everts, SOASTAhttp://blog.radware.com/ applicationdelivery/applicationacc elerationoptimization/2015/02/wh y-you-should-care-about-mobile- web-performance/
  • 6. ©2015 AKAMAI | FASTER FORWARDTM Source: Colin Bendell, Akamai “Convince your CFO that #perfmatters” @ Velocity SC 2015 http://goo.gl/eMqNog “PERFORMANCE CAN MAKE HAPPY USERS… …AND BUSINESS SENSE” CBC Case Study (FIFA World Cup 2014)  45% spike in traffic  30% faster  90-95% offload  REDUCED #servers @origin
  • 7. ©2015 AKAMAI | FASTER FORWARDTM STEVE SOUDER’S 14 RULES FOR FASTER WEBSITES Rule 1 - Make Fewer HTTP Requests Rule 2 - Use a Content Delivery Network Rule 3 - Add an Expires Header Rule 4 - Gzip Components Rule 5 - Put Stylesheets at the Top Rule 6 - Put Scripts at the Bottom Rule 7 - Avoid CSS Expressions Rule 8 - Make JavaScript and CSS External Rule 9 - Reduce DNS Lookups Rule 10 - Minify JavaScript Rule 11 - Avoid Redirects Rule 12 - Remove Duplicate Scripts Rule 13 - Configure ETags Rule 14 - Make AJAX Cacheable
  • 8. ©2015 AKAMAI | FASTER FORWARDTM Run a WebPagetest for your (or a favorite) site. Use the private instance at http://wpt.advancedcaching.org Hang onto the results… EXERCISE
  • 9. ©2015 AKAMAI | FASTER FORWARDTM
  • 10. ©2015 AKAMAI | FASTER FORWARDTM THE THREE GUIDING PRINCIPLES OF CACHING
  • 11. ©2015 AKAMAI | FASTER FORWARDTM #1 CACHE AS MUCH AS YOU CAN *Source: HTTP Archive on Sept 15 2015 97% resources on a page potentially cacheable However…
  • 12. ©2015 AKAMAI | FASTER FORWARDTM Can you see this poll? i. Yes ii. No *POLL
  • 13. ©2015 AKAMAI | FASTER FORWARDTM Earlier, you ran a WebPagetest* for your (or a favorite) site. What rating did you get for “Cache Static Content”? i.A ii.B iii.C iv.D v.F *POLL * Use the private instance at http://wpt.advancedcaching.org
  • 14. ©2015 AKAMAI | FASTER FORWARDTM #2 CACHE AS LONG AS YOU CAN *Source: HTTP Archive on Sept 15 2015 In majority of cases, we notice resource age much higher than cache TTL directive *
  • 15. ©2015 AKAMAI | FASTER FORWARDTM #3 CACHE AS CLOSE TO USER AS YOU CAN Source: Ilya Grigorik, http://chimera.labs.oreilly.com/books/1230000000545/ch01.html#SPEED_FEATURE “We need to reduce round trips, move the data closer to the client, hide the latency through caching…” “Latency impedes bandwidth utilization”
  • 16. ©2015 AKAMAI | FASTER FORWARDTM [From earlier WebPagetest result:] What rating did you get for “Effective Use of CDN”? i. A ii. B iii. C iv. D v. F *POLL
  • 17. ©2015 AKAMAI | FASTER FORWARDTM 1. Cache as much as you can 2. Cache as long as you can 3. Cache as close to user as you can
  • 18. ©2015 AKAMAI | FASTER FORWARDTM INTRODUCTION CACHING 101 CACHING 201 CACHING OPTIMIZATION WALKTHROUGH SCENARIOS & GUIDELINES Q & A BREAK INVALIDATION & PURGING
  • 19. ©2015 AKAMAI | FASTER FORWARDTM INTRODUCTION CACHING 101 CACHING 201 CACHING OPTIMIZATION WALKTHROUGH SCENARIOS & GUIDELINES Q & A BREAK INVALIDATION & PURGING
  • 20. ©2015 AKAMAI | FASTER FORWARDTM WHERE CACHING HAPPENS CACHE PARENT CACHE CHILD ORIGI N CDN BROWSER GATEWAY
  • 21. ©2015 AKAMAI | FASTER FORWARDTM WHAT CONTROLS DO YOU HAVE? CACHE PARENT CACHE CHILD ORIGI N CDN BROWSER GATEWAY HTTP headers for browser cache Programmatic for localStorage (and ServiceWorker) HTTP headers HTTP headers CDN Config [ UI / API ] HTTP headers Reverse Proxy Config [ UI / API ]
  • 22. ©2015 AKAMAI | FASTER FORWARDTM CACHES WE WILL FOCUS ON 1 2 3 4 CACHE PARENT CACHE CHILD ORIGI N CDN BROWSER
  • 23. ©2015 AKAMAI | FASTER FORWARDTM CACHE HIT RATIO COMMON TERMINOLOGY {#requests from cache} / {#total requests} CACHE MISS cache query results in object not in cache or stale STALE RESOURCE object has already expired, need to contact origin INVALIDATION remove content from cache ahead of expiry CONDITIONAL GET request resource only if modified
  • 24. ©2015 AKAMAI | FASTER FORWARDTM CACHE-CONTROL BASIC HTTP RESPONSE HEADERS TTL and other directives EXPIRES Date/time stamp of future expiry ETAG Unique resource identifier LAST-MODIFIED Date/time stamp last modified at server VARY Add additional request parameters to cache key
  • 25. ©2015 AKAMAI | FASTER FORWARDTM CACHE-CONTROL IMPORTANT HTTP CACHE DIRECTIVES MAX-AGE Time-to-live delta NO-STORE PRIVATE MUST-REVALIDATE Do not cache Meant to be cached only by single user, i.e. browser, not proxy Do not serve stale PUBLIC Can be cached by shared proxy
  • 26. ©2015 AKAMAI | FASTER FORWARDTM TYPICAL CACHE INTERACTION (LAST-MODIFIED) CLIENT SERVER GET 200 OK Cache-control: <max-age> Expires: <date-time-stamp> Last-Modified: <date-time-stamp> GET If-modified-since: <last_modified_value> 200 OK or 304 Not Modified EXPIRES IN CACHE
  • 27. ©2015 AKAMAI | FASTER FORWARDTM TYPICAL CACHE INTERACTION (ETAG) CLIENT SERVER GET 200 OK Cache-Control: <max-age> Expires: <date-time-stamp> Etag: “<string>” GET If-none-match: “<etag_value>” 200 OK or 304 Not Modified EXPIRES IN CACHE • Etags are often mis-configured, lead to cache pollution • Rely on Last-modified when you can • Useful when caching dynamic content, e.g. API responses
  • 28. ©2015 AKAMAI | FASTER FORWARDTM CACHE KEYS HOST PATH QUERY ARGUMENTS/ ? By default, a web cache uses the following combination as primary key: Example – following represent different cached entities: www.example.com/en/logo.jpg www.example.com/jp/logo.jpg www.example.com/en/logo.jpg?len=100&height=100 www.example.com/en/logo.jpg?len=100&height=200 www.example.com/en/logo.jpg?len=100
  • 29. ©2015 AKAMAI | FASTER FORWARDTM Which of the following HTTP status code is *not* cacheable by default? i. 404 Not Found ii. 301 Moved permanently iii. 200 OK iv. 302 Found v. 501 Not Implemented *POLL
  • 30. ©2015 AKAMAI | FASTER FORWARDTM INTRODUCTION CACHING 101 CACHING 201 CACHING OPTIMIZATION WALKTHROUGH SCENARIOS & GUIDELINES Q & A BREAK INVALIDATION & PURGING
  • 31. ©2015 AKAMAI | FASTER FORWARDTM HOW TO DETERMINE TTL? Content Sensitivity Level CDN TTL Browser TTL None 7-30 days 2X median user session Low 12-24 hours 30 min or less Medium 15 min – 1 hour 10 min or less High 30 sec – 15 min 0 sec • If versioning assets, cache for VERY LONG time at CDN/browser • Otherwise:
  • 32. ©2015 AKAMAI | FASTER FORWARDTM DUAL ENEMIES OF CACHE HIT RATE CACHE POLLUTION Different entries stored with same keyNeeded content evicted by excessive un-popular (potentially duplicate) entries CACHE COLLISION
  • 33. ©2015 AKAMAI | FASTER FORWARDTM AVOID CACHE POLLUTION - TIPS HOST PATH height=600px/ ?Ignore Redundant Query Parameter width=800px utm_source=duck& &1 HOST PATH height=600px/ ?Re-order Query Parameters Alphabetically width=800px& height=600pxwidth=800px 2 ★ Rationalize across fragmented developer base Implement at CDN or origin reverse proxy: 3 Ignore Vary headers if possible. Instead, negotiate using custom logic Set downstream Cache- control: private to avoid pollution at proxy Vary: User-agent Vary: Referer
  • 34. ©2015 AKAMAI | FASTER FORWARDTM AVOID CACHE COLLISIONS – RESS EXAMPLE ORIGIN CDN MOBILE USER DESKTOP USER version version Desktop content removed Mobile content removed SAME URL • Server conditionally assembles :: CDN conditionally caches • Device family string inserted into cache key: e.g. [android|iphone|ipad|desktop] • Set downstream • Vary: User-agent (to comply with SEO) • Cache-control: private to prevent caching on proxies
  • 35. ©2015 AKAMAI | FASTER FORWARDTM HTTP POST CACHING POST /search HTTP/1.1 content-type: application/json host: https://www.example.com content-length: 47 {“Action”:“Search”,“Query”:“shirts”,“Pag e”:“1”} www.example.com search ed7fcd94e1f742ecf8573b622ded65cc/ ? ★ Use only for idempotent requests ★ Be careful with request size ★ Be cautious with PII data! Construct the appropriate cache key...
  • 36. ©2015 AKAMAI | FASTER FORWARDTM PRE-FETCH / PRE-FRESH Prebrowsing - http://www.stevesouders.com/blog /2013/11/07/prebrowsing/ • Pre-fetch • Fetch object before client needs it • Can be used at browser (<link rel=“prefetch”…) and CDN • Prefresh • Re-validate asynchronously before cache expires • Can be used at browser (stale-while-revalidate, IE pre-check/post-check) and CDN
  • 37. ©2015 AKAMAI | FASTER FORWARDTM CACHING PROTECTED CONTENT CDN AUTH SERVER STORAGE SERVER 1 6 3 2 4 5 1. USER REQUEST 2. AUTH REQUEST (HEAD) 3. AUTH RESPONSE 4. CONTENT REQUEST (ON MISS) 5. CONTENT RESPONSE (ON MISS) 6. USER RESPONSE USER ★ Ensure must-revalidate is ON ★ Great for large file downloads ? What if auth server doesn’t support HEAD?
  • 38. ©2015 AKAMAI | FASTER FORWARDTM CACHING DYNAMIC PAGES Cache-able: Until this happens… Solution: • Serve from cache for non- logged in users • Bypass cache for logged in users • Use cookies to determine state (Much more to come in next section)
  • 39. ©2015 AKAMAI | FASTER FORWARDTM OFFLOADING REDIRECTS CDN • Implement redirects at edge if possible • Use appropriate status codes: 301 or 302
  • 40. ©2015 AKAMAI | FASTER FORWARDTM OFFLOADING REDIRECTS AVOIDS THIS… m-dot redirect implemented in javascript!?!
  • 41. ©2015 AKAMAI | FASTER FORWARDTM HTML5 localStorage • Dedicated and robust client side storage • 5MB dedicated per domain • Scriptable, allows get/put/remove commands • Useful in FEO optimizations • e.g. decoupling JavaScript download from execution …Stay tuned for ServiceWorker
  • 42. ©2015 AKAMAI | FASTER FORWARDTM INTRODUCTION CACHING 101 CACHING 201 CACHING OPTIMIZATION WALKTHROUGH SCENARIOS & GUIDELINES Q & A BREAK INVALIDATION & PURGING
  • 43. ©2015 AKAMAI | FASTER FORWARDTM The fastest request is the one you don’t have to make.
  • 44. ©2015 AKAMAI | FASTER FORWARDTM OPTIONS FOR UPDATING CACHE 1 2 3 RELY ON TTL INVALIDATE PURGE elegance, safety control, risk to origin
  • 45. ©2015 AKAMAI | FASTER FORWARDTM RELY ON TTL 1 BROWSER EDGE ORIGIN GET GET 200 OK with cache directives* 200 OK with cache directives CONDITIONAL GET 200 OK (new object) 2 EXPIRES IN BROSWER CACHE CONTITIONAL GET 200 OK (new object) EXPIRES IN EDGE CACHE * Cache directives: cache-control expires last-modified etag OBJECT MODIFIED • Timestamp determined at time of caching via HTTP response • Offers graceful mechanism to retire stale content • Works on browsers, CDN and proxies
  • 46. ©2015 AKAMAI | FASTER FORWARDTM INVALIDATING INVALIDATE 1 BROWSER EDGE ORIGIN GET GET 200 OK with cache directives 200 OK with cache directives CONDITIONAL GET 200 OK 2 EXPIRES IN BROSWER CACHE CONDITIONAL GET 200 OK* OBJECT MARKED AS EXPIRED OBJECT MODIFIED * Since object modified • Instruct cache to expire content but leave it in cache
  • 47. ©2015 AKAMAI | FASTER FORWARDTM INVALIDATING (CONTD.) INVALIDATE 1 BROWSER EDGE ORIGIN GET GET 200 OK with cache directives 200 OK with cache directives CONDITIONAL GET 2 EXPIRES IN BROSWER CACHE CONDITIONAL GET 304 NOT MODIFIED OK* OBJECT MARKED AS EXPIRED * Since object not touched • Works for CDN/proxies, not browsers • Most CDNs provide both UI and API 304 NOT MODIFIED OK*
  • 48. ©2015 AKAMAI | FASTER FORWARDTM PURGING PURGE 1 BROWSER EDGE ORIGIN GET GET 200 OK with cache directives* 200 OK with cache directives CONDITIONAL GET 200 OK 2 EXPIRES IN BROSWER CACHE [FULL] GET [ALWAYS] 200 OK OBJECT REMOVED FROM CACHE • Instruct cache to remove content • Works for CDN/proxies, not browsers • Most CDNs provide both UI and API
  • 49. ©2015 AKAMAI | FASTER FORWARDTM Daily drop in % offload coincides with a spike in HTTP 3xx responses due to daily cache invalidations REQUEST SPIKES DUE TO INVALIDATION/PURGE EVENTS
  • 50. ©2015 AKAMAI | FASTER FORWARDTM RECOMMENDATIONS GOOD BETTER BEST Version assets and use very large TTLs Use TTLs apropos publishing needs Allow serving stale CDN TTL > Browser TTL for better control Execute invalidation/purge at non-peak times
  • 51. ©2015 AKAMAI | FASTER FORWARDTM INTRODUCTION CACHING 101 CACHING 201 CACHING OPTIMIZATION WALKTHROUGH SCENARIOS & GUIDELINES Q & A BREAK INVALIDATION & PURGING
  • 52. ©2015 AKAMAI | FASTER FORWARDTM  LAMP Stack running on a single Amazon EC2 East instance.  Magento application layer, with “Madison Island” sample theme.  No CDN, No Browser Caching, No Origin Cache.  This will be our starting point… DEMO APPLICATION http://www.advancedcaching.org
  • 53. ©2015 AKAMAI | FASTER FORWARDTM INITIAL PERFORMANCE SNAPSHOT • Distance impacts performance. • VA->NY 2X faster than VA->CA CALIFORNIA NEW YORK
  • 54. ©2015 AKAMAI | FASTER FORWARDTM PERFORMANCE IMPACT OF LATENCY
  • 55. ©2015 AKAMAI | FASTER FORWARDTM PERFORMANCE IMPACT OF LATENCY
  • 56. ©2015 AKAMAI | FASTER FORWARDTM PERFORMANCE IMPACT OF LATENCY
  • 57. ©2015 AKAMAI | FASTER FORWARDTM BROWSER CACHING ISSUES
  • 58. ©2015 AKAMAI | FASTER FORWARDTM BUT REPEAT VIEW SHOWS BROWSER CACHING…
  • 59. ©2015 AKAMAI | FASTER FORWARDTM BROWSER CACHING GONE WRONG? Embedded content missing Cache-Control headers!
  • 60. ©2015 AKAMAI | FASTER FORWARDTM UNPREDICTABLE BROWSER CACHING From http://httpwg.github.io/specs/rfc7234.html#heuristic.freshness • "A cache may assign a heuristic expiration time when an explicit time is not specified…” • "If the response has a Last-Modified header field, caches are encouraged to use a heuristic expiration value that is no more than some fraction of the interval since that time (typically 10%)”. ★ Both Firefox and Chrome have implemented the heuristic freshness guidelines
  • 61. ©2015 AKAMAI | FASTER FORWARDTM EXAMINING BROWSER CACHEABILITY OF RESOURCES FIREFOX about:cache
  • 62. ©2015 AKAMAI | FASTER FORWARDTM EXAMINING BROWSER CACHEABILITY OF RESOURCES FIREFOX about:cache
  • 63. ©2015 AKAMAI | FASTER FORWARDTM EXAMINING BROWSER CACHEABILITY OF RESOURCES http://redbot.org/
  • 64. ©2015 AKAMAI | FASTER FORWARDTM 1. Edit Apache httpd.conf and add a Directive to set Cache-Control Headers LoadModule expires_module modules/mod_expires.so LoadModule headers_module modules/mod_headers.so <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "now" ExpiresByType image/gif "access plus 30 days" ExpiresByType image/jpeg "access plus 30 days" ExpiresByType image/png "access plus 30 days" ExpiresByType text/css "access plus 30 days" ExpiresByType text/javascript "access plus 30 days" ExpiresByType application/x-javascript "access plus 30 days" </IfModule> 2. Restart Apache 3. Test to confirm it worked. CONFIGURING CACHE-CONTROL AND EXPIRES HEADERS
  • 65. ©2015 AKAMAI | FASTER FORWARDTM BEFORE / AFTER
  • 66. ©2015 AKAMAI | FASTER FORWARDTM CACHE PARENT CACHE CHILD ORIGI N CDN BROWSER
  • 67. ©2015 AKAMAI | FASTER FORWARDTM 1. Setup basic configuration on CDN 2. Configure cache TTLs on CDN 3. Define behaviors for un-cacheable content 4. Test site via CDN 5. Configure DNS to route traffic through CDN BASIC CDN SETUP
  • 68. ©2015 AKAMAI | FASTER FORWARDTM BASIC CDN SETUP: CONFIGURE HOST AND ORIGIN
  • 69. ©2015 AKAMAI | FASTER FORWARDTM BASIC CDN SETUP: CONFIGURE HOST AND ORIGIN IF INCOMING_HOST == “www.advancedcaching.org” THEN Set ORIGIN ADDRESS = “ec2-54-154-215-217.compute- 1.amazonaws.com” Set ORIGIN PORT = “80” Set FORWARD HOSTNAME = $INCOMING_HOST Set CACHE_KEY_HOSTNAME = $INCOMING_HOST Support gzip
  • 70. ©2015 AKAMAI | FASTER FORWARDTM BASIC CDN SETUP: CACHING RULES IF ( FILE_EXTENSION == <list of cacheable extensions> ) THEN a) Set CDN Cache TTL to 30 days b) Allow content to be served stale if unable to validate c) Set downstream Cache-Control & Expires Lifetime = smaller of (origin header | remaining edge TTL) ELSE IF ( NOT_CACHEABLE ) THEN a) No-Store at CDN b) Pass downstream cacheability headers from origin
  • 71. ©2015 AKAMAI | FASTER FORWARDTM BASIC CDN SETUP: TESTING 1. Confirm traffic is routing through CDN and cacheable content is Cached 2. Configure hosts file to route traffic through CDN 3. Test and verify site works as expected
  • 72. ©2015 AKAMAI | FASTER FORWARDTM BASIC CDN SETUP: UPDATING DNS TO GO LIVE
  • 73. ©2015 AKAMAI | FASTER FORWARDTM CONFIRMING CDN CACHE HITS http://wpt.advancedcaching.org/ • WebPageTest Private Instance w/ some modifications: 1. Extends Details tab Reports to include Cacheability Data 2. New Cache-Analysis tab for correlating Last-Modified w/ CDN Cache TTLs and Cache-Control/Expires headers 3. Automatically injects Akamai diagnostic headers
  • 74. ©2015 AKAMAI | FASTER FORWARDTM CONFIRMING CDN CACHE HITS
  • 75. ©2015 AKAMAI | FASTER FORWARDTM PERFORMANCE IMPACT OF CDN  Faster load times  Page renders faster since edge server close to end user AKAMAI ORIGIN
  • 76. ©2015 AKAMAI | FASTER FORWARDTM CACHE PARENT CACHE CHILD ORIGI N CDN BROWSER
  • 77. ©2015 AKAMAI | FASTER FORWARDTM IMPROVING OFFLOAD VIA CDN TIERED DISTRIBUTION Parent / child caches to maximize offload PRE-FETCH CONTENT Offload milliseconds before content requested PRE-FRESH CONTENT Update cached content before TTL expires
  • 78. ©2015 AKAMAI | FASTER FORWARDTM ADVANTAGES OF TIERED DISTRIBUTION
  • 79. ©2015 AKAMAI | FASTER FORWARDTM • How old are the objects? • How long do browsers cache (cache- control) • What do we know about publishing process, i.e. versioned assets, schedules, etc.? DETERMINING APPROPRIATE CACHE TTLS?
  • 80. ©2015 AKAMAI | FASTER FORWARDTM • For versioned assets, TTL should be very high. • For non-versioned assets, TTL for CDN should be higher than browser TTL • Consider what needs to happen when content is modified MANAGING CDN + BROWSER CACHING
  • 81. ©2015 AKAMAI | FASTER FORWARDTM
  • 82. ©2015 AKAMAI | FASTER FORWARDTM Using http://wpt.advancedcaching.org, run a WebPagetest Measurement and view the Cache Analysis Section. Do you see any opportunities to improve your caching strategy? i. Yes ii. No iii. Not Sure *POLL
  • 83. ©2015 AKAMAI | FASTER FORWARDTM CACHE PARENT CACHE CHILD ORIGI N CDN BROWSER
  • 84. ©2015 AKAMAI | FASTER FORWARDTM CACHING AT THE ORIGIN
  • 85. ©2015 AKAMAI | FASTER FORWARDTM VARNISH CONFIGURATION backend default { .host = "54.152.215.217"; .port = "80"; .connect_timeout = 1s; .first_byte_timeout = 5s; .between_bytes_timeout = 2s; } sub vcl_recv { if (req.url ~ ".(png|gif|jpg|swf|css|js)$") { unset req.http.cookie; } } sub vcl_deliver { if (obj.hits > 0) { set resp.http.Varnish-X-Cache = "HIT"; } else { set resp.http.Varnish-X-Cache = "MISS"; } } /etc/varnish/default.vcl DAEMON_OPTS="-a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m" /etc/default/varnish
  • 86. ©2015 AKAMAI | FASTER FORWARDTM UPDATE CDN SETUP: CHANGE ORIGIN IF INCOMING_HOST == “www.advancedcaching.org” THEN Set ORIGIN ADDRESS = “54.152.215.217” Set ORIGIN ADDRESS = “52.91.239.172” Set ORIGIN PORT = “80” Set FORWARD HOSTNAME = $INCOMING_HOST Set CACHE_KEY_HOSTNAME = $INCOMING_HOST Support gzip
  • 87. ©2015 AKAMAI | FASTER FORWARDTM ORIGIN CACHE - TESTING First test directly via origin cache (bypass CDN) Confirm requests are offloaded
  • 88. ©2015 AKAMAI | FASTER FORWARDTM ORIGIN CACHE – TESTING VIA CDN
  • 89. ©2015 AKAMAI | FASTER FORWARDTM CACHE PARENT CACHE CHILD ORIGI N CDN BROWSER But wait, there is more…
  • 90. ©2015 AKAMAI | FASTER FORWARDTM DYNAMIC PAGE TYPES 1 - UNCONDITIONALLY CACHEABLE 2 - CONDITIONALLY CACHEABLE 3 – CACHEABLE WITH MULTIPLE VARIATIONS 4 – NON-CACHEABLE
  • 91. ©2015 AKAMAI | FASTER FORWARDTM Page is the same for all users. • Example: Completely Static HTML • This can be cached like any embedded object, e.g. image #1 UNCONDITIONALLY CACHEABLE PAGE
  • 92. ©2015 AKAMAI | FASTER FORWARDTM Page is the same for all users, expect for certain conditions. • Example: homepage with mini cart coded in the HTML • This may be conditionally cached for some users, e.g. for un-signed user #2 CONDITIONALLY CACHEABLE PAGE
  • 93. ©2015 AKAMAI | FASTER FORWARDTM Page is conditionally or unconditionally cacheable, but requires multiple version to be cached. • Example: homepage with multiple languages depending on the user’s context • Cache key modifications need to be made #3 DYNAMIC PAGE WITH MULTIPLE VARIATIONS
  • 94. ©2015 AKAMAI | FASTER FORWARDTM Page is completely personalized, unique per request – can not be cached. #4 NON-CACHEABLE PAGE
  • 95. ©2015 AKAMAI | FASTER FORWARDTM Do you leverage any techniques for caching dynamic pages? i. Yes ii. No *POLL
  • 96. ©2015 AKAMAI | FASTER FORWARDTM (If you don’t cache dynamic pages), why not? i. Our pages are too dynamic ii. We could, but chose not to *POLL
  • 97. ©2015 AKAMAI | FASTER FORWARDTM Is anything different returned for 2 identical requests? $ diff -s <(curl -Lvs http://www.advancedcaching.org/ 2>&1) <(curl -Lvs http://www.advancedcaching.org/ 2>&1) < < Set-Cookie: frontend=uim2n3k6atbis4slovn9r5dpc1; expires=Sun, 04-Oct-2015 06:34:28 GMT; Max-Age=3600; path=/; domain=www.advancedcaching.org; HttpOnly --- > < Set-Cookie: frontend=dnjvcbvt9bsei7q1vhnfo68o81; expires=Sun, 04-Oct-2015 06:34:28 GMT; Max-Age=3600; path=/; domain=www.advancedcaching.org; HttpOnly TESTING DYNAMIC CONTENT FOR CACHEABILITY ★ Set-Cookie doesn’t impact our ability to cache dynamic HTML, provided the cache strips Set-Cookie from the response.
  • 98. ©2015 AKAMAI | FASTER FORWARDTM Where is the welcome message coming from? TESTING DYNAMIC CONTENT FOR CACHEABILITY
  • 99. ©2015 AKAMAI | FASTER FORWARDTM Where is the mini shopping cart coming from? TESTING DYNAMIC CONTENT FOR CACHEABILITY
  • 100. ©2015 AKAMAI | FASTER FORWARDTM Is there anything in the request indicating this is a logged in visitor with an item in their cart? Conclusion: The page is cacheable, but we don’t have enough information to determine it’s cacheability. TESTING DYNAMIC CONTENT FOR CACHEABILITY
  • 101. ©2015 AKAMAI | FASTER FORWARDTM Cache part of the page Add indicators to conditionally cache Rewrite page to leverage Ajax/JSON for dynamic portions DEALING WITH NON-CACHEABLE DYNAMIC PAGES GOOD BETTER BEST
  • 102. ©2015 AKAMAI | FASTER FORWARDTM 1. Cache the HTML <head> section of response at edge 2. Serve that while origin is generating rest of HTML 3. Serve the rest of the HTML once it is received ACCELERATING DYNAMIC PAGES - AKAMAI EDGESTART ★ This technique will accelerate render time, but provides no origin offload.
  • 103. ©2015 AKAMAI | FASTER FORWARDTM • Set a “LoggedIn” cookie to indicate when user logs in, and a “ContentsInCart” cookie when a user adds an item to their cart. • This can be done at origin or at CDN • Cache page conditionally based on the cookie indicators • If request contains “LoggedIn=true” or “ContentsInCart=true” cookie, bypass cache and forward request to origin • Else serve response from cache CACHING DYNAMIC HTML
  • 104. ©2015 AKAMAI | FASTER FORWARDTM Add To Cart operation: ./apps/magento/htdocs/app/code/core/Mage/Checkout/controllers/CartController.php Login operation: ./apps/magento/htdocs/app/code/core/Mage/Customer/controllers/AccountController.php UPDATING OUR DEMO APP setcookie("ContentsInCart", "true", time()+3600, "/", "www.advancedcaching.org"); setcookie("LoggedIn", "true", time()+3600, "/", "www.advancedcaching.org");
  • 105. ©2015 AKAMAI | FASTER FORWARDTM CACHING DYNAMIC CONTENT CONDITIONALLY IF ( REQUEST_PATH == “/” OR “/akamai-polo.html” ) AND ( REQUEST_COOKIE “ContentsInCart” != “true” ) AND ( REQUEST_COOKIE “LoggedIn” != “true” ) THEN a) Set CDN Cache TTL to 1 day b) Allow content to be served stale if unable to validate c) Set downstream Cache-Control & Expires Lifetime = smaller of (origin header | remaining edge TTL
  • 106. ©2015 AKAMAI | FASTER FORWARDTM WIDENING THE NET... IF ( FILE_EXT == html) AND ( REQUEST_PATH NOT (/checkout/* OR /account/* ) AND ( REQUEST_COOKIE “ContentsInCart” != “true” ) AND ( REQUEST_COOKIE “LoggedIn” != “true” ) THEN a) Set CDN Cache TTL to 1 day b) Allow content to be served stale if unable to validate c) Set downstream Cache-Control & Expires Lifetime = smaller of (origin header | remaining edge TTL ★ The ability to serve stale if unable to validate is extremely useful for dynamic content, especially if the origin is under stress or experiencing issues.
  • 107. ©2015 AKAMAI | FASTER FORWARDTM CACHING SEARCH RESULTS http://www.advancedcaching.org/catalogsearch/result/?q=casual ★ When caching content such as this, there is a potential for cache pollution. Creating separate cache buckets for this content can mitigate the risk.
  • 108. ©2015 AKAMAI | FASTER FORWARDTM OFFLOADING 3RD PARTY CONTENT 3rd party fonts are a SPOF, but required to render this page 2 additional DNS lookups + 3 TCP connections for loading content critical to the render path
  • 109. ©2015 AKAMAI | FASTER FORWARDTM OFFLOADING 3RD PARTY CONTENT HTML: CSS:
  • 110. ©2015 AKAMAI | FASTER FORWARDTM OFFLOADING 3RD PARTY CONTENT Serve fonts on the primary domain when possible • Requires code change at origin Rewrite HTML and perform forward re-writes at CDN to 3rd Party: • Requires no code changes at origin • Replace 3rd party hostnames from HTML & CSS • @CDN, match on filenames, fetch from alternative origin • Cache response at CDN GOOD BEST
  • 111. ©2015 AKAMAI | FASTER FORWARDTM ORIGINAL HTML / CSS FOR FONTS HTML: CSS:
  • 112. ©2015 AKAMAI | FASTER FORWARDTM HTML FIND / REPLACE IF ( PATH CONTAINS “/” ) OR ( FILE_EXTENSION == “php” ) THEN a) Find “fonts.googleapis.com” b) Replace with “www.advancedcaching.org/googleapis/fonts.googleapis.com” IF ( PATH CONTAINS “/googlapis/fonts.googleapis.com” ) THEN a) Find “fonts.gstatic.com” b) Replace with “www.advancedcaching.org/gstatic/fonts.gstatic.com”
  • 113. ©2015 AKAMAI | FASTER FORWARDTM REWRITTEN HTML / CSS FOR FONTS HTML: CSS:
  • 114. ©2015 AKAMAI | FASTER FORWARDTM FORWARD REWRITE RULE + CACHING IF ( PATH CONTAINS “/googleapis/” ) THEN a) Remove /googleapis/ from the URL b) Change the origin server to fonts.googleapis.com c) Set CDN Cache TTL to 7 days d) Allow content to be served stale if unable to validate e) Set downstream Cache-Control & Expires Lifetime = smaller of (origin header | remaining edge TTL
  • 115. ©2015 AKAMAI | FASTER FORWARDTM FORWARD REWRITE RULE + CACHING IF ( PATH CONTAINS “/gstatic/” ) THEN a) Remove /gstatic/ from the URL b) Change the origin server to fonts.gstatic.com c) Set CDN Cache TTL to 7 days d) Allow content to be served stale if unable to validate e) Set downstream Cache-Control & Expires Lifetime = smaller of (origin header | remaining edge TTL
  • 116. ©2015 AKAMAI | FASTER FORWARDTM OFFLOADING 3RD PARTY CONTENT - RESULTS BEFORE - Request #14. - DNS Lookup and TCP connection for single request - Start render at 0.9s AFTER - Request #4. - Render blocking CSS request prioritized by browser - No additional DNS overhead - TCP connection reused - Request is cached at the edge - Start render at 0.7s
  • 117. ©2015 AKAMAI | FASTER FORWARDTM OFFLOADING 3RD PARTY CONTENT - RESULTS Accelerating resource critical render path will result in faster render time Offloading resource at edge and allowing it to be served stale eliminates the risk of SPOF 3rd PARTY CACHING ON 3rd PARTY CACHING OFF
  • 118. ©2015 AKAMAI | FASTER FORWARDTM CACHE PARENT CACHE CHILD ORIGI N CDN BROWSER “Very Nice!”
  • 119. ©2015 AKAMAI | FASTER FORWARDTM Performance Under Load ALL CACHING ON NO CACHING ALL CACHING ON NO CACHING
  • 120. ©2015 AKAMAI | FASTER FORWARDTM INTRODUCTION CACHING 101 CACHING 201 CACHING OPTIMIZATION WALKTHROUGH SCENARIOS & GUIDELINES Q & A BREAK INVALIDATION & PURGING
  • 121. ©2015 AKAMAI | FASTER FORWARDTM E-COMMERCE APPLICATION SCENARIO
  • 122. ©2015 AKAMAI | FASTER FORWARDTM
  • 123. ©2015 AKAMAI | FASTER FORWARDTM • Proactively increase the capacity of J.Crew’s web applications • Need to support traffic surges due to media events • Maximize performance for repeat visitors THE NEED FOR MAXIMIZING OFFLOAD
  • 124. ©2015 AKAMAI | FASTER FORWARDTM CACHING DYNAMIC PAGES @ J. CREW SINCE 2009! REDIRECTS CONFIGURED AT CDN LAYER SPLIT ORIGIN FOR DESKTOP AND MOBILE TRAFFIC FLEXIBLE CACHE KEYS TO MAXIMIZE OFFLOAD
  • 125. ©2015 AKAMAI | FASTER FORWARDTM REDIRECTS CONFIGURED AT THE CDN • Redirects can not be cached, but can be moved closer to the user • Configuring redirects at the CDN layer eliminates need for extra round trip to the origin • Redirects are location based
  • 126. ©2015 AKAMAI | FASTER FORWARDTM SAME URL, DIFFERENT ORIGINS. BOTH CACHED Flexible cache keys enabled multiple variations of the page to be cached, including multiple origins
  • 127. ©2015 AKAMAI | FASTER FORWARDTM … while maintaining high offload and reducing costly traffic at origin. SHORT TTLS FOR DYNAMIC PAGES ENSURES FRESHNESS
  • 128. ©2015 AKAMAI | FASTER FORWARDTM … maximizes offload and improves load time for repeat visitors LONG TTLS FOR STATIC CONTENT…
  • 129. ©2015 AKAMAI | FASTER FORWARDTM HIGH TRAFFIC EVENT SCENARIO
  • 130. ©2015 AKAMAI | FASTER FORWARDTM ANATOMY OF A FLASH CROWD
  • 131. ©2015 AKAMAI | FASTER FORWARDTM 1. Cache as much of page as possible 2. Limit 3rd party content to reliable providers 3. Limit Ajax calls that are un-cacheable 4. Failover strategy: retry on error, serve custom error page with auto-refresh 5. CDN hosted waiting room for controlling origin load CACHING TECHNIQUES TO MITIGATE FLASH CROWDS
  • 132. ©2015 AKAMAI | FASTER FORWARDTM CACHING TECHNIQUES TO MITIGATE FLASH CROWDS
  • 133. ©2015 AKAMAI | FASTER FORWARDTM MOBILE APPLICATION SCENARIO
  • 134. ©2015 AKAMAI | FASTER FORWARDTM APP APIs
  • 135. ©2015 AKAMAI | FASTER FORWARDTM • API provider -> Partner/Developer -> User • Others dictate release schedules • Risk of rogue implementations • Once spec’d, hard to update BEHOLDEN TO PARTNERS & DEVELOPERS
  • 136. ©2015 AKAMAI | FASTER FORWARDTM • Could originate from anywhere! • Big spikes possible • Hard to predict partner adoption rates HIGHLY UNPREDICTABLE TRAFFIC
  • 137. ©2015 AKAMAI | FASTER FORWARDTM Slow devices over slow connections APPS DOMINATE MOBILE EXPERIENCE
  • 138. ©2015 AKAMAI | FASTER FORWARDTM
  • 139. ©2015 AKAMAI | FASTER FORWARDTM • Start with compute cloud • Complement with CDN to address performance, scale and security needs • Address total cost of ownership 1 – EMBRACE THE CLOUD
  • 140. ©2015 AKAMAI | FASTER FORWARDTM • Cache dynamic, non-personalized responses • Use Etags • Rationalize URL parameters to avoid fragmentation - do it on edge or origin • Enforce uniform ordering of URL parameters Same Content, Multiple Keys: http://example.com/weather-data.asp?slat=47.43&slon=19.27&langid=20 http://example.com/weather-data.asp?slat=47.48&slon=19.28&langid=20 http://example.com/weather-data.asp?langid=20&slat=47.42&slon=19.29 http://example.com/weather-data.asp?langid=20&slat=47.41&slon=19.25 Rationalized: http://example.com/weather-data.asp?slat=47.40&slon=19.20&langid=20 http://example.com/weather-data.asp?slat=47.40&slon=19.20&langid=20 http://example.com/weather-data.asp?slat=47.40&slon=19.20&langid=20 http://example.com/weather-data.asp?slat=47.40&slon=19.20&langid=20 Rationalize + Re-order at edge or at origin using 302 2 - MAKE CACHING YOUR FRIEND
  • 141. ©2015 AKAMAI | FASTER FORWARDTM • Most apps require entitlement on every request • Segregate authorization vs. content flows • Consider caching auth response at edge 3 - PROTECT AND PERFORM SIMULTANEOUSLY
  • 142. ©2015 AKAMAI | FASTER FORWARDTM • Long TTLs preferred, but short ones will do • Enable cache-control & expires headers for client and gateway proxies • Implement failover • Avoid redirects • yadda, yadda, yadda 4 - USUAL RECOMMENDATIONS APPLY
  • 143. ©2015 AKAMAI | FASTER FORWARDTM INTRODUCTION CACHING 101 CACHING 201 CACHING OPTIMIZATION WALKTHROUGH SCENARIOS & GUIDELINES Q & A BREAK INVALIDATION & PURGING
  • 144. ©2015 AKAMAI | FASTER FORWARDTM • Pick up your copy of the preview edition of the upcoming book - “High Performance Images” • Talk to an HTTP/2 expert and view our demo! VISIT AKAMAI AT KIOSK #22
  • 145. ©2015 AKAMAI | FASTER FORWARDTM REFERENCES
  • 146. ©2015 AKAMAI | FASTER FORWARDTM TOOLS WE USED TODAY Tool URL WebPageTest http://www.webpagetest.org WebpageTest Private Instance http://wpt.advancedcaching.org Google PageSpeed Insights https://developers.google.com/speed/pagespeed/insights/ Keynote KITE http://kite.keynote.com Soasta http://www.soasta.com REDbot https://redbot.org/ Charles Proxy http://www.charlesproxy.com/ Chrome DevTools https://developers.google.com/web/tools/setup/workspace/setup-devtools Akamai {OPEN} API https://developer.akamai.com/ https://community.akamai.com/community/developer/blog/2015/08/19/getting- started-with-the-v2-open-ccu-api?sr=stream
  • 147. ©2015 AKAMAI | FASTER FORWARDTM ADDITIONAL INFORMATION Topic Author URL HTTP 1.1 Caching Specs IETF http://httpwg.github.io/specs/rfc7234.html A Practical Guide to Web Resource Caching – Parts 1 & 2 Pierre Lermant, Akamai https://blogs.akamai.com/2013/11/a-practical-guide-to-web- resource-caching-part-1.html https://blogs.akamai.com/2013/11/part-2-a-practical-guide-to- web-resource-caching.html Dynamic Content: A Short TTL as an Alternative to Purge Pierre Lermant, Akamai https://blogs.akamai.com/2014/12/dynamic-content-a-short-ttl- as-an-alternative-to-purge.html Measuring Impact of Page Caching Akshay Ranganath, Akamai https://community.akamai.com/community/web- performance/blog/2015/08/12/measuring-impact-of-page-caching Prebrowsing Steve Souders, SpeedCurve http://www.stevesouders.com/blog/2013/11/07/prebrowsing/
  • 148. ©2015 AKAMAI | FASTER FORWARDTM Thank you!