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! User Location Latency - 100K file in US Through Y! Edge California, USA 0.2s                  0.0...
Edge Computing in Yahoo! User Location Latency - 100K file in US Through Y! Edge California, USA 0.2s                  0.0...
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://xy...
Content Assembly
Content Assembly
Content Assembly
Content Assembly
Why? Performance!                    No server cache +     Server cache + No    YTS Cache + ESI                    No ESI ...
More on Availability Why it goes down?  - Releases  - Outage How ESI Help?  - Template cached  - Fallback for each ESI m...
Why? Legacy Module Support
Use Case 2 - Automatic Fallback  Always On - 100% availability for existing pages Serve static pages when 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                                Confidential	   36
Timely Launch – Before Launch
Timely Launch – After Launch
Timely Launch – After Launch
Conclusion - Usage Pattern                                    ESI Service                   Proxy Server/      Client     ...
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            ...
Future – Manipulating Requests/Responses                                           Origin Server                          ...
Future – Manipulating Requests/Responses                                           Origin Server                          ...
Future – Manipulating Requests/Responses  Request Header,  method, timeout can                        Origin Server  be ch...
Future – Manipulating Requests/Responses  Request Header,  method, timeout can                                   Origin Se...
Future – Smart Assembly                          One request for multiple                          includes (e.g. one Ad c...
Future – More Use cases Device Detection Bucket Testing https://doazrm3qeh7n2.cloudfront.net/images/features/quick-a-vs-...
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.o...
Upcoming SlideShare
Loading in...5
×

Velocity china2012kit life on edge —— 如何使用 esi 完成任务

772

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
772
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Velocity china2012kit life on edge —— 如何使用 esi 完成任务

  1. 1. Life on the Edge with ESI Kit Chan (kichan@yahoo-inc.com) Custom Branded Experiences Yahoo!
  2. 2. World Cup Penalty Shootout
  3. 3. Royal Wedding
  4. 4. Cybergeddon
  5. 5. Life on the Edge Source: http://img.shockblast.net/2012/01/ShockBlast-4-803109.jpg
  6. 6. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  7. 7. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  8. 8. Edge Computing/CDN Source: http://www.excitingip.com/wp-content/uploads/2011/01/contentdeliverynetworkblockdiagram.jpeg
  9. 9. Edge Computing in Yahoo! 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 - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s, 95% cache ratio
  10. 10. Edge Computing in Yahoo! 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 - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s, 95% cache ratio
  11. 11. ESI can help!
  12. 12. ESI Support in Proxy Server – Proven & Popular
  13. 13. ESI Support in Proxy Software – New or Unproven
  14. 14. ESI Support in CDN Vendor
  15. 15. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  16. 16. Use Case 1 - Content Assembly Markup in Response<esi:include src=http://xyz.com/content.html/>
  17. 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>
  18. 18. Content Assembly
  19. 19. Content Assembly
  20. 20. Content Assembly
  21. 21. Content Assembly
  22. 22. Why? Performance! No server cache + Server cache + No YTS Cache + ESI No ESI ESI modules Origin Server Origin Server Origin Server onlyScenario Handling Full Page handling full page serving requests for requests each time requests, only non cacheable and executing every executing non modules module every time. cacheable modulesFE throughput per 45 queries per 140 queries per 190 queries perbox second second secondServer latency 900 ms per request 80 ms per page 55 ms per page
  23. 23. More on Availability Why it goes down? - Releases - Outage How ESI Help? - Template cached - Fallback for each ESI module
  24. 24. Why? Legacy Module Support
  25. 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
  26. 26. Automatic Fallback 26
  27. 27. Automatic Fallback
  28. 28. Automatic Fallback
  29. 29. Automatic Fallback
  30. 30. Automatic Fallback – Subsequent Request
  31. 31. Automatic Fallback – Subsequent Request
  32. 32. Automatic Fallback – Subsequent Request
  33. 33. Use Case 3 - Timely Launch
  34. 34. Before Launch
  35. 35. After Launch
  36. 36. Timely Launch – Before Launch Confidential 36
  37. 37. Timely Launch – Before Launch
  38. 38. Timely Launch – After Launch
  39. 39. Timely Launch – After Launch
  40. 40. Conclusion - Usage Pattern ESI Service Proxy Server/ Client CDN Origin Server for ESI Include
  41. 41. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  42. 42. Concurrent Requests
  43. 43. First Byte Flush
  44. 44. ESI Support in Varnish No concurrent requests for includes First Byte Flush Support
  45. 45. ESI Support in Apache Traffic Server Concurrent requests for includes No First Byte Flush Support (Coming soon)
  46. 46. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  47. 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. 48. Future – Manipulating Requests/Responses Origin Server returing ESI Document Proxy Server Client Supporting ESI Origin Server for ESI Include
  49. 49. Future – Manipulating Requests/Responses Origin Server returing ESI Document Proxy Server Client Supporting ESI Origin Server for ESI Include Final response header to user can be changed
  50. 50. Future – Manipulating Requests/Responses Request Header, method, timeout can Origin Server be changed for returing ESI includes Document Proxy Server Client Supporting ESI Origin Server for ESI Include Final response header to user can be changed
  51. 51. Future – Manipulating Requests/Responses Request Header, method, timeout can Origin Server be changed for returing ESI includes Document Proxy Server Client Supporting ESI Origin Server for ESI Include Final response header to user can Request/Response be changed Header can be retrieved as variables
  52. 52. Future – Smart Assembly One request for multiple includes (e.g. one Ad call fetching multiple ad position)
  53. 53. Future – More Use cases Device Detection Bucket Testing https://doazrm3qeh7n2.cloudfront.net/images/features/quick-a-vs-b-testing.jpg http://illusionmedia.com/wp-content/uploads/2012/03/mobileDevices1-300x200.jpg
  54. 54. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  55. 55. Q&A 谢谢 kichan@yahoo-inc.com
  56. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×