Maintain 
the balance 
To get the most out of your CDN… 
Johannes Eckerdal 
8 October 2014
Headlines of today 
IKEA on the world wide web... 
The Experience Delivery Network 
Maintaining the Balance 
Property Mgr rocked the world 
Examples from Reality
1:45min movie about IKEA
IKEA has been 
present on the 
Internet since 
1997 and we are 
now building our 
5th generation 
web platform.
From Notepad web to… 
...a complex bastard with 170 Million visits in August 2014. Present in 46+ 
countries whereof 1/3 with eCommerce in some flavor. 
5
6 
IKEA today use 
AQUA Ion and 
KONA to secure 
delivery of +150 
domains
Sometimes we need a 
CDN
Experience 
Delivery Network 
deliver content. 
deliver an Experience. 
deliver the Brand. 
create a value. WE 
To use the CDN as an EDN we need to do more on the 
Edge…
Some things make sense to do on 
the Edge 
Visitor Characteristics Check 
• GEO, Device, Customer 
Border Control 
• Minimize Attack Window 
• Minimize Attack Window 
• Minimize Attack Window 
• Kill the zombies 
• Black Hole 
• Lock the door 
Traffic Control 
• Redirect 
• Rewrite 
• Origin this or that 
• Service Adaption for Reality degradation mgmt 
• Network status 
• Browser capabilities
Minimize the Attack window 
Cache 
Res ipsa loquitur… 
(Unfortunately a bigger 
issue than we normally 
imagine) 
Ignore QS 
Ignore QS by default and 
include it where it’s 
necessary 
Deny POST 
Deny POST method by 
default and allow it only 
where it’s absolutely 
necessary 
Ignore Case 
Ignore Case by default and 
activate it where it’s 
necessary 
BOT strategy 
Why should bots be allowed 
to take resources from real 
users? 
Even the simplest Make Sense Rule complicates life for the developer
• Using functionality on the 
Edge impacts Development 
• The CDN will not become the 
EDN unless its an 
integrated component in 
your complete stack 
• Using functionality on the 
Edge must be done with 
Care
The 
balance
Content Experience 
Stand-alone 
Simple 
Pure 
Nice-to-have 
CDN Agnostic CDN Dependent 
Integrated 
Vendor lock-in 
Vendor independence 
Complex 
Less secure More secure 
Vendor dependency 
Usage of functionality 
Usage of what we for
An example of approach… 
+90% 12% 
EDN approach, but with maintained 
balance. There are plenty of more 
functionality we could use… 
Managed service. 
Traditional CDN approach.
The operation was a 
success 
success, but 
the patient died
• IaaS 
• DevelopmentaaS 
• SupportaaS 
• ServiceaaS 
• RequirementaaS 
• ResponsibilityaaS 
• In the end of the day – 
does it matter who to 
blame when your 
brand goes down? 
• How to maintain the 
balance if we buy CDN 
as a Managed Service?
IKEA CDN 
Competence Centre 
We have tried a Managed Service of the Managed Service… 
We have tested a Do-it-yourself approach… 
We have settled a 
Competence 
& Support 
team. 
* 
CDN 
* The name used in this presentation is fiction, and should not be 
confused with the internal organizational name.
Monitoring SIRT 
CDN 
Competence 
& Support 
CDN 
CDN 
Application 
Application 
Application 
Network 
Application 
Not only Support 
and Competence, 
BUT 
Requirements on 
Development 
Strategy Budget
And then came 
Property 
manager
PM changes the 
equation 
We can do more 
and still maintain 
the balance.
• Boosts Time 
to market 
• Empowers us 
to try and 
explore 
• Puts you in 
Driving seat
Examples from 
Reality
Web Service delivery 
Problem 
There is a trillion permutations of the same things... Too low cache hit ratio, 
too high response times, origin capacity constraint. 
/product/1,2,3,4,5/ and /product/2,3,4,5/ are almost the same. 
/product/1,2,3,4,5/ and /product/5,4,3,2,1/ same-same, but different… 
Solution 
Use ESI to itemize and assembly at the edge. Cache items individually. 
Balance maintained 
Yes, the functionality is not changed. We just get the most out of the CDN. 
23
24 
PM implementation 
3344 lliinneess 
From advanced MD 
override in CM, created by 
PS, to a few rules we 
created outselves in PM.
Redirect engine 
Problem 
Redirects kill user performance. Redirect cache hitRatio is too low. 
Solution 
1000s of redirects maintained in origin Content Mgmt System. Instead of 
deploying the list of RewriteRules to origin webServers, we deploy the list to 
Akamai and use ESI to loop through it and create the redirect on the fly – at 
the Edge. Immediate activation. 
Balance maintained 
Yes, the functionality is not changed. 
Works even better for Mobile Detection & Redirect… 
...where mapping between m. and www. is dynamic. 
25
26 
PM implementation 
tthhee lliisstt 
From an advanced 
configuration (not even 
CM) to a super-simple 
PM version.
The exception… 
Obviously it was too good to be true. A redirect is not a redirect. 
The redirect depends…
Functional clusters 
Problem 
Out-of-the-box does not scale. Common backend for all markets. Not 
possible to optimize for optimal performance – always least common 
denominator. 
Solution 
Functional Clusters instead of Market based Clusters. URL-routing of traffic 
done already at the Edge. Each cluster optimized for its task, and issues are 
isolated to a higher degree. 
Balance maintained 
Yes, the functionality is not changed. It may easily be done by URI-routing 
e.g. in LoadBalancer. 
28
29 
PM implementation 
From a mess… with a 
mixture of CM Basic 
Rules and advanced MD 
override... 
…to direct control and 
visibility. 
Easily changed and 
activated.
Regex rewrites 
Usage scenario 
For SEO reasons the same image/document have different paths. 
Problem 
Implementation of Rewrite rules differs in origin and at CDN. Different 
methods has previously been used to solve the same thing. 
Solution 
Property Manager! Modify path by regex is what we use at origin, and in all 
test systems. Now we can replicate this 1:1 in Akamai. 
Balance maintained 
Yes, now we are in control ourselves. 
30 
/image/billy-bookshelf-12345.jpg = /image/billy-bokhylla-12345.jpg
From origin code to PM 
31 
Replication of Code – Replication of Test – Replication of Function.
All good then…?
Simplifies our 
communication 
Complete Visibility 
DIY 
Nested rules 
Complex things are made 
in a simple way
There are some dark 
clouds on the PM sky… 
The more you get – the 
more you want 
PPeerrffoorrmmaannccee 
BBuuggss 
”Help” 
Section 
MD XML generated far 
more complicated 
Debug Tools 
missing
Final 
words...
To get the most out of your 
CDN… 
Get in Control 
Stay in Control 
Maintain the balance
Home is the most important place in the world 
16-Oct-14 [IKEA Business Unit/Topic name] 37 
© Inter IKEA Systems B.V. 2014

