71
OARtech Patrick W. Gilmore pgilmore @akamai.com , [email protected] April 11, 2001

OARtech Patrick W. Gilmore [email protected]@akamai.com, [email protected] April 11, 2001

Embed Size (px)

Citation preview

Page 2: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@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

Page 3: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Agenda

Content Delivery– Object Delivery– Site Delivery– Video Streaming

Mapping– DNS

ä'•kuh•my

Page 4: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Who Is Akamai?

Page 5: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Akamai’s Origins and Background

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

IPO on 10/29 raised $250M 4th best in 1999

Page 6: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Current Akamai Customers

Page 7: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 8: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 9: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 10: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 11: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 12: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Edge Caches

Page 13: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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”

Page 14: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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 InternetInteroperability

– No routing or DNS changes, already using it today

Page 15: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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.

Page 16: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

“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

Page 17: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 18: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001
Page 19: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 20: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 21: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Content Delivery

Page 22: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

End UserInternet

Host Server

Last MileProblem

Possible bottlenecks on the Internet

First Mile Problem

BackboneProblem

PeeringProblem

Page 23: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Process Flow

1. User wants to download distributed web content

1

XYZ

Page 24: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Process Flow

1

2

XYZ

Page 25: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Process Flow

3. Edge cache searches local hard drive for content

1

23

XYZ

Page 26: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Process Flow

1

23

XYZ

3a

3b. If requested object is not on local hard drive, edge cache checks other edge caches in same region for object

3a

Page 27: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Process Flow

3b. If requested object is not cached or not fresh, edge cache sends an HTTP GET the origin server

1

2

3b XYZ

3

3a

3a

Page 28: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

3c. Origin server delivers object to edge cache over optimized connection

Process Flow

1

2

3b XYZ

33c

3a

3a

Page 29: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

4. Edge server delivers content to end user

Process Flow

1

2

3b XYZ

33c

3a4

3a

Page 30: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

The Old Internet

Page 31: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

The New Internet with Akamai

Page 32: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001
Page 33: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Case Study on Reliability and Scalability: The 2000 Election

0

5

2

7

10

12

15

17

20

22

Crash Zone Without Akamai

this site could not have served

customers abovetheir crash zone

Cu

sto

mer

Vis

its

(Mill

ion

s)

Time

Page 34: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

How a Non-AkamaizedWebsite Works

1User enters standard URL

Customer Web Server

Customer’s Web Server returnsHTML with embedded URLs

2 Objects served with round trips across the Internet

4User’s browser requests embedded objects from customer Web server

3

End User

www.customer.com

<img src=/images/logo.gif>

Page 35: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Client’s Servers

HTTP requestuser enters standard URL

FreeFlow – Akamai’s Object Delivery Service

HTML codecontains Akamai URLs (ARL)

Content Served Locally

HTTP requestfor embedded

content

AkamaiServer

Example ARL: img src=a1000.g.akamai.net/…/www.customer.com/images/logo.gif

Page 36: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 37: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 38: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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 cachesPersistent TCP connections increase performance

– Helps with downloading of objects to end caches– Helps with tunneling to origin– (More on this later)

Page 39: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

dataUser 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

Page 40: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 41: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 42: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

2

4

1

3

2

4

3

2

1

Encoding

Top-level refelectors

Regions

3

4

1

43

21

Dropped packets don’tdegrade stream to regions

X Lost connections don’tdegrade stream to regions

XXXX

Entry Point

Akamai SteadyStreamSM technology can deliver streams reliably to the edge with effectively 0% packet loss.

X

Page 43: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Live

Pros:– Allows global distribution of real-time video– Users can connect anywhere and get good video quality

over public InternetCons:

– 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

Page 44: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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)

Page 45: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Live Streaming Over Satellite Network

SatelliteUplink

platform

Satellite Uplink Facility

Akamai Servers

Akamai Switch

Satellite DVB Receiver

Akamai Streaming Servers

To ISP Subscribers

ISP/Network Datacenter

InternetInternet

xIP Encoded Stream

Page 46: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Core Hierarchy Regions

XYZ

1. User requests content and is mapped to optimal edge Akamai server

Page 47: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Core Hierarchy Regions

XYZ

2. If content is not present in the region, it is requested from most optimal core region

Page 48: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Core Hierarchy Regions

XYZ

3. Core region makes one request back to origin server

Page 49: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Core Hierarchy Regions

XYZ

4. Core region can serve many edge regions with one request to origin server

Page 50: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 51: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 52: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 53: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Mapping

Page 54: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Mapping

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

Page 55: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Mapping

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)

Page 56: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Mapping

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 end-user?

Page 57: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Mapping

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

Page 58: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Mapping

Local Name Server

– Computer asks local name server for IP address which matches hostname

– Name will either be aXXX.g.akamai.net or an alias of that

Name ResolutionName Resolution

Page 59: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Mapping

Global Top Level Domain ServerGlobal Top Level Domain Server

gTLD Servers

Local Name Server

– Local name server asks the global Top Level Domain (gTLD) servers who is authoritative for domain “akamai.net”

Page 60: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Mapping

HLNSHLNS

Root Name Servers

Akamai High-Level name Servers

15 minutes

Local Name Server

– gTLD servers point local name server at Akamai High-Level name servers (HLNS)

– Local name server requests IP address of aXXX.g.akamai.net from HLNS

Page 61: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Mapping

HLNSHLNS

Root Name Servers

Akamai High-Level name Servers

15 minutes

Local Name Server

– HLNS looks at IP address of local name server and returns a sub-delegation for “g.akamai.net” pointing at a close Low Level name server (LLNS)

Page 62: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Mapping

Sub-Delegation– Standard part of Domain Name System– Tells local name server “I do not know aXXX, but

g.akamai.net is at this IP address”– Local name server automatically asks LLNS for IP

address – transparent to end user

Page 63: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Mapping

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

mapped end users– Working on ways around this

• Auto-Akamaizer• Dynamic HTML in EdgeSuite• Others

Page 64: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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• Handled through Overflow Controller

Page 65: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 66: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Mapping

LLNSLLNS

Root Name Servers

Akamai High-Level DNS Servers

15 minutes

Local Name Server

3-20 seconds

Akamai Low-Level DNS Servers

– LLNS picks local Akamai server which is not busy to serve content and returns that IP address

Page 67: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Page 68: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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 maximum of 20 seconds down time

Page 69: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Mapping

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

Root Name Servers

Akamai High-Level DNS Servers

15 minutes

Local Name Server

3-20 seconds

Best Akamai Server for End User

Akamai Low-Level DNS ServersContentServed Locally

Page 70: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

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

Thank You !!!Thank You !!!

Page 71: OARtech Patrick W. Gilmore pgilmore@akamai.compgilmore@akamai.com, patrick@ianai.net April 11, 2001

Questions