OARtech Patrick W Gilmore pgilmoreakamai com patrickianai net

  • Slides: 71
Download presentation
OARtech Patrick W. Gilmore pgilmore@akamai. com, patrick@ianai. net April 11, 2001

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

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 –

Agenda Content Delivery – Object Delivery – Site Delivery – Video Streaming Mapping – DNS ä' • kuh • my

Who Is Akamai?

Who Is Akamai?

Akamai’s Origins and Background • • IPO on 10/29 raised Based in Cambridge, MA

Akamai’s Origins and Background • • IPO on 10/29 raised Based in Cambridge, MA $250 M Founded by MIT research team 4 th best in 1999 – 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 ($12 M), Microsoft ($15 M) and Cisco ($49 M)

Current Akamai Customers

Current Akamai Customers

What is a Content Distribution Network? Akamai is a Content Distribution Network (CDN) That’s

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

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

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

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

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 Do. S attacks • Massive redundancy

Edge Caches

Edge Caches

Akamai Accelerated Network Program (AANP) What is the Akamai Accelerated Network Program? – Gives

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

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

AANP Benefits No Cost – FREE!! – Akamai pays for all equipment, shipping, etc.

AANP Benefits No Cost – FREE!! – Akamai pays for all equipment, shipping, etc. Easy to implement – Each Cache is just 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

“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 – Win 2 K used for WMT

Regions Server Configuration – Dual Pentium III processors – Gigabyte of RAM – Two

Regions Server Configuration – Dual Pentium III processors – Gigabyte of RAM – Two or four SCSI hard drives – Two 100 Base. T network cards Additional Hardware – Ethernet switch(es) • 100 Base. T or Gigabit ethernet uplinks – Patch Cables

Buddy System Each server has two public IP addresses – “Service” address • This

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

Content Delivery

Content Delivery

Possible bottlenecks on the Internet Last Mile Problem First Mile Problem End User Host

Possible bottlenecks on the Internet Last Mile Problem First Mile Problem End User Host Server Internet Peering Problem Backbone Problem

Process Flow XYZ 1 1. User wants to download distributed web content

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

Process Flow XYZ 2 1 2. User is directed through Akamai’s dynamic mapping to the “closest” edge cache

Process Flow XYZ 2 1 3 3. Edge cache searches local hard drive for

Process Flow XYZ 2 1 3 3. Edge cache searches local hard drive for content

Process Flow XYZ 3 a 2 1 3 3 a 3 b. If requested

Process Flow XYZ 3 a 2 1 3 3 a 3 b. If requested object is not on local hard drive, edge cache checks other edge caches in same region for object

Process Flow 3 b XYZ 3 a 2 1 3 3 a 3 b.

Process Flow 3 b XYZ 3 a 2 1 3 3 a 3 b. If requested object is not cached or not fresh, edge cache sends an HTTP GET the origin server

Process Flow XYZ 3 b 3 a 2 1 3 c 3 3 a

Process Flow XYZ 3 b 3 a 2 1 3 c 3 3 a 3 c. Origin server delivers object to edge cache over optimized connection

Process Flow XYZ 3 b 3 a 2 3 c 3 1 4 3

Process Flow XYZ 3 b 3 a 2 3 c 3 1 4 3 a 4. Edge server delivers content to end user

The Old Internet

The Old Internet

The New Internet with Akamai

The New Internet with Akamai

Case Study on Reliability and Scalability: The 2000 Election Customer Visits (Millions) 22 20

Case Study on Reliability and Scalability: The 2000 Election Customer Visits (Millions) 22 20 17 15 12 10 Crash Zone Without Akamai this site could not have served customers above their crash zone 7 5 2 0 Time

How a Non-Akamaized Website Works Customer Web Server End User enters Customer’s 1 User

How a Non-Akamaized Website Works Customer Web Server End User enters Customer’s 1 User 2 standard URL Web Server www. customer. com <img browser Objects served 3 User’s 4 requests embedded with round returns objects from customertrips across the HTML with Web server Internet embedded src=/images/logo. gif> URLs

Free. Flow – Akamai’s Object Delivery Service HTTP request user enters standard URL HTTP