Edge 2014: Maintaining the Balance: Getting the Most of Your CDN with IKEA

  • 1.
    Maintain the balance To get the most out of your CDN… Johannes Eckerdal 8 October 2014
  • 2.
    Headlines of today IKEA on the world wide web... The Experience Delivery Network Maintaining the Balance Property Mgr rocked the world Examples from Reality
  • 3.
  • 4.
    IKEA has been present on the Internet since 1997 and we are now building our 5th generation web platform.
  • 5.
    From Notepad webto… ...a complex bastard with 170 Million visits in August 2014. Present in 46+ countries whereof 1/3 with eCommerce in some flavor. 5
  • 6.
    6 IKEA todayuse AQUA Ion and KONA to secure delivery of +150 domains
  • 7.
  • 8.
    Experience Delivery Network deliver content. deliver an Experience. deliver the Brand. create a value. WE To use the CDN as an EDN we need to do more on the Edge…
  • 9.
    Some things makesense to do on the Edge Visitor Characteristics Check • GEO, Device, Customer Border Control • Minimize Attack Window • Minimize Attack Window • Minimize Attack Window • Kill the zombies • Black Hole • Lock the door Traffic Control • Redirect • Rewrite • Origin this or that • Service Adaption for Reality degradation mgmt • Network status • Browser capabilities
  • 10.
    Minimize the Attackwindow Cache Res ipsa loquitur… (Unfortunately a bigger issue than we normally imagine) Ignore QS Ignore QS by default and include it where it’s necessary Deny POST Deny POST method by default and allow it only where it’s absolutely necessary Ignore Case Ignore Case by default and activate it where it’s necessary BOT strategy Why should bots be allowed to take resources from real users? Even the simplest Make Sense Rule complicates life for the developer
  • 11.
    • Using functionalityon the Edge impacts Development • The CDN will not become the EDN unless its an integrated component in your complete stack • Using functionality on the Edge must be done with Care
  • 12.
  • 13.
    Content Experience Stand-alone Simple Pure Nice-to-have CDN Agnostic CDN Dependent Integrated Vendor lock-in Vendor independence Complex Less secure More secure Vendor dependency Usage of functionality Usage of what we for
  • 14.
    An example ofapproach… +90% 12% EDN approach, but with maintained balance. There are plenty of more functionality we could use… Managed service. Traditional CDN approach.
  • 15.
    The operation wasa success success, but the patient died
  • 16.
    • IaaS •DevelopmentaaS • SupportaaS • ServiceaaS • RequirementaaS • ResponsibilityaaS • In the end of the day – does it matter who to blame when your brand goes down? • How to maintain the balance if we buy CDN as a Managed Service?
  • 17.
    IKEA CDN CompetenceCentre We have tried a Managed Service of the Managed Service… We have tested a Do-it-yourself approach… We have settled a Competence & Support team. * CDN * The name used in this presentation is fiction, and should not be confused with the internal organizational name.
  • 18.
    Monitoring SIRT CDN Competence & Support CDN CDN Application Application Application Network Application Not only Support and Competence, BUT Requirements on Development Strategy Budget
  • 19.
    And then came Property manager
  • 20.
    PM changes the equation We can do more and still maintain the balance.
  • 21.
    • Boosts Time to market • Empowers us to try and explore • Puts you in Driving seat
  • 22.
  • 23.
    Web Service delivery Problem There is a trillion permutations of the same things... Too low cache hit ratio, too high response times, origin capacity constraint. /product/1,2,3,4,5/ and /product/2,3,4,5/ are almost the same. /product/1,2,3,4,5/ and /product/5,4,3,2,1/ same-same, but different… Solution Use ESI to itemize and assembly at the edge. Cache items individually. Balance maintained Yes, the functionality is not changed. We just get the most out of the CDN. 23
  • 24.
    24 PM implementation 3344 lliinneess From advanced MD override in CM, created by PS, to a few rules we created outselves in PM.
  • 25.
    Redirect engine Problem Redirects kill user performance. Redirect cache hitRatio is too low. Solution 1000s of redirects maintained in origin Content Mgmt System. Instead of deploying the list of RewriteRules to origin webServers, we deploy the list to Akamai and use ESI to loop through it and create the redirect on the fly – at the Edge. Immediate activation. Balance maintained Yes, the functionality is not changed. Works even better for Mobile Detection & Redirect… ...where mapping between m. and www. is dynamic. 25
  • 26.
    26 PM implementation tthhee lliisstt From an advanced configuration (not even CM) to a super-simple PM version.
  • 27.
    The exception… Obviouslyit was too good to be true. A redirect is not a redirect. The redirect depends…
  • 28.
    Functional clusters Problem Out-of-the-box does not scale. Common backend for all markets. Not possible to optimize for optimal performance – always least common denominator. Solution Functional Clusters instead of Market based Clusters. URL-routing of traffic done already at the Edge. Each cluster optimized for its task, and issues are isolated to a higher degree. Balance maintained Yes, the functionality is not changed. It may easily be done by URI-routing e.g. in LoadBalancer. 28
  • 29.
    29 PM implementation From a mess… with a mixture of CM Basic Rules and advanced MD override... …to direct control and visibility. Easily changed and activated.
  • 30.
    Regex rewrites Usagescenario For SEO reasons the same image/document have different paths. Problem Implementation of Rewrite rules differs in origin and at CDN. Different methods has previously been used to solve the same thing. Solution Property Manager! Modify path by regex is what we use at origin, and in all test systems. Now we can replicate this 1:1 in Akamai. Balance maintained Yes, now we are in control ourselves. 30 /image/billy-bookshelf-12345.jpg = /image/billy-bokhylla-12345.jpg
  • 31.
    From origin codeto PM 31 Replication of Code – Replication of Test – Replication of Function.
  • 32.
  • 33.
    Simplifies our communication Complete Visibility DIY Nested rules Complex things are made in a simple way
  • 34.
    There are somedark clouds on the PM sky… The more you get – the more you want PPeerrffoorrmmaannccee BBuuggss ”Help” Section MD XML generated far more complicated Debug Tools missing
  • 35.
  • 36.
    To get themost out of your CDN… Get in Control Stay in Control Maintain the balance
  • 37.
    Home is themost important place in the world 16-Oct-14 [IKEA Business Unit/Topic name] 37 © Inter IKEA Systems B.V. 2014