710 likes | 934 Views
OARtech. Patrick W. Gilmore pgilmore@akamai.com , patrick@ianai.net April 11, 2001. Agenda. Who is Akamai? Akamai’s Origins & Backgrounds Content Distribution Network Edge Caches Akamai Accelerated Network Program Regions Buddy System. Agenda. Content Delivery Object Delivery
E N D
OARtech Patrick W. Gilmore pgilmore@akamai.com, patrick@ianai.net April 11, 2001
Agenda Who is Akamai? • Akamai’s Origins & Backgrounds • Content Distribution Network Edge Caches • Akamai Accelerated Network Program • Regions • Buddy System
Agenda Content Delivery • Object Delivery • Site Delivery • Video Streaming Mapping • DNS ä'•kuh•my
Akamai’s Origins and Background IPO on 10/29 raised $250M 4th best in 1999 • Based in Cambridge, MA • Founded by MIT research team • F. Thomson Leighton, Chief Scientist • Danny Lewin, CTO • Seeded in 1995 as an MIT research effort to improve Internet’s content distribution problem • Team of 1,300 world class professionals • Investors: Apple ($12M), Microsoft ($15M) and Cisco ($49M)
What is a Content Distribution Network? Akamai is a Content Distribution Network (CDN) That’s nice, but what is a CDN? • Three main components: • Edge caches • Content delivery • Mapping
What is a CDN? Edge Caches • Working with ISPs and networks all over the world to install edge caches • More is better Content Delivery • Getting content to the edge • Includes object, videos, and whole web sites
What is a CDN? Mapping • Akamai’s Secret Sauce • Finding the closest edge server for each user • Network proximity, not necessarily the same as geographical proximity
How does Akamai’s CDN work? How does a Akamai’s CDN work? • All content must be hosted on an “origin server” accessible to all edge caches • Working on Hierarchy, some customers using now • End users only speak to edge caches, not origin server, to get distributed content • Edge caches pull content once from origin server, then deliver content to many end users
How does Akamai’s CDN work? Why is this good? • Allows nearly infinite scalability (if deployed properly) • Good economies at large scales • Avoids congestion and long latency • Speed of light issues, undersea fiber, etc. • Extremely reliable • Mitigates some DoS attacks • Massive redundancy
Akamai Accelerated Network Program (AANP) What is the Akamai Accelerated Network Program? • Gives free edge caches to qualified networks • Internet Service Providers • Educational Institutions (usually Universities and K-12) • Government networks • Anyone else with “eyeballs”
AANP Benefits Performance • Content served locally, increasing performance Bandwidth Savings • Saves money on upstream, reduces congestion Reliability • A cache on a local LAN is more reliable than a web server on the Internet Interoperability • No routing or DNS changes, already using it today
AANP Benefits No Cost – FREE!! • Akamai pays for all equipment, shipping, etc. Easy to implement • Each Cache is just another another host on the LAN Akamai Support • 24 x 7 NOC Co-Marketing • Logo use, press releases, trade shows, etc.
“Region” – set of edge caches All Regions • Intel based rack-mount PCs HTTP Regions • Linux based server • Proprietary HTTP server / cache Streaming Regions • Shrink wrapped software installed on our servers • Linux used for QT & Real • Win2K used for WMT
Regions Server Configuration • Dual Pentium III processors • Gigabyte of RAM • Two or four SCSI hard drives • Two 100BaseT network cards Additional Hardware • Ethernet switch(es) • 100BaseT or Gigabit ethernet uplinks • Patch Cables
Buddy System Each server has two public IP addresses • “Service” address • This is the address given to end users who want to retrieve content • “Physical” address • This is the address used to manage and test the server • If the physical address is not responding, the box is considered to be down
Buddy System Server Failure • Servers do fail occasionally • Each server has a “buddy” which is constantly trading hellos with the physical address • When a server stops responding to hellos, its buddy will respond to requests directed at the failed server’s service address • Users in the middle of a download may have to hit “reload” • No one else will notice any interruption
Possible bottlenecks on the Internet Last MileProblem First Mile Problem End User Host Server Internet BackboneProblem PeeringProblem
Process Flow XYZ 1 1. User wants to download distributed web content
Process Flow XYZ 2 1 2. User is directed through Akamai’s dynamic mapping to the “closest” edge cache
Process Flow XYZ 2 3 1 3. Edge cache searches local hard drive for content
Process Flow XYZ 3a 2 3 1 3a 3b. If requested object is not on local hard drive, edge cache checks other edge caches in same region for object
Process Flow XYZ 3b 3a 2 3 1 3a 3b. If requested object is not cached or not fresh, edge cache sends an HTTP GET the origin server
Process Flow XYZ 3b 3a 2 3c 3 1 3a 3c. Origin server delivers object to edge cache over optimized connection
Process Flow XYZ 3b 3a 2 3c 3 1 3a 4 4. Edge server delivers content to end user
Case Study on Reliability and Scalability: The 2000 Election 22 Crash ZoneWithout Akamai this site could not have served customers abovetheir crash zone 20 17 15 Customer Visits (Millions) 12 10 7 5 2 0 Time
How a Non-AkamaizedWebsite Works Customer Web Server End User 1 2 3 4 User enters standard URL Customer’s Web Server returns HTML with embedded URLs User’s browser requests embedded objects from customer Web server Objects served with round trips across the Internet www.customer.com <img src=/images/logo.gif>
FreeFlow – Akamai’s Object Delivery Service HTTP request user enters standard URL Client’s Servers HTML code contains Akamai URLs (ARL) HTTP requestfor embedded content Content Served Locally Akamai Server Example ARL: img src= a1000.g.akamai.net/…/www.customer.com/images/logo.gif
EdgeSuite – Akamai’s Site Delivery Service Customer CNAME’s (aliases) www.customer.com • Anyone looking up www.customer.com will be redirected to an Akamai hostname - “customer.d4p.net” • No, I do not know why we use “d4p.net”. • customer.d4p.net is CNAME’d to aXXX.g.akamai.net • Standard Akamai mapping magic sends returns the closest edge server for aXXX.g.akamai.net
EdgeSuite – Akamai’s Site Delivery Service End user never communicates with origin server • Akamai retrieves content from private hostname • Something like “origin.customer.com” • High reliability • Thousands of servers backing each other up • If one geographic area is disabled, no other area will be affected • Mitigates some DoS attacks
EdgeSuite – Akamai’s Site Delivery Service Uncacheable content is tunneled back to origin • Can reduce need for tunneling with server-side scripts running on edge caches Persistent TCP connections increase performance • Helps with downloading of objects to end caches • Helps with tunneling to origin • (More on this later)
Video on Demand Akamai uses HTTP to transit content to edge caches • Allows lossless transport of content to edge • Origin server does not need streaming software, licenses, etc. • HTTP 1.1 byte-range request used to pull only required data User connects to edge cache with streaming protocol • Content is streamed in native format from cache to user • User experience is enhanced through “origin” file available on a “close” server
Live Akamai uses UDP to transit content to edge caches • Proprietary reflector network of servers • Akamai translates all streaming formats into UDP • Propagates live stream through reflector network Akamai Streaming Accomplishments: • First 1 Mbps stream live stream fed over public Internet • Single largest streaming event in Internet history • Broke own record 3 times
Live “SteadyStream” User connects to edge cache with streaming protocol • Edge cache “subscribes” to reflector network to receive live streaming content • Three streams are delivered to each edge cache • Packet loss is eliminated through redundancy • Content is streamed from edge cache to user
X X X X Entry Point Encoding Top-level refelectors 4 4 4 3 Dropped packets don’t degrade stream to regions X Lost connections don’t degrade stream to regions 3 3 2 2 2 X 1 1 1 Regions 4 Akamai SteadyStreamSM technology can deliver streams reliably to the edge with effectively 0% packet loss. 3 2 1 J J J
Live Pros: • Allows global distribution of real-time video • Users can connect anywhere and get good video quality over public Internet Cons: • Each region must have 3 users for effective bandwidth use • If streaming rate is > 1/3 access bandwidth to edge cache, congestion will occur • Reflector network uses bandwidth even if no users connect
QuickTime Streaming via HTTP Akamai can deliver Apple’s QuickTime files via HTTP • Delivered over HTTP caching network • HTTP network is more widely deployed than streaming networks • Packet loss is eliminated • Only good for VoD • More overhead than streaming protocols (uses TCP)
Live Streaming Over Satellite Network Satellite Uplink Facility Uplink platform Satellite Akamai Servers ISP/Network Datacenter Internet Satellite DVB Receiver Akamai Switch Akamai Streaming Servers IP Encoded Stream x To ISP Subscribers
Core Hierarchy Regions XYZ • User requests content and is mapped to optimal edge Akamai server
Core Hierarchy Regions XYZ 2. If content is not present in the region, it is requested from most optimal core region
Core Hierarchy Regions XYZ 3. Core region makes one request back to origin server
Core Hierarchy Regions XYZ 4. Core region can serve many edge regions with one request to origin server
Core Hierarch Features Reduces traffic back to origin server • Reduces infrastructure needs of customer • Provides best protection against flash crowds • Especially important for large files (e.g. Operating System updates or video files) Improved end-user response time • Core regions are well connected • Optimized connection speeds object delivery