32
Global Internet Global Internet Content Delivery Content Delivery Akamai Technologies Akamai Technologies and and Carnegie Mellon University Carnegie Mellon University Bruce Maggs

Global Internet Content Delivery Akamai Technologies and Carnegie Mellon University Bruce Maggs

Embed Size (px)

Citation preview

Global Internet Content Global Internet Content DeliveryDelivery

Akamai TechnologiesAkamai Technologies

and and

Carnegie Mellon UniversityCarnegie Mellon University

Bruce Maggs

Internet

ContentProviders

EndUsers

The Web:The Web:Simple on the Outside…Simple on the Outside…

NAP

NAP

UUNetUUNet

QwestQwest

AOLAOL

Network Providers

ContentProviders

EndUsers

PeeringPoints

……But Problematic on the InsideBut Problematic on the Inside

The Akamai SolutionThe Akamai SolutionAkamai Serversat Network Edge

ContentProviders

EndUsers

NAP

NAP

Current Installations

Network Deployment Network Deployment

13000+Servers

1000+Networks

65+Countries

Content Delivery Using AkamaiContent Delivery Using Akamai

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

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

Embedded URLs are Converted to ARLsEmbedded URLs are Converted to ARLs

akak

Page Served by Akamai78%78%

Typical Page ContentTypical Page Content

Total pageTotal page 87,550 bytes87,550 bytesTotal Akamai ServedTotal Akamai Served 68,756 bytes 68,756 bytes

Navigation BarNavigation Bar9,674 bytes9,674 bytes

Banner Ads Banner Ads 16,174 bytes 16,174 bytesLogosLogos

3,395 bytes3,395 bytes

Gif linksGif links 22,395 bytes 22,395 bytes

Fresh ContentFresh Content17,118 bytes17,118 bytes

End User

Akamai DNS ResolutionAkamai DNS Resolution

Akamai High-Level DNS Servers

10g.akamai.net

1

Browser’s Cache

OS

2

Local Name Server

3

xyz.com’s nameserver

66ak.xyz.comak.xyz.com

77a212.g.akamai.net

9915.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

4 xyz.comxyz.com .com .net Root

(InterNIC)10.10.123.555

akamai.net

88

select cluster

select servers within cluster

Over 1300 Web Over 1300 Web Sites are Now AkamaizedSites are Now Akamaized

Regions

Differences for Live StreamingDifferences for Live Streaming

1 2 3 41 2 3 4

11 22 3 3 44x

1 2 1 2 33 4 4

1 2 3 41 2 3 4X X X X

11 22 3 4 3 4x

SatelliteDownlink

Entry Point

SatelliteUplink

Top-level reflectors

Encoding

Page AssemblyPage Assembly

Site owners create container pages that can be populated with varying content

Container Page [TTL=5d]

[XYZ news, content, promotions, etc.

TTL=5d]

[Breaking headlines TTL=2h]

[TTL=15m]

[TTL=8h]

Syntax ExampleSyntax Example

<html>

<asi version = “1.0”>

<head><title>Akamai Weather Forecast

</title></head>

<asi if= ”$geo == dc” include=”dcwthr.htm”/>

<asi else-if= ”$geo == boston” include=”bostonwthr.htm”/>

<asi else if = ”$geo == nyc “ include= “nycwthr.htm”/>

<asi else == “ “ include= “uswthr.htm”/>

</asi>

</html>

• Similar to SSI so Similar to SSI so it’s easily it’s easily understood— but understood— but also breaks also breaks performance performance bottlenecks when bottlenecks when distributed across distributed across 12,000 servers12,000 servers

• Used as an API to Used as an API to third-party third-party applications on applications on Akamai’s networkAkamai’s network

Connecting from the Edge Connecting from the Edge to the Sourceto the Source

Source Server

End User

Connecting from the Edge Connecting from the Edge to the Sourceto the Source

Source Server

End User

• Maintain path performance data so that the Maintain path performance data so that the optimal path can be used to reach optimal optimal path can be used to reach optimal customer location (Akarouting)customer location (Akarouting)

X

Akamai ClusterAkamai Cluster

Servers pool resources

•RAM

•Disk

•Throughput

View of ClustersView of Clusters

hardwarefailure

buddy

suspended

suspendeddatacenter

odd manout

Traffic Analyzer:Traffic Analyzer:

• Real-time viewing Real-time viewing of customer trafficof customer traffic

• Reports geographic Reports geographic distribution of trafficdistribution of traffic

Real-Time Reporting and AnalysisReal-Time Reporting and Analysis

Traffic Reporter:Traffic Reporter:

• For viewing of For viewing of historical logshistorical logs

• Customized Customized data-mining of data-mining of customer trafficcustomer traffic

Historical ReportingHistorical Reporting

9/11 Summary9/11 Summary

• Akamai’s network had capacity for all Akamai’s network had capacity for all content providers requesting servicecontent providers requesting service

• Total bits served on September 11 Total bits served on September 11 was approximately 3.5 times normalwas approximately 3.5 times normal

• Traffic was higher on September 12Traffic was higher on September 12

• (But not as high as January 7, 2002)(But not as high as January 7, 2002)

Agent Performance MeasurementsAgent Performance Measurements

Portal P – FreeFlow trafficPortal P – FreeFlow traffic

News Site A – FreeFlow TrafficNews Site A – FreeFlow Traffic

News Site A – EdgeSuite TrafficNews Site A – EdgeSuite Traffic

News Site B – FreeFlow TrafficNews Site B – FreeFlow Traffic

News Site B – FreeFlow StreamingNews Site B – FreeFlow Streaming

Sports Site S – FreeFlow trafficSports Site S – FreeFlow traffic

Steve Jobs KeynoteSteve Jobs Keynote

Network UtilizationNetwork Utilization

No affect on Network Egress (TX backbone example)

BB

1 i

nte

rfa

ce

to

Sp

rin

tB

B1

in

terf

ac

e t

o D

ige

x

09/10/01 09/11/01

09/10/01 09/11/01

The Reason Why ….The Reason Why ….

Akamai Server Interfaces

1. Original request sent to website2. Redirect to akamai server within POP3. Minimizes egress transit and improves overall performance

“AKAMAIZED” SITESC-SPAN go NetworkCBS ChicagoSunTimesCNN Interactive WashingtonPostCNET ReutersMSNBC YahooNBC Internet

Plea

sant

onH

oust

onD

alla

s

09/10/01 09/11/01

09/10/01 09/11/01

09/10/01 09/11/01

Engineering MethodologyEngineering Methodology

•C programming language (gcc).

•Reliance on open-source code.

•Automated unit and system builds and tests.

•Staged rollout to production.

•Independent release management.

•Burn-in on “invisible” system.

Research Questions (Hard)Research Questions (Hard)

• How do you know that new How do you know that new software for a distributed system software for a distributed system of tens of thousands of servers of tens of thousands of servers will work when it is deployed?will work when it is deployed?

• How do you even know if a system How do you even know if a system of tens of thousands of servers is of tens of thousands of servers is behaving properly?behaving properly?

• How do you know when such a How do you know when such a system is under attack?system is under attack?