SlideShare a Scribd company logo
1 of 56
Life on the Edge with ESI
Kit Chan (kichan@yahoo-inc.com)
Custom Branded Experiences
Yahoo!
World Cup Penalty Shootout
Royal Wedding
Cybergeddon
Life on the Edge
Source: http://img.shockblast.net/2012/01/ShockBlast-4-803109.jpg
Agenda
 Introduction
 Use Cases
 Performance Characteristics
 Future
 Q&A
Agenda
 Introduction
 Use Cases
 Performance Characteristics
 Future
 Q&A
Edge Computing/CDN Source: http://www.excitingip.com/wp-content/uploads/2011/01/contentdeliverynetworkblockdiagram.jpeg
Edge Computing in Yahoo!
- Pages: avg 120K req/s, 16% cache ratio
- Assets: avg 20Gb/s, 95% cache ratio
User Location Latency - 100K file in US Through Y! Edge
California, USA 0.2s 0.02s
Singapore 2s 0.02s
Korea 1.3s 0.02s
Ireland 1.2s 0.2s
Switzerland 1.0s 0.2s
Edge Computing in Yahoo!
- Pages: avg 120K req/s, 16% cache ratio
- Assets: avg 20Gb/s, 95% cache ratio
User Location Latency - 100K file in US Through Y! Edge
California, USA 0.2s 0.02s
Singapore 2s 0.02s
Korea 1.3s 0.02s
Ireland 1.2s 0.2s
Switzerland 1.0s 0.2s
ESI can help!
ESI Support in Proxy Server – Proven & Popular
ESI Support in Proxy Software – New or Unproven
ESI Support in CDN Vendor
Agenda
 Introduction
 Use Cases
 Performance Characteristics
 Future
 Q&A
Use Case 1 - Content Assembly
Markup in Response
<esi:include src=http://xyz.com/content.html/>
Content Assembly – Error Handling
Can handle response error and timeout
<esi:try><esi:attempt>
<esi:include src=http://xyz.com/content.html/ >
</esi:attempt><esi:except>
Sorry there is an error!
</esi:except></esi:try>
Content Assembly
Content Assembly
Content Assembly
Content Assembly
Why? Performance!
No server cache +
No ESI
Server cache + No
ESI
YTS Cache + ESI
modules
Scenario
Origin Server
Handling Full Page
requests each time
and executing every
module every time.
Origin Server
handling full page
requests, only
executing non
cacheable modules
Origin Server only
serving requests for
non cacheable
modules
FE throughput per
box
45 queries per
second
140 queries per
second
190 queries per
second
Server latency 900 ms per request 80 ms per page 55 ms per page
Why? Availability
Why it goes down?
- Releases
- Outage
How ESI Help?
- Template cached
- Fallback for each ESI module
Why? Legacy Module Support
Use Case 2 - Automatic Fallback
“Always On” - 100% availability for “existing” pages
Serve static pages when origin servers are down or
too slow
No change needed on origin servers
Automatic Fallback
26
Automatic Fallback
Automatic Fallback
Automatic Fallback
Automatic Fallback – Subsequent Request
Automatic Fallback – Subsequent Request
Automatic Fallback – Subsequent Request
Use Case 3 - Timely Launch
Before Launch
After Launch
Timely Launch – Before Launch
36Confidential
Timely Launch – Before Launch
Timely Launch – After Launch
Timely Launch – After Launch
Conclusion - Usage Pattern
Client
Proxy
Server/CDN
ESI Service
Origin Server
for ESI Include
Agenda
 Introduction
 Use Cases
 Performance Characteristics
 Future
 Q&A
Concurrent Requests
First Byte Flush
ESI Support in Varnish
No concurrent requests for includes
First Byte Flush Support
ESI Support in Apache Traffic Server
Concurrent requests for includes
No First Byte Flush Support (Coming soon)
Agenda
 Introduction
 Use Cases
 Performance Characteristics
 Future
 Q&A
