SlideShare une entreprise Scribd logo
1  sur  70
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 1
When dispatcher caching is not enough…
Jakub Wądołowski
Senior Systems Engineer @ Cognifide
twitter.com/jwadolowski
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 2
Agenda
 The What
 What was the problem about?
 The Why
 Why we decided to go for Content Delivery Network (CDN)?
 The How
 How it was implemented?
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 3
THE WHAT
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 4
It all started in 2012…
www.flickr.com/photos/nasahqphoto/16327416694
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 5
To be perfectly honest, initially it was rather like that…
www.flickr.com/photos/garryknight/5703519506
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 6
The client
 EU pharmaceutical company
 75 offices across the globe
 Over 40 000 employees
 Medical products available worldwide (180+ countries)
www.flickr.com/photos/worak/2258271659
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 7
Requirements
 Country specific brochureware websites for medical products
 iPad app for sales representatives
 Single point for content entry
 Multiple integration points (SSO, user/device authentication, etc.)
 CQ 5.5, upgrade to AEM 6.1 in progress
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 8
Main components
Brochureware
website
iPad app AEM Authoring
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 9
Logical Architecture
 Single datacenter in London
 REST-like API for iPad app
 Integrations with local and remote services
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 10
Initially it was just Spain, Argentina and Sweden
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 11
6 months later the number of countries was tripled
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 12
To finally reach 21 and it is still not over
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 13
THE WHY
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 14
“Our team in Argentina complains that the app feels slow. They can’t
download presentations sometimes. Could you please investigate that?”
Mr B.
www.flickr.com/photos/r4vi/8640618489
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 15
Problems
 Latency, latency, latency…
 Way too high round trip times (RTT)
 Timeouts
 Broken streams
 Connection resets
 Poor Internet connections in some areas
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 16
Solutions
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 17
When initial excitement was gone…
 How we’re going to sync the content (both ways)?
 What about deployments?
 Do we have enough licenses to set up the new stack in a proper way?
 What’s the best way to implement content sharding?
 How long it will take to implement all of these things?
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 18
PoC conclusion
www.flickr.com/photos/geishaboy500/2496995573
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 19
The road to CDN
 We can’t just cache more on dispatcher
 This is a very well known problem
 Let’s use the right tool to solve the problem the right way
 Content Delivery Network (CDN) is the way to go!
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 20
CDN definition
• “(…) CDN is a large distributed system of servers deployed in multiple data centers
across the Internet. The goal of a CDN is to serve content to end-users with high
availability and high performance. CDNs serve a large fraction of the Internet
content today (..).”, Wikipedia
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 21
AEM + CDN
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 22
CDN, right?
www.flickr.com/photos/pictures-of-money/16678590844
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 23
That's not necessarily true nowadays…
www.flickr.com/photos/halfrain/14410890555
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 24
Why Fastly?
 Pay-as-you-go model
 Powered by Varnish
 Highly customizable (ability to upload your own VCL)
 150 ms to purge – globally
 ~5 sec to change a config through the web API
 SSD powered servers connected to T1 networks
 Real-time insight what’s happening (graphs, logs, etc)
 Great support
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 25
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 26
Still not convinced?
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 27
THE HOW
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 28
Uhh… ok, how should I start?
www.flickr.com/photos/kleuske/8004416109
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 29
The logs!
www.flickr.com/photos/martinbamford/5638834940
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 30
Logs and content structure
 grep, awk, sed - all of these are your friends
 Count your requests
 Leverage the power of log monitoring tools (ELK, Splunk, etc.)
 Plan your content structure carefully
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 31
Look for patterns
www.flickr.com/photos/wwarby/4915777722
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 32
Request patterns
 If it is a GET request and starts with /bin/myapp/v[1-2]/a_string.json then it is X
 All requests to /content/something/*/_jcr_content.zip end with 302 to
/some/path/to/file.zip
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 33
Assign these patterns to multiple buckets
www.flickr.com/photos/ddebold/15991919514
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 34
Content groups/buckets
 Public content
 Private content
 Content available for authorized users only
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 35
Varnish in 1 slide!
 Reverse HTTP proxy
 In-memory time based cache
 Blazing-fast
 Big “state” machine
 Varnish Configuration Language (VCL)
 Full control of HTTP flow
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 36
General caching rules
 Cacheable methods: GET, HEAD
 Cacheable response codes: 200, 203, 300, 301, 302, 410, 404
 “Cache-Control: private” if not defined otherwise
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 37
Let’s start with the iPad app
www.flickr.com/photos/pestoverde/15048774061
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 38
iPad content
 2 content groups
 8 request patterns
 TTL varies from 10 minutes to 7 days
 35/65 dynamic/static content (frequently changing JSON files vs PDFs/PNGs)
 All REST API responses are private
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 39
Private content
 Private content is cacheable
 What makes HTTP response private?
 It is tied up with user session – in other words HTTP request carried unique
authorization cookie
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 40
Is it really safe to cache that type of content?
www.flickr.com/photos/hyku/368912557
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 41
Private cache
 Varnish cache is a key-value store
 Default key: req.url + req.http.host
 req.url + req.http.host + sessionId = private cache space - voila!
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 44
Dynamic means uncacheable?
www.flickr.com/photos/gsfc/7402445224
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 45
Dynamic content
 Cache usually brings some trade-off
 Updates won’t be instantaneous
 TTL has to expire, or
 a purge request has to be triggered
 CDN is the way to go if you accept this delay
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 46
Content purging
www.flickr.com/photos/librariesrock/13522859053
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 47
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 48
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 49
Content purging
 Fastly exposes purge REST API
 Purge URL
 Purge Key
 Purge All
 Purge vs Soft Purge
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 50
Results
www.flickr.com/photos/89228431@N06/11322953266
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 51
iPad app statistics
 Hit ratio: 48,4%
 Cache coverage: 65,3%
 Requests: 83K
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 52
What about the speed?
www.flickr.com/photos/129341635@N02/16609174727
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 53
Speed boost
 Presentation download
 Europe: up to 21% faster
 South America: up to 50% faster
 APAC: up to 83% faster
 API responses
 Europe: up to 60% faster
 South America: up to 40% faster
 APAC: up to 55% faster
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 54
Issues?
www.flickr.com/photos/giuseppemilo/15414290956
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 55
Crimes against cacheability
www.flickr.com/photos/alancleaver/4121423119
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 56
Crimes against cacheability
 Adding Set-Cookie to every response
 Auth cookie is not revoked in the browser after logout
 TBD
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 57
“iPad app performance is much better now! But we still have some issues
with authoring. It is really slow in some countries.”
Mr B.
www.flickr.com/photos/r4vi/8640618489
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 58
CDN in front of authoring?
 I was rather skeptical
 Way too dynamic to be considered cacheable?
 What kind of improvement we might get? 5-10%? Is it worth it?
 Don’t know how, but it has been decided to roll things out 
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 59
CDN + AEM Author
 3 content groups
 36 request patterns
 TTL up to 14 days
 Mostly dynamic + static web GUI resources
 A lot of assets common for every logged in user
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 60
Authorized only!
www.flickr.com/photos/rudyjuanito/5170435542
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 61
Authorize at the edge
 CDN knows nothing about user session
 The goal is to cache common content for successfully authorized users
 Authorize them at the edge!
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 62
Auth tokens
www.flickr.com/photos/cfortier/426610972
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 63
Auth tokens
 2nd auth cookie (token), readable by CDN
 HMAC function
 2 auth cookies are tied together
 Reference implementation: https://github.com/fastly/token-functions
 Private key shared between AEM and CDN
 CDN can evaluate user session without request to AEM
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 65
www.flickr.com/photos/spacexphotos/16169087563
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 66
Author statistics
 Hit ratio: 96,4%
 Cache coverage: 45,1%
 Requests: 97K
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 67
Crimes against cacheability
 Adding Set-Cookie to every response
 Auth cookie is not revoked in the browser after logout
 “Vary: Cookie” usage
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 68
Summary
www.flickr.com/photos/andrewhurley/6254409229
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 69
Summary
 Traffic growth is no longer an issue
 Over 2 TB monthly reaches CDN servers
 ~5,5 million HTTP requests per month
 just ~570 GB was passed through to AEM
 License, budget and time savings
 More than satisfying results
 Very small changes in the AEM app itself
 Happy client 
The future of digital marketing. London, Poland, Copenhagen.
© 24/06/2015 Page 70
jakub.wadolowski@cognifide.com
github.com/jwadolowski
twitter.com/jwadolowski
linkedin.com/in/kubawadolowski/en
www.flickr.com/photos/jeffdjevdet/18027482924

Contenu connexe

En vedette

Introducing Apache Jackrabbit OAK
Introducing Apache Jackrabbit OAKIntroducing Apache Jackrabbit OAK
Introducing Apache Jackrabbit OAKYash Mody
 
AEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & FeaturesAEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & FeaturesAbhinit Bhatnagar
 
Aem authentication vs idp
Aem authentication vs idpAem authentication vs idp
Aem authentication vs idpSaroj Mishra
 
AEM 6.1 User Interface Customization
AEM 6.1 User Interface CustomizationAEM 6.1 User Interface Customization
AEM 6.1 User Interface CustomizationChristian Meyer
 
CIRCUIT 2015 - Hybrid App Development with AEM Apps
CIRCUIT 2015 - Hybrid App Development with AEM AppsCIRCUIT 2015 - Hybrid App Development with AEM Apps
CIRCUIT 2015 - Hybrid App Development with AEM AppsICF CIRCUIT
 
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksCIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksICF CIRCUIT
 
User Interface customization for AEM 6
User Interface customization for AEM 6User Interface customization for AEM 6
User Interface customization for AEM 6Damien Antipa
 
Adobe AEM Commerce with hybris
Adobe AEM Commerce with hybrisAdobe AEM Commerce with hybris
Adobe AEM Commerce with hybrisPaolo Mottadelli
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresFrançois Le Droff
 
AEM (CQ) eCommerce Framework
AEM (CQ) eCommerce FrameworkAEM (CQ) eCommerce Framework
AEM (CQ) eCommerce FrameworkPaolo Mottadelli
 
AEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentGabriel Walt
 

En vedette (14)

Cqcon
CqconCqcon
Cqcon
 
Introducing Apache Jackrabbit OAK
Introducing Apache Jackrabbit OAKIntroducing Apache Jackrabbit OAK
Introducing Apache Jackrabbit OAK
 
AEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & FeaturesAEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & Features
 
Aem authentication vs idp
Aem authentication vs idpAem authentication vs idp
Aem authentication vs idp
 
AEM 6.1 User Interface Customization
AEM 6.1 User Interface CustomizationAEM 6.1 User Interface Customization
AEM 6.1 User Interface Customization
 
AEM - Client Libraries
AEM - Client LibrariesAEM - Client Libraries
AEM - Client Libraries
 
REST in AEM
REST in AEMREST in AEM
REST in AEM
 
CIRCUIT 2015 - Hybrid App Development with AEM Apps
CIRCUIT 2015 - Hybrid App Development with AEM AppsCIRCUIT 2015 - Hybrid App Development with AEM Apps
CIRCUIT 2015 - Hybrid App Development with AEM Apps
 
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksCIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
 
User Interface customization for AEM 6
User Interface customization for AEM 6User Interface customization for AEM 6
User Interface customization for AEM 6
 
Adobe AEM Commerce with hybris
Adobe AEM Commerce with hybrisAdobe AEM Commerce with hybris
Adobe AEM Commerce with hybris
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
 
AEM (CQ) eCommerce Framework
AEM (CQ) eCommerce FrameworkAEM (CQ) eCommerce Framework
AEM (CQ) eCommerce Framework
 
AEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component Development
 

Similaire à When dispatcher caching is not enough...

JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?connectwebex
 
Boost your productivity for free!
Boost your productivity for free!Boost your productivity for free!
Boost your productivity for free!Maciej Majchrzak
 
eCommerce. How digital is transforming retail
eCommerce. How digital is transforming retaileCommerce. How digital is transforming retail
eCommerce. How digital is transforming retailAlex Rayón Jerez
 
CoreMedias presentation för Smarter Commerce Day 2015
CoreMedias presentation för Smarter Commerce Day 2015CoreMedias presentation för Smarter Commerce Day 2015
CoreMedias presentation för Smarter Commerce Day 2015FiweSystems
 
Web carbon calculator
Web carbon calculatorWeb carbon calculator
Web carbon calculatorPetr Kirpeit
 
An overview of the status quo, prospects and outlook of market mechanisms
An overview of the status quo, prospects and outlook of market mechanisms An overview of the status quo, prospects and outlook of market mechanisms
An overview of the status quo, prospects and outlook of market mechanisms NewClimate Institute
 
Market mechanisms in INDCs – presentation at Carbon Expo by Perspectives
Market mechanisms in INDCs – presentation at Carbon Expo by PerspectivesMarket mechanisms in INDCs – presentation at Carbon Expo by Perspectives
Market mechanisms in INDCs – presentation at Carbon Expo by PerspectivesMatthias Honegger
 
2015 innovation day_future mobility how bnv launches a new mobility service_v...
2015 innovation day_future mobility how bnv launches a new mobility service_v...2015 innovation day_future mobility how bnv launches a new mobility service_v...
2015 innovation day_future mobility how bnv launches a new mobility service_v...Verhaert Masters in Innovation
 
Warehouse 4.0 today´s challenge, tomorrow´s solution
Warehouse 4.0 today´s challenge, tomorrow´s solutionWarehouse 4.0 today´s challenge, tomorrow´s solution
Warehouse 4.0 today´s challenge, tomorrow´s solutionSrpska Logistička Asocijacija
 
Shumee business model and value proposition.
Shumee business model and value proposition.Shumee business model and value proposition.
Shumee business model and value proposition.SzymonMidera
 
Digital Customer Experience
Digital Customer ExperienceDigital Customer Experience
Digital Customer ExperienceColumbia Road
 
I4MS Funding Opportunities
I4MS Funding Opportunities I4MS Funding Opportunities
I4MS Funding Opportunities Irina Frigioiu
 
CIPTEC project presentation at EU Mobility event 2016
CIPTEC project presentation at EU Mobility event 2016CIPTEC project presentation at EU Mobility event 2016
CIPTEC project presentation at EU Mobility event 2016CIPTEC
 
Scale your business through B2B eCommerce in China
Scale your business through B2B eCommerce in ChinaScale your business through B2B eCommerce in China
Scale your business through B2B eCommerce in ChinaTMO Group
 
The Digitial Agenda for Europe: Where do we stand?
The Digitial Agenda for Europe: Where do we stand?The Digitial Agenda for Europe: Where do we stand?
The Digitial Agenda for Europe: Where do we stand?Carl-Christian Buhr
 
Evolving the Web into a Global Dataspace – Advances and Applications
Evolving the Web into a Global Dataspace – Advances and ApplicationsEvolving the Web into a Global Dataspace – Advances and Applications
Evolving the Web into a Global Dataspace – Advances and ApplicationsChris Bizer
 
GrowthEnabler Infocus Report Presentation
GrowthEnabler Infocus Report PresentationGrowthEnabler Infocus Report Presentation
GrowthEnabler Infocus Report PresentationGraphi Tales
 
2.FINTECH Course NMIMS - ANALYZING Fintech Landscape(Guest Lecture by NIRAJ V...
2.FINTECH Course NMIMS - ANALYZING Fintech Landscape(Guest Lecture by NIRAJ V...2.FINTECH Course NMIMS - ANALYZING Fintech Landscape(Guest Lecture by NIRAJ V...
2.FINTECH Course NMIMS - ANALYZING Fintech Landscape(Guest Lecture by NIRAJ V...Niraj Vaidya
 

Similaire à When dispatcher caching is not enough... (20)

JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?
 
Boost your productivity for free!
Boost your productivity for free!Boost your productivity for free!
Boost your productivity for free!
 
eCommerce. How digital is transforming retail
eCommerce. How digital is transforming retaileCommerce. How digital is transforming retail
eCommerce. How digital is transforming retail
 
CoreMedias presentation för Smarter Commerce Day 2015
CoreMedias presentation för Smarter Commerce Day 2015CoreMedias presentation för Smarter Commerce Day 2015
CoreMedias presentation för Smarter Commerce Day 2015
 
Web carbon calculator
Web carbon calculatorWeb carbon calculator
Web carbon calculator
 
An overview of the status quo, prospects and outlook of market mechanisms
An overview of the status quo, prospects and outlook of market mechanisms An overview of the status quo, prospects and outlook of market mechanisms
An overview of the status quo, prospects and outlook of market mechanisms
 
Market mechanisms in INDCs – presentation at Carbon Expo by Perspectives
Market mechanisms in INDCs – presentation at Carbon Expo by PerspectivesMarket mechanisms in INDCs – presentation at Carbon Expo by Perspectives
Market mechanisms in INDCs – presentation at Carbon Expo by Perspectives
 
2015 innovation day_future mobility how bnv launches a new mobility service_v...
2015 innovation day_future mobility how bnv launches a new mobility service_v...2015 innovation day_future mobility how bnv launches a new mobility service_v...
2015 innovation day_future mobility how bnv launches a new mobility service_v...
 
Warehouse 4.0 today´s challenge, tomorrow´s solution
Warehouse 4.0 today´s challenge, tomorrow´s solutionWarehouse 4.0 today´s challenge, tomorrow´s solution
Warehouse 4.0 today´s challenge, tomorrow´s solution
 
shumee_short.pdf
shumee_short.pdfshumee_short.pdf
shumee_short.pdf
 
Shumee business model and value proposition.
Shumee business model and value proposition.Shumee business model and value proposition.
Shumee business model and value proposition.
 
Digital Customer Experience
Digital Customer ExperienceDigital Customer Experience
Digital Customer Experience
 
I4MS Funding Opportunities
I4MS Funding Opportunities I4MS Funding Opportunities
I4MS Funding Opportunities
 
360Media Insight Session Slides
360Media Insight Session Slides360Media Insight Session Slides
360Media Insight Session Slides
 
CIPTEC project presentation at EU Mobility event 2016
CIPTEC project presentation at EU Mobility event 2016CIPTEC project presentation at EU Mobility event 2016
CIPTEC project presentation at EU Mobility event 2016
 
Scale your business through B2B eCommerce in China
Scale your business through B2B eCommerce in ChinaScale your business through B2B eCommerce in China
Scale your business through B2B eCommerce in China
 
The Digitial Agenda for Europe: Where do we stand?
The Digitial Agenda for Europe: Where do we stand?The Digitial Agenda for Europe: Where do we stand?
The Digitial Agenda for Europe: Where do we stand?
 
Evolving the Web into a Global Dataspace – Advances and Applications
Evolving the Web into a Global Dataspace – Advances and ApplicationsEvolving the Web into a Global Dataspace – Advances and Applications
Evolving the Web into a Global Dataspace – Advances and Applications
 
GrowthEnabler Infocus Report Presentation
GrowthEnabler Infocus Report PresentationGrowthEnabler Infocus Report Presentation
GrowthEnabler Infocus Report Presentation
 
2.FINTECH Course NMIMS - ANALYZING Fintech Landscape(Guest Lecture by NIRAJ V...
2.FINTECH Course NMIMS - ANALYZING Fintech Landscape(Guest Lecture by NIRAJ V...2.FINTECH Course NMIMS - ANALYZING Fintech Landscape(Guest Lecture by NIRAJ V...
2.FINTECH Course NMIMS - ANALYZING Fintech Landscape(Guest Lecture by NIRAJ V...
 

Plus de Jakub Wadolowski

Don’t reduce dispatcher testing to an afterthought
Don’t reduce dispatcher testing to an afterthoughtDon’t reduce dispatcher testing to an afterthought
Don’t reduce dispatcher testing to an afterthoughtJakub Wadolowski
 
Automated CI with AEM Cloud service
Automated CI with AEM Cloud serviceAutomated CI with AEM Cloud service
Automated CI with AEM Cloud serviceJakub Wadolowski
 
The curious case of misrendered JSON
The curious case of misrendered JSONThe curious case of misrendered JSON
The curious case of misrendered JSONJakub Wadolowski
 
Image optimization at the edge
Image optimization at the edgeImage optimization at the edge
Image optimization at the edgeJakub Wadolowski
 
Taming content delivery at scale
Taming content delivery at scaleTaming content delivery at scale
Taming content delivery at scaleJakub Wadolowski
 
Into the nooks and crannies of Boden’s digital transformation
Into the nooks and crannies of Boden’s digital transformationInto the nooks and crannies of Boden’s digital transformation
Into the nooks and crannies of Boden’s digital transformationJakub Wadolowski
 
How to seamlessly incorporate CDN into your application stack
How to seamlessly incorporate CDN into your application stackHow to seamlessly incorporate CDN into your application stack
How to seamlessly incorporate CDN into your application stackJakub Wadolowski
 
The underappreciated power of content invalidation
The underappreciated power of content invalidationThe underappreciated power of content invalidation
The underappreciated power of content invalidationJakub Wadolowski
 

Plus de Jakub Wadolowski (11)

Don’t reduce dispatcher testing to an afterthought
Don’t reduce dispatcher testing to an afterthoughtDon’t reduce dispatcher testing to an afterthought
Don’t reduce dispatcher testing to an afterthought
 
Automated CI with AEM Cloud service
Automated CI with AEM Cloud serviceAutomated CI with AEM Cloud service
Automated CI with AEM Cloud service
 
The curious case of misrendered JSON
The curious case of misrendered JSONThe curious case of misrendered JSON
The curious case of misrendered JSON
 
The shift to the edge
The shift to the edgeThe shift to the edge
The shift to the edge
 
Image optimization at the edge
Image optimization at the edgeImage optimization at the edge
Image optimization at the edge
 
The shift to the edge
The shift to the edgeThe shift to the edge
The shift to the edge
 
Taming content delivery at scale
Taming content delivery at scaleTaming content delivery at scale
Taming content delivery at scale
 
Into the nooks and crannies of Boden’s digital transformation
Into the nooks and crannies of Boden’s digital transformationInto the nooks and crannies of Boden’s digital transformation
Into the nooks and crannies of Boden’s digital transformation
 
How to seamlessly incorporate CDN into your application stack
How to seamlessly incorporate CDN into your application stackHow to seamlessly incorporate CDN into your application stack
How to seamlessly incorporate CDN into your application stack
 
The underappreciated power of content invalidation
The underappreciated power of content invalidationThe underappreciated power of content invalidation
The underappreciated power of content invalidation
 
Taming AEM deployments
Taming AEM deploymentsTaming AEM deployments
Taming AEM deployments
 

Dernier

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Dernier (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

When dispatcher caching is not enough...

  • 1. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 1 When dispatcher caching is not enough… Jakub Wądołowski Senior Systems Engineer @ Cognifide twitter.com/jwadolowski
  • 2. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 2 Agenda  The What  What was the problem about?  The Why  Why we decided to go for Content Delivery Network (CDN)?  The How  How it was implemented?
  • 3. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 3 THE WHAT
  • 4. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 4 It all started in 2012… www.flickr.com/photos/nasahqphoto/16327416694
  • 5. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 5 To be perfectly honest, initially it was rather like that… www.flickr.com/photos/garryknight/5703519506
  • 6. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 6 The client  EU pharmaceutical company  75 offices across the globe  Over 40 000 employees  Medical products available worldwide (180+ countries) www.flickr.com/photos/worak/2258271659
  • 7. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 7 Requirements  Country specific brochureware websites for medical products  iPad app for sales representatives  Single point for content entry  Multiple integration points (SSO, user/device authentication, etc.)  CQ 5.5, upgrade to AEM 6.1 in progress
  • 8. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 8 Main components Brochureware website iPad app AEM Authoring
  • 9. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 9 Logical Architecture  Single datacenter in London  REST-like API for iPad app  Integrations with local and remote services
  • 10. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 10 Initially it was just Spain, Argentina and Sweden
  • 11. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 11 6 months later the number of countries was tripled
  • 12. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 12 To finally reach 21 and it is still not over
  • 13. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 13 THE WHY
  • 14. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 14 “Our team in Argentina complains that the app feels slow. They can’t download presentations sometimes. Could you please investigate that?” Mr B. www.flickr.com/photos/r4vi/8640618489
  • 15. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 15 Problems  Latency, latency, latency…  Way too high round trip times (RTT)  Timeouts  Broken streams  Connection resets  Poor Internet connections in some areas
  • 16. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 16 Solutions
  • 17. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 17 When initial excitement was gone…  How we’re going to sync the content (both ways)?  What about deployments?  Do we have enough licenses to set up the new stack in a proper way?  What’s the best way to implement content sharding?  How long it will take to implement all of these things?
  • 18. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 18 PoC conclusion www.flickr.com/photos/geishaboy500/2496995573
  • 19. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 19 The road to CDN  We can’t just cache more on dispatcher  This is a very well known problem  Let’s use the right tool to solve the problem the right way  Content Delivery Network (CDN) is the way to go!
  • 20. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 20 CDN definition • “(…) CDN is a large distributed system of servers deployed in multiple data centers across the Internet. The goal of a CDN is to serve content to end-users with high availability and high performance. CDNs serve a large fraction of the Internet content today (..).”, Wikipedia
  • 21. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 21 AEM + CDN
  • 22. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 22 CDN, right? www.flickr.com/photos/pictures-of-money/16678590844
  • 23. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 23 That's not necessarily true nowadays… www.flickr.com/photos/halfrain/14410890555
  • 24. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 24 Why Fastly?  Pay-as-you-go model  Powered by Varnish  Highly customizable (ability to upload your own VCL)  150 ms to purge – globally  ~5 sec to change a config through the web API  SSD powered servers connected to T1 networks  Real-time insight what’s happening (graphs, logs, etc)  Great support
  • 25. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 25
  • 26. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 26 Still not convinced?
  • 27. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 27 THE HOW
  • 28. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 28 Uhh… ok, how should I start? www.flickr.com/photos/kleuske/8004416109
  • 29. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 29 The logs! www.flickr.com/photos/martinbamford/5638834940
  • 30. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 30 Logs and content structure  grep, awk, sed - all of these are your friends  Count your requests  Leverage the power of log monitoring tools (ELK, Splunk, etc.)  Plan your content structure carefully
  • 31. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 31 Look for patterns www.flickr.com/photos/wwarby/4915777722
  • 32. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 32 Request patterns  If it is a GET request and starts with /bin/myapp/v[1-2]/a_string.json then it is X  All requests to /content/something/*/_jcr_content.zip end with 302 to /some/path/to/file.zip
  • 33. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 33 Assign these patterns to multiple buckets www.flickr.com/photos/ddebold/15991919514
  • 34. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 34 Content groups/buckets  Public content  Private content  Content available for authorized users only
  • 35. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 35 Varnish in 1 slide!  Reverse HTTP proxy  In-memory time based cache  Blazing-fast  Big “state” machine  Varnish Configuration Language (VCL)  Full control of HTTP flow
  • 36. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 36 General caching rules  Cacheable methods: GET, HEAD  Cacheable response codes: 200, 203, 300, 301, 302, 410, 404  “Cache-Control: private” if not defined otherwise
  • 37. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 37 Let’s start with the iPad app www.flickr.com/photos/pestoverde/15048774061
  • 38. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 38 iPad content  2 content groups  8 request patterns  TTL varies from 10 minutes to 7 days  35/65 dynamic/static content (frequently changing JSON files vs PDFs/PNGs)  All REST API responses are private
  • 39. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 39 Private content  Private content is cacheable  What makes HTTP response private?  It is tied up with user session – in other words HTTP request carried unique authorization cookie
  • 40. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 40 Is it really safe to cache that type of content? www.flickr.com/photos/hyku/368912557
  • 41. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 41 Private cache  Varnish cache is a key-value store  Default key: req.url + req.http.host  req.url + req.http.host + sessionId = private cache space - voila!
  • 42.
  • 43.
  • 44. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 44 Dynamic means uncacheable? www.flickr.com/photos/gsfc/7402445224
  • 45. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 45 Dynamic content  Cache usually brings some trade-off  Updates won’t be instantaneous  TTL has to expire, or  a purge request has to be triggered  CDN is the way to go if you accept this delay
  • 46. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 46 Content purging www.flickr.com/photos/librariesrock/13522859053
  • 47. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 47
  • 48. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 48
  • 49. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 49 Content purging  Fastly exposes purge REST API  Purge URL  Purge Key  Purge All  Purge vs Soft Purge
  • 50. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 50 Results www.flickr.com/photos/89228431@N06/11322953266
  • 51. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 51 iPad app statistics  Hit ratio: 48,4%  Cache coverage: 65,3%  Requests: 83K
  • 52. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 52 What about the speed? www.flickr.com/photos/129341635@N02/16609174727
  • 53. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 53 Speed boost  Presentation download  Europe: up to 21% faster  South America: up to 50% faster  APAC: up to 83% faster  API responses  Europe: up to 60% faster  South America: up to 40% faster  APAC: up to 55% faster
  • 54. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 54 Issues? www.flickr.com/photos/giuseppemilo/15414290956
  • 55. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 55 Crimes against cacheability www.flickr.com/photos/alancleaver/4121423119
  • 56. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 56 Crimes against cacheability  Adding Set-Cookie to every response  Auth cookie is not revoked in the browser after logout  TBD
  • 57. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 57 “iPad app performance is much better now! But we still have some issues with authoring. It is really slow in some countries.” Mr B. www.flickr.com/photos/r4vi/8640618489
  • 58. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 58 CDN in front of authoring?  I was rather skeptical  Way too dynamic to be considered cacheable?  What kind of improvement we might get? 5-10%? Is it worth it?  Don’t know how, but it has been decided to roll things out 
  • 59. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 59 CDN + AEM Author  3 content groups  36 request patterns  TTL up to 14 days  Mostly dynamic + static web GUI resources  A lot of assets common for every logged in user
  • 60. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 60 Authorized only! www.flickr.com/photos/rudyjuanito/5170435542
  • 61. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 61 Authorize at the edge  CDN knows nothing about user session  The goal is to cache common content for successfully authorized users  Authorize them at the edge!
  • 62. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 62 Auth tokens www.flickr.com/photos/cfortier/426610972
  • 63. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 63 Auth tokens  2nd auth cookie (token), readable by CDN  HMAC function  2 auth cookies are tied together  Reference implementation: https://github.com/fastly/token-functions  Private key shared between AEM and CDN  CDN can evaluate user session without request to AEM
  • 64.
  • 65. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 65 www.flickr.com/photos/spacexphotos/16169087563
  • 66. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 66 Author statistics  Hit ratio: 96,4%  Cache coverage: 45,1%  Requests: 97K
  • 67. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 67 Crimes against cacheability  Adding Set-Cookie to every response  Auth cookie is not revoked in the browser after logout  “Vary: Cookie” usage
  • 68. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 68 Summary www.flickr.com/photos/andrewhurley/6254409229
  • 69. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 69 Summary  Traffic growth is no longer an issue  Over 2 TB monthly reaches CDN servers  ~5,5 million HTTP requests per month  just ~570 GB was passed through to AEM  License, budget and time savings  More than satisfying results  Very small changes in the AEM app itself  Happy client 
  • 70. The future of digital marketing. London, Poland, Copenhagen. © 24/06/2015 Page 70 jakub.wadolowski@cognifide.com github.com/jwadolowski twitter.com/jwadolowski linkedin.com/in/kubawadolowski/en www.flickr.com/photos/jeffdjevdet/18027482924