Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge...

56
Life on the Edge with ESI Kit Chan ([email protected] ) Custom Branded Experiences Yahoo!

Transcript of Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge...

Page 1: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Life on the Edge with ESI Kit Chan ([email protected])

Custom Branded Experiences Yahoo!

Page 2: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

World Cup Penalty Shootout

Page 3: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Royal Wedding

Page 4: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Cybergeddon

Page 5: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Life on the Edge

Source: http://img.shockblast.net/2012/01/ShockBlast-4-803109.jpg

Page 6: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Agenda

  Introduction  Use Cases   Performance Characteristics   Future  Q&A

Page 7: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Agenda

  Introduction  Use Cases   Performance Characteristics   Future  Q&A

Page 8: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Edge Computing/CDN Source: http://www.excitingip.com/wp-content/uploads/2011/01/contentdeliverynetworkblockdiagram.jpeg

Page 9: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

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

Page 10: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

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

Page 11: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

ESI can help!

Page 12: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

ESI Support in Proxy Server – Proven & Popular

Page 13: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

ESI Support in Proxy Software – New or Unproven

Page 14: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

ESI Support in CDN Vendor

Page 15: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Agenda

  Introduction  Use Cases   Performance Characteristics   Future  Q&A

Page 16: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Use Case 1 - Content Assembly

 Markup in Response <esi:include src=http://xyz.com/content.html/>

Page 17: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

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>

Page 18: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Content Assembly

Page 19: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Content Assembly

Page 20: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Content Assembly

Page 21: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Content Assembly

Page 22: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

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

Page 23: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

More on Availability

 Why it goes down? - Releases - Outage  How ESI Help? - Template cached - Fallback for each ESI module

Page 24: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Why? Legacy Module Support

Page 25: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

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

Page 26: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Automatic Fallback

26

Page 27: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Automatic Fallback

Page 28: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Automatic Fallback

Page 29: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Automatic Fallback

Page 30: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Automatic Fallback – Subsequent Request

Page 31: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Automatic Fallback – Subsequent Request

Page 32: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Automatic Fallback – Subsequent Request

Page 33: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Use Case 3 - Timely Launch

Page 34: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Before Launch

Page 35: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

After Launch

Page 36: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Timely Launch – Before Launch

36 Confidential

Page 37: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Timely Launch – Before Launch

Page 38: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Timely Launch – After Launch

Page 39: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Timely Launch – After Launch

Page 40: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Conclusion - Usage Pattern

Client Proxy Server/

CDN

ESI Service

Origin Server for ESI Include

Page 41: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Agenda

  Introduction  Use Cases   Performance Characteristics   Future  Q&A

Page 42: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Concurrent Requests

Page 43: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

First Byte Flush

Page 44: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

ESI Support in Varnish

 No concurrent requests for includes  First Byte Flush Support

Page 45: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

ESI Support in Apache Traffic Server

 Concurrent requests for includes  No First Byte Flush Support (Coming soon)

Page 46: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Agenda

  Introduction  Use Cases   Performance Characteristics   Future  Q&A

Page 47: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

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/

Page 48: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Future – Manipulating Requests/Responses

Client Proxy Server Supporting

ESI

Origin Server returing ESI Document

Origin Server for ESI Include

Page 49: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

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

Page 50: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

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

Page 51: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

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

Page 52: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

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 - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

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

Page 54: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Agenda

  Introduction  Use Cases   Performance Characteristics   Future  Q&A

Page 55: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

Q & A

谢谢 [email protected]

Page 56: Life on the Edge with ESI - O'Reillyvelocity.oreilly.com.cn/2012/ppts/VelocityChina2012Kit.pdfEdge Computing in Yahoo! - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s,

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