Future
The spec (ESI 1.0) is published over 10 years ago.
- W3C spec
- Editor - Mark Nottingham from Akamai
Mark Nottingham
http://www.mnot.net/
Future – Manipulating Requests/Responses
Client
Proxy Server
Supporting
ESI
Origin Server
returing ESI
Document
Origin Server
for ESI Include
Future – Manipulating Requests/Responses
Client
Proxy Server
Supporting
ESI
Origin Server
returing ESI
Document
Origin Server
for ESI Include
Final response
header to user can
be changed
Future – Manipulating Requests/Responses
Client
Proxy Server
Supporting
ESI
Origin Server
returing ESI
Document
Origin Server
for ESI Include
Final response
header to user can
be changed
Request Header,
method, timeout can
be changed for
includes
Future – Manipulating Requests/Responses
Client
Proxy Server
Supporting
ESI
Origin Server
returing ESI
Document
Origin Server
for ESI Include
Request/Response
Header can be
retrieved as variables
Final response
header to user can
be changed
Request Header,
method, timeout can
be changed for
includes
Future – Smart Assembly
One request for multiple
includes (e.g. one Ad call
fetching multiple ad position)
Future – More Use cases
Device Detection
Bucket Testing
http://illusionmedia.com/wp-content/uploads/2012/03/mobileDevices1-300x200.jpg
https://doazrm3qeh7n2.cloudfront.net/images/features/quick-a-vs-b-testing.jpg
Agenda
 Introduction
 Use Cases
 Performance Characteristics
 Future
 Q&A
Q & A
谢谢
kichan@yahoo-inc.com
Reference
 ESI Language Specification – http://www.w3.org/TR/esi-lang
 Edge Architecture Specification - http://www.w3.org/TR/edge-arch
 ATS ESI plugin -
https://github.com/apache/trafficserver/blob/master/plugins/experimental/esi/README
 Varnish ESI - https://www.varnish-cache.org/docs/3.0/tutorial/esi.html
 Akamai ESI - http://www.akamai.com/dl/technical_publications/akamai_esi_extensions.pdf
 F5 - http://support.f5.com/kb/en-
us/products/wa/manuals/product/wa9_4policy/WA_Policy_9_4-19-1.html

More Related Content

Similar to Life on the Edge with ESI

Velocity china2012kit life on edge —— 如何使用 esi 完成任务
Velocity china2012kit life on edge —— 如何使用 esi 完成任务Velocity china2012kit life on edge —— 如何使用 esi 完成任务
Velocity china2012kit life on edge —— 如何使用 esi 完成任务
Michael Zhang
 
AJAX for Scalability
AJAX for ScalabilityAJAX for Scalability
AJAX for Scalability
Tuenti
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
George Ang
 
Krug Fat Client
Krug Fat ClientKrug Fat Client
Krug Fat Client
Paul Klipp
 
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
elenae00
 

Similar to Life on the Edge with ESI (20)

Life on the Edge with ESI
Life on the Edge with ESILife on the Edge with ESI
Life on the Edge with ESI
 
Velocity china2012kit life on edge —— 如何使用 esi 完成任务
Velocity china2012kit life on edge —— 如何使用 esi 完成任务Velocity china2012kit life on edge —— 如何使用 esi 完成任务
Velocity china2012kit life on edge —— 如何使用 esi 完成任务
 
AJAX for Scalability
AJAX for ScalabilityAJAX for Scalability
AJAX for Scalability
 
Ajax For Scalability
Ajax For ScalabilityAjax For Scalability
Ajax For Scalability
 
Evolving Archetecture
Evolving ArchetectureEvolving Archetecture
Evolving Archetecture
 
Altitude SF 2017: The power of the network
Altitude SF 2017: The power of the networkAltitude SF 2017: The power of the network
Altitude SF 2017: The power of the network
 
5 Steps to Faster Web Sites and HTML5 Games
5 Steps to Faster Web Sites and HTML5 Games5 Steps to Faster Web Sites and HTML5 Games
5 Steps to Faster Web Sites and HTML5 Games
 
AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...
AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...
AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
 
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps Faster
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps FasterPractical Performance Tips and Tricks to Make Your HTML/JavaScript Apps Faster
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps Faster
 
Krug Fat Client
Krug Fat ClientKrug Fat Client
Krug Fat Client
 
5 steps to faster web sites & HTML5 games - updated for DDDscot
5 steps to faster web sites & HTML5 games - updated for DDDscot5 steps to faster web sites & HTML5 games - updated for DDDscot
5 steps to faster web sites & HTML5 games - updated for DDDscot
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By Design
 
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
 
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
 
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
 
