20
Engineering a Content Delivery Network Bruce Maggs

Engineering a Content Delivery Network Bruce Maggs

Embed Size (px)

Citation preview

Page 1: Engineering a Content Delivery Network Bruce Maggs

Engineering a Content Delivery Network

Bruce Maggs

Page 2: Engineering a Content Delivery Network Bruce Maggs

Current Installations

Network Deployment

160000+Servers

1200+Networks

95+Countries

Page 3: Engineering a Content Delivery Network Bruce Maggs

Akamai Statistics

• Peak bit rate: 13.1 Tbps on 3/13/2013

• Peak HTTP daily requests: 2.59 trillion on 9/23/12

• 560.1M unique IPv4 addresses connected to Akamai on 3/6/2012

• 683M in Q3 2012

Page 4: Engineering a Content Delivery Network Bruce Maggs

Part I: Services

http://www.yahoo.com

http://www.amazon.com

http://windowsupdate.microsoft.com

http://www.apple.com/quicktime/whatson

http://www.fbi.gov

Page 5: Engineering a Content Delivery Network Bruce Maggs

Design Themes

• Redundancy• Self-assessment• Fail-over at multiple levels• Robust algorithms

Page 6: Engineering a Content Delivery Network Bruce Maggs

FirstPoint – DNS (e.g., Yahoo!)

• Selects from among several mirror sites operated by content provider

Page 7: Engineering a Content Delivery Network Bruce Maggs

Embedded Image Delivery (e.g., Amazon)

<html><head><title>Welcome to xyz.com!</title></head><body><img src=“<img src=“ <h1>Welcome to our Web site!</h1><a href=“page2.html”>Click here to enter</a></body></html>

http://www.xyz.com/logos/logo.gif”>http://www.xyz.com/jpgs/navbar1.jpg”>

Embedded URLs are Converted to ARLs

ak

Page 8: Engineering a Content Delivery Network Bruce Maggs

End User

Akamai DNS Resolution

Akamai High-Level DNS Servers

10g.akamai.net

1

Browser’s Cache

OS

2

Local Name Server

3

xyz.com’s nameserver

6ak.xyz.com

7a212.g.akamai.net

915.15.125.6

16

15

1120.20.123.55

Akamai Low-Level DNS Servers

12 a212.g.akamai.net

30.30.123.5 13

14

4xyz.com .com .net

Root(Verisign)

10.10.123.55

akamai.net

8

select cluster

select servers within cluster

Page 9: Engineering a Content Delivery Network Bruce Maggs

Regions

Live Streaming Architecture

1 2 3 4

1 2 3 4x

1 2 3 4

1 2 3 4X X X X

1 2 3 4x

SatelliteDownlink

Entry Point

SatelliteUplink

Top-level reflectors

Encoding

Page 10: Engineering a Content Delivery Network Bruce Maggs

SiteShield (www.fbi.gov)

Content provider’swebsite

Hacker!

Hacker!

Hacker!

AKAMAI

AKAMAI

AKAMAI

Page 11: Engineering a Content Delivery Network Bruce Maggs

Part II: Failures

1. Hardware

2. Network

3. Software

4. Configuration

5. Misperceptions

6. Attacks

Page 12: Engineering a Content Delivery Network Bruce Maggs

Hardware / Server Failures

Linux boxes with large RAM and disk capacity, Windows servers

Sample Failures:

1. Memory SIMMS jumping out of their sockets2. Network cards screwed down but not in slot3. Etc.

Page 13: Engineering a Content Delivery Network Bruce Maggs

Akamai Cluster

Servers pool resources

• RAM

• Disk

• Throughput

Page 14: Engineering a Content Delivery Network Bruce Maggs
Page 15: Engineering a Content Delivery Network Bruce Maggs

View of Clusters

hardwarefailure

buddy

suspended

suspendeddatacenter

odd manout

Page 16: Engineering a Content Delivery Network Bruce Maggs

Network Failures

E.g., congestion at public and private peering points, misconfigured routers, inaccessible networks, etc., etc., etc.

Page 17: Engineering a Content Delivery Network Bruce Maggs

Core Points

• Core point X is the first router at which all paths to nameservers 1, 2, 3, and 4 intersect.

• X can be viewed as the straddling the core and the edge of the network.

X

1 2 3 4

Page 18: Engineering a Content Delivery Network Bruce Maggs

Core Points

500,000 nameservers reduced to

90,000 core points

7,000 account for 95% end-user load

Page 19: Engineering a Content Delivery Network Bruce Maggs

Engineering Methodology

• C programming language (gcc).

• Reliance on open-source code.

• Large distributed testing systems.

• Burn-in on “invisible” system.

• Staged rollout to production.

• Backwards compatibility.

Page 20: Engineering a Content Delivery Network Bruce Maggs

Perceived Failures

Examples

1. Personal firewalls2. Reporting tools3. Customer-side problems4. Third-party measurements