Global Internet Content Delivery Akamai Technologies and Carnegie Mellon University Bruce Maggs
Internet Content Providers End Users The Web: Simple on the Outside…
NAP UUNet Qwest AOL Network Providers Content Providers End Users Peering Points …But Problematic on the Inside
The Akamai Solution Akamai Servers at Network Edge Content Providers End Users NAP
Current Installations Network Deployment Servers Networks 65+ Countries
Content Delivery Using Akamai <html><head> Welcome to xyz.com! Welcome to xyz.com! </head><body> <img src=“ Welcome to our Web site! Welcome to our Web site! Click here to enter Click here to enter </body></html> Embedded URLs are Converted to ARLs ak
Page Served by Akamai78% Typical Page Content Total page87,550 bytes Total Akamai Served 68,756 bytes Navigation Bar 9,674 bytes Banner Ads 16,174 bytes Logos 3,395 bytes Gif links 22,395 bytes Fresh Content 17,118 bytes
End User Akamai DNS Resolution Akamai High-Level DNS Servers 10 g.akamai.net 1 Browser’s Cache OS 2 Local Name Server 3 xyz.com’s nameserver 6 ak.xyz.com 7 a212.g.akamai.net Akamai Low-Level DNS Servers 12 a212.g.akamai.net xyz.com.com.net Root (InterNIC) akamai.net8 select cluster select servers within cluster
Over 1300 Web Sites are Now Akamaized
Regions Differences for Live Streaming x X X x Satellite Downlink Entry Point Satellite Uplink Top-level reflectors Encoding
Page 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 Example Akamai Weather Forecast Similar to SSI so it’s easily understood— but also breaks performance bottlenecks when distributed across 12,000 serversSimilar to SSI so it’s easily understood— but also breaks performance bottlenecks when distributed across 12,000 servers Used as an API to third-party applications on Akamai’s networkUsed as an API to third-party applications on Akamai’s network
Connecting from the Edge to the Source Source Server End User
Connecting from the Edge to the Source Source Server End User Maintain path performance data so that the optimal path can be used to reach optimal customer location (Akarouting)Maintain path performance data so that the optimal path can be used to reach optimal customer location (Akarouting) X
Akamai Cluster Servers pool resources RAM Disk Throughput
View of Clusters hardware failure buddy suspended datacenter odd man out
Traffic Analyzer: Real-time viewing of customer trafficReal-time viewing of customer traffic Reports geographic distribution of trafficReports geographic distribution of traffic Real-Time Reporting and Analysis
Traffic Reporter: For viewing of historical logsFor viewing of historical logs Customized data-mining of customer trafficCustomized data-mining of customer traffic Historical Reporting
9/11 Summary Akamai’s network had capacity for all content providers requesting serviceAkamai’s network had capacity for all content providers requesting service Total bits served on September 11 was approximately 3.5 times normalTotal bits served on September 11 was 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 Measurements
Portal P – FreeFlow traffic
News Site A – FreeFlow Traffic
News Site A – EdgeSuite Traffic
News Site B – FreeFlow Traffic
News Site B – FreeFlow Streaming
Sports Site S – FreeFlow traffic
Steve Jobs Keynote
Network Utilization No affect on Network Egress (TX backbone example) BB1 interface to Sprint BB1 interface to Digex 09/10/01 09/11/01 09/10/01 09/11/01
The Reason Why …. Akamai Server Interfaces 1. Original request sent to website 2. Redirect to akamai server within POP 3. Minimizes egress transit and improves overall performance “AKAMAIZED” SITES C-SPANgo Network CBSChicagoSunTimes CNN InteractiveWashingtonPost CNETReuters MSNBC Yahoo NBC Internet Pleasanton Houston Dallas 09/10/01 09/11/01 09/10/01 09/11/01 09/10/01 09/11/01
Engineering 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) How do you know that new software for a distributed system of tens of thousands of servers will work when it is deployed?How do you know that new software for a distributed system of tens of thousands of servers will work when it is deployed? How do you even know if a system of tens of thousands of servers is behaving properly?How do you even know if a system of tens of thousands of servers is behaving properly? How do you know when such a system is under attack?How do you know when such a system is under attack?