SQL Server On SANs
SQL Server On SANsSQL Server On SANs
SQL Server On SANs
 
BGOUG "Agile Data: revolutionizing database cloning'
BGOUG  "Agile Data: revolutionizing database cloning'BGOUG  "Agile Data: revolutionizing database cloning'
BGOUG "Agile Data: revolutionizing database cloning'
 
DevOps, Databases and The Phoenix Project UGF4042 from OOW14
DevOps, Databases and The Phoenix Project UGF4042 from OOW14DevOps, Databases and The Phoenix Project UGF4042 from OOW14
DevOps, Databases and The Phoenix Project UGF4042 from OOW14
 
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
 

More from Kit Chan (7)

Experience with jemalloc
Experience with jemallocExperience with jemalloc
Experience with jemalloc
 
Benchmarking for HTTP/2
Benchmarking for HTTP/2Benchmarking for HTTP/2
Benchmarking for HTTP/2
 
Learning from Captain Kirk, Spock and Crew of the Enterprise
Learning from Captain Kirk, Spock and Crew of the EnterpriseLearning from Captain Kirk, Spock and Crew of the Enterprise
Learning from Captain Kirk, Spock and Crew of the Enterprise
 
Yahoo's Adventure with ATS
Yahoo's Adventure with ATSYahoo's Adventure with ATS
Yahoo's Adventure with ATS
 
Failsafe Mechanism for Yahoo Homepage
Failsafe Mechanism for Yahoo HomepageFailsafe Mechanism for Yahoo Homepage
Failsafe Mechanism for Yahoo Homepage
 
Replacing Squid with ATS
Replacing Squid with ATSReplacing Squid with ATS
Replacing Squid with ATS
 
Apache Traffic Server & Lua
Apache Traffic Server & LuaApache Traffic Server & Lua
Apache Traffic Server & Lua
 

Recently uploaded

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 