Free. Flow – Akamai’s Object Delivery Service HTTP request user enters standard URL HTTP request for embedded content Akamai Server Client’s Servers HTML code contains Akamai URLs (ARL) Content Served Locally Example ARL: img src= a 1000. g. akamai. net/…/www. customer. com/images/logo. gif

Edge. Suite – Akamai’s Site Delivery Service Customer CNAME’s (aliases) www. customer. com –

Edge. Suite – 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. d 4 p. net” • No, I do not know why we use “d 4 p. net”. – customer. d 4 p. net is CNAME’d to a. XXX. g. akamai. net – Standard Akamai mapping magic sends

Edge. Suite – Akamai’s Site Delivery Service End user never communicates with origin server

Edge. Suite – 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

Edge. Suite – Akamai’s Site Delivery Service Uncacheable content is tunneled back to origin

Edge. Suite – Akamai’s Site Delivery Service Uncacheable content is tunneled back to origin – Can reduce need for tunneling with serverside 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

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”

Live Akamai uses UDP to transit content to edge caches – Proprietary reflector network

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

Live “Steady. Stream” User connects to edge cache with streaming protocol – Edge cache

Live “Steady. Stream” 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

Entry Point Encoding Top-level refelectors Dropped packets don’t degrade stream to regions 4 X

Entry Point Encoding Top-level refelectors Dropped packets don’t degrade stream to regions 4 X 4 3 3 3 X X 2 2 2 1 X X 1 4 Lost connections don’t degrade stream to regions Regions 4 3 2 1 JJJ Akamai Steady. Stream. SM technology can deliver streams reliably to the edge with effectively 0%

Live Pros: – Allows global distribution of real-time video – Users can connect anywhere

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

Quick. Time Streaming via HTTP Akamai can deliver Apple’s Quick. Time files via HTTP

Quick. Time Streaming via HTTP Akamai can deliver Apple’s Quick. Time files via HTTP – Delivered over HTTP caching network – HTTP network is more widely deployed than streaming networks – Packet loss is eliminated – Only good for Vo. D – More overhead than streaming protocols (uses TCP)

Live Streaming Over Satellite Network Satellite Uplink Facility Uplink platform Satellite Akamai Servers ISP/Network

Live Streaming Over Satellite Network Satellite Uplink Facility Uplink platform Satellite Akamai Servers ISP/Network Datacenter Satellite DVB Receiver Internet Akamai Switch Akamai Streaming Servers IP Encoded Stream To ISP Subscribers x

Core Hierarchy Regions XYZ 1. User requests content and is mapped to optimal edge

Core Hierarchy Regions XYZ 1. 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

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 3. Core region makes one request back to origin server

Core Hierarchy Regions XYZ 4. Core region can serve many edge regions with one

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

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

Persistent TCP connections Avoids TCP slow-start and connection set up – Each TCP connection

Persistent TCP connections Avoids TCP slow-start and connection set up – Each TCP connection has to be set up with three packets – Once set up, a TCP connection starts at a low speed, and increases speed during connection • Many web connections do not last long enough to reach top speed

Persistent TCP connections Reduces load on origin server – Maintain connections to a small

Persistent TCP connections Reduces load on origin server – Maintain connections to a small set of Akamai servers instead of millions of end users – No new connections to be negotiated • Setting up a new connection is significantly more CPU intensive than maintaining an existing connection

Mapping

Mapping

Mapping algorithms – Heart of Akamai’s secret sauce – Directs end users to connect

Mapping algorithms – Heart of Akamai’s secret sauce – Directs end users to connect to nearest edge cache – Uses DNS to direct users to closest edge cache – Completely transparent to networks and end users – you are already using it today for the world’s most popular web sites

Mapping algorithms – Three main components to finding “closest” edge cache to end user

Mapping algorithms – Three main components to finding “closest” edge cache to end user from a Network point of view: • Packet Loss • Throughput • Latency – Listed in order of importance (roughly)

Mapping algorithms – Mapping also takes into account edge cache performance • Does a

Mapping algorithms – Mapping also takes into account edge cache performance • Does a server have an object on its hard drive? – Uses consistent hashing algorithm (patent pending) • Does the edge cache have CPU, RAM, bandwidth, etc. available to serve enduser?

