AparnaESI Language 1 ESI (Edge Side Includes) Language And Systems By Aparna Yeddula.
Life on the Edge with ESI
Transcript of Life on the Edge with ESI
![Page 2: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/2.jpg)
World Cup Penalty Shootout
![Page 3: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/3.jpg)
Royal Wedding
![Page 4: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/4.jpg)
Cybergeddon
![Page 5: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/5.jpg)
Life on the Edge
Source: http://img.shockblast.net/2012/01/ShockBlast-4-803109.jpg
![Page 6: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/6.jpg)
Agenda Introduction Use Cases Performance Characteristics Future Q&A
![Page 7: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/7.jpg)
Agenda Introduction Use Cases Performance Characteristics Future Q&A
![Page 8: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/8.jpg)
Edge Computing/CDN Source: http://www.excitingip.com/wp-content/uploads/2011/01/contentdeliverynetworkblockdiagram.jpeg
![Page 9: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/9.jpg)
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! EdgeCalifornia, USA 0.2s 0.02sSingapore 2s 0.02sKorea 1.3s 0.02sIreland 1.2s 0.2sSwitzerland 1.0s 0.2s
![Page 10: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/10.jpg)
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! EdgeCalifornia, USA 0.2s 0.02sSingapore 2s 0.02sKorea 1.3s 0.02sIreland 1.2s 0.2sSwitzerland 1.0s 0.2s
![Page 11: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/11.jpg)
ESI can help!
![Page 12: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/12.jpg)
ESI Support in Proxy Server – Proven & Popular
![Page 13: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/13.jpg)
ESI Support in Proxy Software – New or Unproven
![Page 14: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/14.jpg)
ESI Support in CDN Vendor
![Page 15: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/15.jpg)
Agenda Introduction Use Cases Performance Characteristics Future Q&A
![Page 16: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/16.jpg)
Use Case 1 - Content AssemblyMarkup in Response<esi:include src=http://xyz.com/content.html/>
![Page 17: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/17.jpg)
Content Assembly – Error HandlingCan 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>
![Page 18: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/18.jpg)
Content Assembly
![Page 19: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/19.jpg)
Content Assembly
![Page 20: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/20.jpg)
Content Assembly
![Page 21: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/21.jpg)
Content Assembly
![Page 22: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/22.jpg)
Why? Performance!No server cache + No ESI
Server cache + No ESI
YTS Cache + ESI modules
ScenarioOrigin 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
![Page 23: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/23.jpg)
Why? AvailabilityWhy it goes down?- Releases- Outage
How ESI Help?- Template cached- Fallback for each ESI module
![Page 24: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/24.jpg)
Why? Legacy Module Support
![Page 25: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/25.jpg)
Use Case 2 - Automatic Fallback“Always On” - 100% availability for “existing” pagesServe static pages when origin servers are down or too slow
No change needed on origin servers
![Page 26: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/26.jpg)
Automatic Fallback
26
![Page 27: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/27.jpg)
Automatic Fallback
![Page 28: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/28.jpg)
Automatic Fallback
![Page 29: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/29.jpg)
Automatic Fallback
![Page 30: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/30.jpg)
Automatic Fallback – Subsequent Request
![Page 31: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/31.jpg)
Automatic Fallback – Subsequent Request
![Page 32: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/32.jpg)
Automatic Fallback – Subsequent Request
![Page 33: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/33.jpg)
Use Case 3 - Timely Launch
![Page 34: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/34.jpg)
Before Launch
![Page 35: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/35.jpg)
After Launch
![Page 36: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/36.jpg)
Timely Launch – Before Launch
36Confidential
![Page 37: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/37.jpg)
Timely Launch – Before Launch
![Page 38: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/38.jpg)
Timely Launch – After Launch
![Page 39: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/39.jpg)
Timely Launch – After Launch
![Page 40: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/40.jpg)
Conclusion - Usage Pattern
ClientProxy
Server/CDN
ESI Service
Origin Server for ESI Include
![Page 41: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/41.jpg)
Agenda Introduction Use Cases Performance Characteristics Future Q&A
![Page 42: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/42.jpg)
Concurrent Requests
![Page 43: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/43.jpg)
First Byte Flush
![Page 44: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/44.jpg)
ESI Support in VarnishNo concurrent requests for includesFirst Byte Flush Support
![Page 45: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/45.jpg)
ESI Support in Apache Traffic ServerConcurrent requests for includesNo First Byte Flush Support (Coming soon)
![Page 46: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/46.jpg)
Agenda Introduction Use Cases Performance Characteristics Future Q&A
![Page 47: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/47.jpg)
FutureThe spec (ESI 1.0) is published over 10 years ago.- W3C spec- Editor - Mark Nottingham from Akamai
Mark Nottinghamhttp://www.mnot.net/
![Page 48: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/48.jpg)
Future – Manipulating Requests/Responses
ClientProxy Server Supporting
ESI
Origin Server returing ESI Document
Origin Server for ESI Include
![Page 49: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/49.jpg)
Future – Manipulating Requests/Responses
ClientProxy Server Supporting
ESI
Origin Server returing ESI Document
Origin Server for ESI Include
Final response header to user can be changed
![Page 50: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/50.jpg)
Future – Manipulating Requests/Responses
ClientProxy 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
![Page 51: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/51.jpg)
Future – Manipulating Requests/Responses
ClientProxy 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
![Page 52: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/52.jpg)
Future – Smart Assembly
One request for multiple includes (e.g. one Ad call fetching multiple ad position)
![Page 53: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/53.jpg)
Future – More Use casesDevice DetectionBucket Testing
http://illusionmedia.com/wp-content/uploads/2012/03/mobileDevices1-300x200.jpg
https://doazrm3qeh7n2.cloudfront.net/images/features/quick-a-vs-b-testing.jpg
![Page 54: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/54.jpg)
Agenda Introduction Use Cases Performance Characteristics Future Q&A
![Page 56: Life on the Edge with ESI](https://reader036.fdocuments.us/reader036/viewer/2022070510/58acffe11a28abca0c8b67ad/html5/thumbnails/56.jpg)
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