Life on the Edge with ESI

  • 1. Life on the Edge with ESI Kit Chan (kichan@yahoo-inc.com) Custom Branded Experiences Yahoo!
  • 2. World Cup Penalty Shootout
  • 5. Life on the Edge Source: http://img.shockblast.net/2012/01/ShockBlast-4-803109.jpg
  • 6. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  • 7. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  • 8. Edge Computing/CDN Source: http://www.excitingip.com/wp-content/uploads/2011/01/contentdeliverynetworkblockdiagram.jpeg
  • 9. Edge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s, 95% cache ratio User Location Latency - 100K file in US Through Y! Edge California, USA 0.2s 0.02s Singapore 2s 0.02s Korea 1.3s 0.02s Ireland 1.2s 0.2s Switzerland 1.0s 0.2s
  • 10. Edge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s, 95% cache ratio User Location Latency - 100K file in US Through Y! Edge California, USA 0.2s 0.02s Singapore 2s 0.02s Korea 1.3s 0.02s Ireland 1.2s 0.2s Switzerland 1.0s 0.2s
  • 12. ESI Support in Proxy Server – Proven & Popular
  • 13. ESI Support in Proxy Software – New or Unproven
  • 14. ESI Support in CDN Vendor
  • 15. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  • 16. Use Case 1 - Content Assembly Markup in Response <esi:include src=http://xyz.com/content.html/>
  • 17. Content Assembly – Error Handling Can handle response error and timeout <esi:try><esi:attempt> <esi:include src=http://xyz.com/content.html/ > </esi:attempt><esi:except> Sorry there is an error! </esi:except></esi:try>
  • 22. Why? Performance! No server cache + No ESI Server cache + No ESI YTS Cache + ESI modules Scenario Origin Server Handling Full Page requests each time and executing every module every time. Origin Server handling full page requests, only executing non cacheable modules Origin Server only serving requests for non cacheable modules FE throughput per box 45 queries per second 140 queries per second 190 queries per second Server latency 900 ms per request 80 ms per page 55 ms per page
  • 23. Why? Availability Why it goes down? - Releases - Outage How ESI Help? - Template cached - Fallback for each ESI module
  • 25. Use Case 2 - Automatic Fallback “Always On” - 100% availability for “existing” pages Serve static pages when origin servers are down or too slow No change needed on origin servers
  • 30. Automatic Fallback – Subsequent Request
  • 31. Automatic Fallback – Subsequent Request
  • 32. Automatic Fallback – Subsequent Request
  • 33. Use Case 3 - Timely Launch
  • 36. Timely Launch – Before Launch 36Confidential
  • 37. Timely Launch – Before Launch
  • 38. Timely Launch – After Launch
  • 39. Timely Launch – After Launch
  • 40. Conclusion - Usage Pattern Client Proxy Server/CDN ESI Service Origin Server for ESI Include
  • 41. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  • 44. ESI Support in Varnish No concurrent requests for includes First Byte Flush Support
  • 45. ESI Support in Apache Traffic Server Concurrent requests for includes No First Byte Flush Support (Coming soon)
  • 46. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  • 47. Future The spec (ESI 1.0) is published over 10 years ago. - W3C spec - Editor - Mark Nottingham from Akamai Mark Nottingham http://www.mnot.net/
  • 48. Future – Manipulating Requests/Responses Client Proxy Server Supporting ESI Origin Server returing ESI Document Origin Server for ESI Include
  • 49. Future – Manipulating Requests/Responses Client Proxy Server Supporting ESI Origin Server returing ESI Document Origin Server for ESI Include Final response header to user can be changed
  • 50. Future – Manipulating Requests/Responses Client Proxy Server Supporting ESI Origin Server returing ESI Document Origin Server for ESI Include Final response header to user can be changed Request Header, method, timeout can be changed for includes
  • 51. Future – Manipulating Requests/Responses Client Proxy Server Supporting ESI Origin Server returing ESI Document Origin Server for ESI Include Request/Response Header can be retrieved as variables Final response header to user can be changed Request Header, method, timeout can be changed for includes
  • 52. Future – Smart Assembly One request for multiple includes (e.g. one Ad call fetching multiple ad position)
  • 53. Future – More Use cases Device Detection Bucket Testing http://illusionmedia.com/wp-content/uploads/2012/03/mobileDevices1-300x200.jpg https://doazrm3qeh7n2.cloudfront.net/images/features/quick-a-vs-b-testing.jpg
  • 54. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  • 56. Reference  ESI Language Specification – http://www.w3.org/TR/esi-lang  Edge Architecture Specification - http://www.w3.org/TR/edge-arch  ATS ESI plugin - https://github.com/apache/trafficserver/blob/master/plugins/experimental/esi/README  Varnish ESI - https://www.varnish-cache.org/docs/3.0/tutorial/esi.html  Akamai ESI - http://www.akamai.com/dl/technical_publications/akamai_esi_extensions.pdf  F5 - http://support.f5.com/kb/en- us/products/wa/manuals/product/wa9_4policy/WA_Policy_9_4-19-1.html

Editor's Notes

  1. Abstract -Web sites and applications are starting to decouple and separate functionality and services from the frontend web server and more often push them to be handled by servers at the edge of the internet. This idea is commonly known as Edge Computing and it is a hot trend right now. Content caching and request routing are among some of the common tasks being pushed to the edge. As the trend continues, it is evident that we need to introduce various other processing capabilities at the edge in order to support more use cases. One of the more discussed ways of doing so is to support Edge Side Include (ESI). It is a simple markup language that provides content assembly at the edge level.In Yahoo!, we used ESI extensively in high trafficked media properties such as News, Lifestyle and Entertainments. This talk will share our experiences working with ESI. We will start with simple use case of content assembly and get the audience familiar with the embarrassingly simple and tiny templating language right away. You will get the hang of it within a minute. Then we will present a couple of our more innovative ESI use cases at large scale (e.g. Building a CSS/JS combo handler using ESI, Automatically cache static version of your page in edge cache and serving them instead of the dynamic version when your frontend server is not responding) and show the audience its great potentials. We will also share with you the current support of it among HTTP proxy software (such as Apache Traffic Server and Varnish) and vendors (e.g. Akamai). Finally we will discuss about its current limitations and shortcomings and hopefully revive people interests in this specification as well as working towards a version 2.0
  2. Need a diagram
  3. Module can be cached as well
  4. 1) Use Performance Implication