Mapping Which is the best Akamai server to serve this end user?

Mapping Which is the best Akamai server to serve this end user?

Mapping Name Resolution – Computer asks local name server for IP address which matches

Mapping Name Resolution – Computer asks local name server for IP address which matches hostname – Name will either be Local Name Server a. XXX. g. akamai. net or an alias of that

Mapping Global Top Level Domain Server g. TLD Servers – Local name server asks

Mapping Global Top Level Domain Server g. TLD Servers – Local name server asks the global Top Level Domain (g. TLD) servers who is authoritative for Local Name Server domain “akamai. net”

Mapping HLNS Root Name Servers 15 minutes Akamai High-Level name Servers – g. TLD

Mapping HLNS Root Name Servers 15 minutes Akamai High-Level name Servers – g. TLD servers point local name server at Akamai High-Level Local Name Server name servers (HLNS) – Local name server requests IP address of a. XXX. g. akamai. net from HLNS

Mapping HLNS Root Name Servers 15 minutes Akamai High-Level name Servers – HLNS looks

Mapping HLNS Root Name Servers 15 minutes Akamai High-Level name Servers – HLNS looks at IP address of local name server and returns a Local Name Server sub-delegation for “g. akamai. net” pointing at a close Low Level name server (LLNS)

Mapping Sub-Delegation – Standard part of Domain Name System – Tells local name server

Mapping Sub-Delegation – Standard part of Domain Name System – Tells local name server “I do not know a. XXX, but g. akamai. net is at this IP address” – Local name server automatically asks LLNS for IP address – transparent to end user

Mapping based on Local Name Server IP address – Note that the Akamai system

Mapping based on Local Name Server IP address – Note that the Akamai system has not seen the IP address of the end user – Leads to a small percentage of suboptimally mapped end users – Working on ways around this • Auto-Akamaizer • Dynamic HTML in Edge. Suite • Others

Mapping HLNS – HLNS has a “map” or matrix of IP blocks to LLNS

Mapping HLNS – HLNS has a “map” or matrix of IP blocks to LLNS • Map weighs network proximity heavily, using geography only when all else is equal – HLNS “map” of network conditions is refreshed every 15 -20 minutes – Downed servers updated more frequently – approximately every minute

Mapping Time To Live – Every time an IP address is returned to a

Mapping Time To Live – Every time an IP address is returned to a name server, it is accompanied with a Time To Live (TTL) – Akamai returns the sub-delegation with a TTL of approximately 20 minutes

Mapping LLNS Root Name Servers 15 minutes Akamai High-Level DNS Servers 3 -20 seconds

Mapping LLNS Root Name Servers 15 minutes Akamai High-Level DNS Servers 3 -20 seconds Local Name Server Akamai Low-Level DNS Servers – LLNS picks local Akamai server which is not busy to serve content and returns that IP address

Mapping LLNS – Most edge caches do double duty as a LLNS – At

Mapping LLNS – Most edge caches do double duty as a LLNS – At least one LLNS outside local region is returned during sub-delegation to ensure end-user always gets a response – LLNS polls servers every 3 to 20 seconds for availability, load, etc. – At least two IP addresses are returned

Mapping TTL – The TTL of the final IP addresses is 20 seconds –

Mapping TTL – The TTL of the final IP addresses is 20 seconds – This means if a machine goes down, the local name server will ask for a new IP address in 20 seconds – During that 20 seconds, the buddy will take over for the dead edge cache – If an entire region goes dies (rack loses power, etc. ), the end user will experience a

Mapping Which is the best Akamai server to serve this end user? Root Name

Mapping Which is the best Akamai server to serve this end user? Root Name 15 minutes Servers Akamai High-Level DNS Servers 3 -20 seconds Local Name Server Content Served Locally Best Akamai Server for End User Akamai Low-Level DNS Servers

Akamai  ä' • kuh • my  , adj. (Hawaiian) 1. Intelligent, clever.

Akamai ä' • kuh • my , adj. (Hawaiian) 1. Intelligent, clever. 2. “Cool. ” Thank You !!!

Questions

Questions