SlideShare a Scribd company logo
Content Delivery Networks -Content Delivery Networks -
Principles & PracticePrinciples & Practice
NortheasternNortheastern
&&
Akamai TechnologiesAkamai Technologies
Ravi Sundaram
OutlineOutline
• CDNs - Review of mechanicsCDNs - Review of mechanics
• FirstPoint - Traffic Management forFirstPoint - Traffic Management for
mirrored websitesmirrored websites
Internet
Content
Providers
End
Users
The Web:The Web:
Simple on the Outside…Simple on the Outside…
NAP
NAP
UUNetUUNet
QwestQwest
AOLAOL
Network
Providers
Content
Providers
End
Users
Peering
Points
……But Problematic on the InsideBut Problematic on the Inside
Why does my click not workWhy does my click not work
• Latency - Browser takes a long timeLatency - Browser takes a long time
to load the pageto load the page
• Packet Loss - Browser hangs, userPacket Loss - Browser hangs, user
needs to hit refreshneeds to hit refresh
• Jitter - Streams are jerkyJitter - Streams are jerky
• Server load - Browser connects butServer load - Browser connects but
does not fully load the pagedoes not fully load the page
• Broken/missing contentBroken/missing content
The Akamai SolutionThe Akamai Solution
Servers
at Network Edge
Content
Providers
End
Users
NAP
NAP
3
Content Provider’s
Web Server
DNS
WWW.XYZ.COM1
Downloading www.xyz.comDownloading www.xyz.com
- before CDNs- before CDNs
• User enters www.xyz.comUser enters www.xyz.com
• Browser requests IPBrowser requests IP
address for www.xyz.comaddress for www.xyz.com
• Browser requestsBrowser requests
embedded objectsembedded objects
• Content provider’s webContent provider’s web
server returns HTMLserver returns HTML
10.10.123.82
• Browser requests HTMLBrowser requests HTML
• DNS returns IP addressDNS returns IP address
4
7
6
• Browser obtains IP addresses forBrowser obtains IP addresses for
hostnames listed in URLs of objectshostnames listed in URLs of objects
embedded on pageembedded on page
• Content provider’s web serverContent provider’s web server
returns embedded objectsreturns embedded objects
10.10.123.8
5
DNS ResolutionDNS Resolution
Browser’s
Cache
1
OS
2
Local NameLocal Name
ServerServer
3
.com .net
Root
(InterNIC)
4
xyz.com
DNS Servers
6
5
7
8
9
10
TTL:
1 Day
TTL:
30 Minutes
Origin - Content
Provider’s Web
Server
Delivery of Whole SiteDelivery of Whole Site
66
6. Browser obtains content6. Browser obtains content
from optimal Akamai serverfrom optimal Akamai server
WWW.XYZ.COMWWW.XYZ.COM
DNS
1. Browser requests DNS for IP1. Browser requests DNS for IP
of www.xyz.comof www.xyz.com
11
33
3. DNS returns IP of optimal3. DNS returns IP of optimal
Akamai serverAkamai server
5. Akamai server assembles5. Akamai server assembles
page, contacting origin aspage, contacting origin as
neededneeded
55
4. Browser requests Akamai4. Browser requests Akamai
server for contentserver for content
44
2. DNS follows CNAME redirect2. DNS follows CNAME redirect
to www.xyz.edgesuite.netto www.xyz.edgesuite.net
22
Delivery of Whole Site - DNSDelivery of Whole Site - DNS
RedirectRedirect
DNS CNAME RECORDDNS CNAME RECORD
www.xyz.com CNAME www.xyz.edgesuite.net 2Dwww.xyz.com CNAME www.xyz.edgesuite.net 2D
Delivery of Whole Site - PageDelivery of Whole Site - Page
AssemblyAssembly
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]
Benefits of CDNsBenefits of CDNs
• Improved end-user experienceImproved end-user experience
- reduce latencyreduce latency
- reduce lossreduce loss
- reduce jitterreduce jitter
• Reduced network congestionReduced network congestion
• Increased scalabilityIncreased scalability
• Improved fault-toleranceImproved fault-tolerance
• Reduced vulnerabilityReduced vulnerability
• Reduced costsReduced costs
OutlineOutline
• CDNs - Review of mechanicsCDNs - Review of mechanics
• FirstPoint - Traffic Management forFirstPoint - Traffic Management for
mirrored websitesmirrored websites
What is FirstPointWhat is FirstPoint
• Traffic management system forTraffic management system for
mirrored websitesmirrored websites
• Directs browser to the optimal mirrorDirects browser to the optimal mirror
• DNS basedDNS based
• Application level anycastApplication level anycast
Why FirstPointWhy FirstPoint
• Content providers have mirroredContent providers have mirrored
websiteswebsites
• Content providers only want toContent providers only want to
offload embedded contentoffload embedded content
- ControlControl
- SecuritySecurity
- PerformancePerformance
Mapping ProblemMapping Problem
How to improve user experience?
What is the Mapping ProblemWhat is the Mapping Problem
• Problem of directing requests toProblem of directing requests to
servers so as to optimize end-userservers so as to optimize end-user
experienceexperience
- reduce latencyreduce latency
- reduce lossreduce loss
- reduce jitterreduce jitter
• Assumption - servers are fineAssumption - servers are fine
• Applicable to 2 mirrors or 1500Applicable to 2 mirrors or 1500
Akamai locationsAkamai locations
AttemptAttempt
• Measure which is closerMeasure which is closer
- Closeness changes over timeCloseness changes over time
• Measure frequentlyMeasure frequently
- Bothers peopleBothers people
- Too many to doToo many to do
~500,000 unique nameservers on any given day
10 sec per measurement cycle
IdeaIdea
• TopologyTopology
- relatively staticrelatively static
- changes in BGP timechanges in BGP time
- order of hours if not daysorder of hours if not days
• CongestionCongestion
- dynamicdynamic
- changes in round-trip timechanges in round-trip time
- order of millisecondsorder of milliseconds
Topology Discovery - Proxy pointsTopology Discovery - Proxy points
Cluster
X
Y
AliasingAliasing
• Router fabrics using HSRP (hotRouter fabrics using HSRP (hot
stand-by routing protocol)stand-by routing protocol)
- correlate over timecorrelate over time
• Routers with multiple interfacesRouters with multiple interfaces
- source address of UDP/ICMP packetssource address of UDP/ICMP packets
Set coverSet cover
• Let sets represent proxy pointsLet sets represent proxy points
• Let elements represent nameserversLet elements represent nameservers
• Find minimum collection of proxyFind minimum collection of proxy
points covering nameserverspoints covering nameservers
X covers 1, 2, 3 and 4X covers 1, 2, 3 and 4
X
1 2 3 4
Topology DiscoveryTopology Discovery
• At each mirror maintain list of partial paths toAt each mirror maintain list of partial paths to
nameserversnameservers
• At each epoch extend paths by 1, inAt each epoch extend paths by 1, in
randomized fashion, and exchange with otherrandomized fashion, and exchange with other
mirrormirror
• If the two (partial) paths to a namerver haveIf the two (partial) paths to a namerver have
intersected then declare that nameserverintersected then declare that nameserver
done.done.
• If path has reached forbidden IP then waitIf path has reached forbidden IP then wait
• Use pair of proxies in case of failureUse pair of proxies in case of failure
Topology Discovery - Proxy pointsTopology Discovery - Proxy points
Data exchange
Topology DiscoveryTopology Discovery
500,000 nameservers500,000 nameservers
reduced toreduced to
90,000 proxy points (clusters)90,000 proxy points (clusters)
Histogram of cluster sizesHistogram of cluster sizes
HISTOGRAM
0
5000
10000
15000
20000
25000
30000
35000
1 2 3 4 5 6-99 100-999 1000-
5999
6000-
Cluster Size
Number
Congestion MeasurementCongestion Measurement
Problem - Still too many measurements to do.Problem - Still too many measurements to do.
90,000 measurements every 10s with 32B90,000 measurements every 10s with 32B
packets requires a few Mbps per mirror.packets requires a few Mbps per mirror.
Solution - Importance based samplingSolution - Importance based sampling
CDF of End-user LoadCDF of End-user Load
CDF
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Number of Clusters
Load
Load EstimationLoad Estimation
500,000 nameservers500,000 nameservers
reduced toreduced to
90,000 clusters90,000 clusters
7,000 account for 95% end-user load!7,000 account for 95% end-user load!
Mapping Problem - Solved!Mapping Problem - Solved!
Maps built every 10s
FirstPointFirstPoint
• Customers - how to tell?Customers - how to tell?
- look for CNAME to akadns.netlook for CNAME to akadns.net
• Customers - who?Customers - who?
- High traffic content providersHigh traffic content providers
- Yahoo!, Microsoft, TicketMaster etcYahoo!, Microsoft, TicketMaster etc
• Price - don’t ask :)Price - don’t ask :)
• Competitors - whoCompetitors - who
- one-of-a-kind serviceone-of-a-kind service
- boxes: Cisco, F5, Foundryboxes: Cisco, F5, Foundry
FirstPoint - other aspectsFirstPoint - other aspects
• Load-balancingLoad-balancing
- estimate-basedestimate-based
- feedback-based : https, snmpfeedback-based : https, snmp
- cost-based: 95/5cost-based: 95/5
• Fast cutout in case of failoverFast cutout in case of failover
• Highly fault-tolerantHighly fault-tolerant
- hardware duplication, leader electionhardware duplication, leader election
- overlay routing, BGP-based anycastoverlay routing, BGP-based anycast
• Integration with other servicesIntegration with other services
- DOS/Load failoverDOS/Load failover
MicrosoftMicrosoft
Related WorkRelated Work
• TopologyTopology
- Spring, Mahajan, Wetherall, Sigcomm ‘02Spring, Mahajan, Wetherall, Sigcomm ‘02
- Govindan, Tangmunarunkit, Infocom ‘00Govindan, Tangmunarunkit, Infocom ‘00
• ClusteringClustering
- Krishnamurthy, Wang, Sigcomm ‘00Krishnamurthy, Wang, Sigcomm ‘00
- Bezstavros, Mehrotra, WWC ‘01Bezstavros, Mehrotra, WWC ‘01
- Barford, Gast, Globecom 02Barford, Gast, Globecom 02
• ClusteringClustering
- Shaikh, Tewari, Agrawal, Infocom ‘00Shaikh, Tewari, Agrawal, Infocom ‘00
- Krishnamurthy, Wills, Zhang, Sigcomm IMW ‘01Krishnamurthy, Wills, Zhang, Sigcomm IMW ‘01
Patents (pending)Patents (pending)
• Global load balancing across mirrored data centers.Global load balancing across mirrored data centers.
Utility # 20020129134Utility # 20020129134
• Method for predicting file download time fromMethod for predicting file download time from
mirrored data centers in a global computer network.mirrored data centers in a global computer network.
Utility # 20020124080Utility # 20020124080
• Method for generating a network map. Utility #Method for generating a network map. Utility #
2002007823720020078237
• Method and system for protecting websites fromMethod and system for protecting websites from
public Internet threats. Filed 15 July 2002public Internet threats. Filed 15 July 2002
PrinciplesPrinciples
• Open design principleOpen design principle
- You need all the help you can getYou need all the help you can get
- Do not eliminate the obvious without trying firstDo not eliminate the obvious without trying first
- Give serendipity a chanceGive serendipity a chance
• Scaling principleScaling principle
- factor 10 difference means different domainfactor 10 difference means different domain
- different domains need different techniquesdifferent domains need different techniques
• The common case principleThe common case principle
- Zipf law is your friendZipf law is your friend
- things clusterthings cluster
- optimize the common caseoptimize the common case
ConclusionConclusion
• The Internet will never be fast enough in allThe Internet will never be fast enough in all
placesplaces
• People will want access to the Internet allPeople will want access to the Internet all
the time and everywherethe time and everywhere

More Related Content

What's hot

AP4R on RubyConf2007
AP4R on RubyConf2007AP4R on RubyConf2007
AP4R on RubyConf2007
Kato Kiwamu
 
Alfresco scalability and performnce
Alfresco   scalability and performnceAlfresco   scalability and performnce
Alfresco scalability and performncePaul Hampton
 
Route 53 Latency Based Routing
Route 53 Latency Based RoutingRoute 53 Latency Based Routing
Route 53 Latency Based Routing
Amazon Web Services
 
AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)
Kato Kiwamu
 
AP4R on Developers Summit 2008
AP4R on Developers Summit 2008AP4R on Developers Summit 2008
AP4R on Developers Summit 2008Kato Kiwamu
 
Caching with Memcached and APC
Caching with Memcached and APCCaching with Memcached and APC
Caching with Memcached and APC
Ben Ramsey
 
Alfresco tuning part2
Alfresco tuning part2Alfresco tuning part2
Alfresco tuning part2
Luis Cabaceira
 
GraphConnect 2014 SF: From Zero to Graph in 120: Scale
GraphConnect 2014 SF: From Zero to Graph in 120: ScaleGraphConnect 2014 SF: From Zero to Graph in 120: Scale
GraphConnect 2014 SF: From Zero to Graph in 120: Scale
Neo4j
 
HBase: Extreme makeover
HBase: Extreme makeoverHBase: Extreme makeover
HBase: Extreme makeover
bigbase
 
Seattle Video Tech Meetup August 2019: Optimal Multi-codec Streaming
Seattle Video Tech Meetup August 2019: Optimal Multi-codec StreamingSeattle Video Tech Meetup August 2019: Optimal Multi-codec Streaming
Seattle Video Tech Meetup August 2019: Optimal Multi-codec Streaming
David Sayed
 
HBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon 2015: HBase Performance Tuning @ SalesforceHBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon
 
GTM vs AWS Route 53 with Cisco umbrella
GTM vs AWS Route 53 with Cisco umbrellaGTM vs AWS Route 53 with Cisco umbrella
GTM vs AWS Route 53 with Cisco umbrella
Dhruv Sharma
 
ApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache KarafApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache Karaf
Achim Nierbeck
 
On ABR Streaming and CDN Performance
On ABR Streaming and CDN PerformanceOn ABR Streaming and CDN Performance
On ABR Streaming and CDN Performance
David Sayed
 
Accelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using CachingAccelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using Caching
ColdFusionConference
 
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
Amazon Web Services
 
Adobe HTTP Streaming
Adobe HTTP StreamingAdobe HTTP Streaming
Adobe HTTP StreamingYoss Cohen
 
Alfresco tuning part1
Alfresco tuning part1Alfresco tuning part1
Alfresco tuning part1
Luis Cabaceira
 

What's hot (20)

HBase Low Latency
HBase Low LatencyHBase Low Latency
HBase Low Latency
 
AP4R on RubyConf2007
AP4R on RubyConf2007AP4R on RubyConf2007
AP4R on RubyConf2007
 
Alfresco scalability and performnce
Alfresco   scalability and performnceAlfresco   scalability and performnce
Alfresco scalability and performnce
 
Route 53 Latency Based Routing
Route 53 Latency Based RoutingRoute 53 Latency Based Routing
Route 53 Latency Based Routing
 
AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)
 
AP4R on Developers Summit 2008
AP4R on Developers Summit 2008AP4R on Developers Summit 2008
AP4R on Developers Summit 2008
 
Caching with Memcached and APC
Caching with Memcached and APCCaching with Memcached and APC
Caching with Memcached and APC
 
Alfresco tuning part2
Alfresco tuning part2Alfresco tuning part2
Alfresco tuning part2
 
SPDY Talk
SPDY TalkSPDY Talk
SPDY Talk
 
GraphConnect 2014 SF: From Zero to Graph in 120: Scale
GraphConnect 2014 SF: From Zero to Graph in 120: ScaleGraphConnect 2014 SF: From Zero to Graph in 120: Scale
GraphConnect 2014 SF: From Zero to Graph in 120: Scale
 
HBase: Extreme makeover
HBase: Extreme makeoverHBase: Extreme makeover
HBase: Extreme makeover
 
Seattle Video Tech Meetup August 2019: Optimal Multi-codec Streaming
Seattle Video Tech Meetup August 2019: Optimal Multi-codec StreamingSeattle Video Tech Meetup August 2019: Optimal Multi-codec Streaming
Seattle Video Tech Meetup August 2019: Optimal Multi-codec Streaming
 
HBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon 2015: HBase Performance Tuning @ SalesforceHBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon 2015: HBase Performance Tuning @ Salesforce
 
GTM vs AWS Route 53 with Cisco umbrella
GTM vs AWS Route 53 with Cisco umbrellaGTM vs AWS Route 53 with Cisco umbrella
GTM vs AWS Route 53 with Cisco umbrella
 
ApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache KarafApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache Karaf
 
On ABR Streaming and CDN Performance
On ABR Streaming and CDN PerformanceOn ABR Streaming and CDN Performance
On ABR Streaming and CDN Performance
 
Accelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using CachingAccelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using Caching
 
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
 
Adobe HTTP Streaming
Adobe HTTP StreamingAdobe HTTP Streaming
Adobe HTTP Streaming
 
Alfresco tuning part1
Alfresco tuning part1Alfresco tuning part1
Alfresco tuning part1
 

Viewers also liked

Lec 04e microprocessor_generations_w03
Lec 04e microprocessor_generations_w03Lec 04e microprocessor_generations_w03
Lec 04e microprocessor_generations_w03Aravindharamanan S
 
android_development_environment
android_development_environmentandroid_development_environment
android_development_environmentAravindharamanan S
 
Trends in marketing
Trends in marketingTrends in marketing
Trends in marketing
Aravindharamanan S
 
Jaxws 2 0-fr-spec
Jaxws 2 0-fr-specJaxws 2 0-fr-spec
Jaxws 2 0-fr-spec
Aravindharamanan S
 
Introducing visual studio_2010_v1.0--chappell
Introducing visual studio_2010_v1.0--chappellIntroducing visual studio_2010_v1.0--chappell
Introducing visual studio_2010_v1.0--chappell
Aravindharamanan S
 

Viewers also liked (13)

Lec 04e microprocessor_generations_w03
Lec 04e microprocessor_generations_w03Lec 04e microprocessor_generations_w03
Lec 04e microprocessor_generations_w03
 
android_development_environment
android_development_environmentandroid_development_environment
android_development_environment
 
Oose lab notes
Oose lab notesOose lab notes
Oose lab notes
 
Cloud based database
Cloud based databaseCloud based database
Cloud based database
 
Classical cryptography
Classical cryptographyClassical cryptography
Classical cryptography
 
Trends in marketing
Trends in marketingTrends in marketing
Trends in marketing
 
Jaxws 2 0-fr-spec
Jaxws 2 0-fr-specJaxws 2 0-fr-spec
Jaxws 2 0-fr-spec
 
Access control matrix
Access control matrixAccess control matrix
Access control matrix
 
Rational rosetutorial
Rational rosetutorialRational rosetutorial
Rational rosetutorial
 
Rstutorialbook
RstutorialbookRstutorialbook
Rstutorialbook
 
Attacks1
Attacks1Attacks1
Attacks1
 
Other public key systems
Other public key systemsOther public key systems
Other public key systems
 
Introducing visual studio_2010_v1.0--chappell
Introducing visual studio_2010_v1.0--chappellIntroducing visual studio_2010_v1.0--chappell
Introducing visual studio_2010_v1.0--chappell
 

Similar to Cdn cs6740

AWS re:Invent 2016: From Resilience to Ubiquity - #NetflixEverywhere Global A...
AWS re:Invent 2016: From Resilience to Ubiquity - #NetflixEverywhere Global A...AWS re:Invent 2016: From Resilience to Ubiquity - #NetflixEverywhere Global A...
AWS re:Invent 2016: From Resilience to Ubiquity - #NetflixEverywhere Global A...
Amazon Web Services
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
Amazon Web Services
 
Apache Kafka® at Dropbox
Apache Kafka® at DropboxApache Kafka® at Dropbox
Apache Kafka® at Dropbox
confluent
 
Scaling habits of ASP.NET
Scaling habits of ASP.NETScaling habits of ASP.NET
Scaling habits of ASP.NET
David Giard
 
Azug - successfully breeding rabits
Azug - successfully breeding rabitsAzug - successfully breeding rabits
Azug - successfully breeding rabitsYves Goeleven
 
Apache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutApache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling Out
Sander Temme
 
Cloud Architecture Tutorial - Running in the Cloud (3of3)
Cloud Architecture Tutorial - Running in the Cloud (3of3)Cloud Architecture Tutorial - Running in the Cloud (3of3)
Cloud Architecture Tutorial - Running in the Cloud (3of3)
Adrian Cockcroft
 
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Ontico
 
Tuning kafka pipelines
Tuning kafka pipelinesTuning kafka pipelines
Tuning kafka pipelines
Sumant Tambe
 
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
Amazon Web Services
 
«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub
it-people
 
The Wix Microservice Stack
The Wix Microservice StackThe Wix Microservice Stack
The Wix Microservice Stack
Tomer Gabel
 
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
Amazon Web Services
 
Play With Streams
Play With StreamsPlay With Streams
Play With Streams
Tianjian Chen
 
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
HostedbyConfluent
 
haproxy-150423120602-conversion-gate01.pdf
haproxy-150423120602-conversion-gate01.pdfhaproxy-150423120602-conversion-gate01.pdf
haproxy-150423120602-conversion-gate01.pdf
PawanVerma628806
 
HAProxy
HAProxy HAProxy
HAProxy
Arindam Nayak
 
Jan Hloušek, Keen Software House
Jan Hloušek, Keen Software HouseJan Hloušek, Keen Software House
Jan Hloušek, Keen Software House
White Nights Conference
 
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Ontico
 
Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013
Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013
Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013
Amazon Web Services
 

Similar to Cdn cs6740 (20)

AWS re:Invent 2016: From Resilience to Ubiquity - #NetflixEverywhere Global A...
AWS re:Invent 2016: From Resilience to Ubiquity - #NetflixEverywhere Global A...AWS re:Invent 2016: From Resilience to Ubiquity - #NetflixEverywhere Global A...
AWS re:Invent 2016: From Resilience to Ubiquity - #NetflixEverywhere Global A...
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
Apache Kafka® at Dropbox
Apache Kafka® at DropboxApache Kafka® at Dropbox
Apache Kafka® at Dropbox
 
Scaling habits of ASP.NET
Scaling habits of ASP.NETScaling habits of ASP.NET
Scaling habits of ASP.NET
 
Azug - successfully breeding rabits
Azug - successfully breeding rabitsAzug - successfully breeding rabits
Azug - successfully breeding rabits
 
Apache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutApache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling Out
 
Cloud Architecture Tutorial - Running in the Cloud (3of3)
Cloud Architecture Tutorial - Running in the Cloud (3of3)Cloud Architecture Tutorial - Running in the Cloud (3of3)
Cloud Architecture Tutorial - Running in the Cloud (3of3)
 
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
 
Tuning kafka pipelines
Tuning kafka pipelinesTuning kafka pipelines
Tuning kafka pipelines
 
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
 
«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub
 
The Wix Microservice Stack
The Wix Microservice StackThe Wix Microservice Stack
The Wix Microservice Stack
 
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
 
Play With Streams
Play With StreamsPlay With Streams
Play With Streams
 
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
 
haproxy-150423120602-conversion-gate01.pdf
haproxy-150423120602-conversion-gate01.pdfhaproxy-150423120602-conversion-gate01.pdf
haproxy-150423120602-conversion-gate01.pdf
 
HAProxy
HAProxy HAProxy
HAProxy
 
Jan Hloušek, Keen Software House
Jan Hloušek, Keen Software HouseJan Hloušek, Keen Software House
Jan Hloušek, Keen Software House
 
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
 
Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013
Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013
Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013
 

Recently uploaded

This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
nirahealhty
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
JungkooksNonexistent
 
Output determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CCOutput determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CC
ShahulHameed54211
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Sanjeev Rampal
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
Himani415946
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
TristanJasperRamos
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
laozhuseo02
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
natyesu
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
laozhuseo02
 

Recently uploaded (16)

This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
Output determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CCOutput determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CC
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 

Cdn cs6740

  • 1. Content Delivery Networks -Content Delivery Networks - Principles & PracticePrinciples & Practice NortheasternNortheastern && Akamai TechnologiesAkamai Technologies Ravi Sundaram
  • 2. OutlineOutline • CDNs - Review of mechanicsCDNs - Review of mechanics • FirstPoint - Traffic Management forFirstPoint - Traffic Management for mirrored websitesmirrored websites
  • 3. Internet Content Providers End Users The Web:The Web: Simple on the Outside…Simple on the Outside…
  • 5. Why does my click not workWhy does my click not work • Latency - Browser takes a long timeLatency - Browser takes a long time to load the pageto load the page • Packet Loss - Browser hangs, userPacket Loss - Browser hangs, user needs to hit refreshneeds to hit refresh • Jitter - Streams are jerkyJitter - Streams are jerky • Server load - Browser connects butServer load - Browser connects but does not fully load the pagedoes not fully load the page • Broken/missing contentBroken/missing content
  • 6. The Akamai SolutionThe Akamai Solution Servers at Network Edge Content Providers End Users NAP NAP
  • 7. 3 Content Provider’s Web Server DNS WWW.XYZ.COM1 Downloading www.xyz.comDownloading www.xyz.com - before CDNs- before CDNs • User enters www.xyz.comUser enters www.xyz.com • Browser requests IPBrowser requests IP address for www.xyz.comaddress for www.xyz.com • Browser requestsBrowser requests embedded objectsembedded objects • Content provider’s webContent provider’s web server returns HTMLserver returns HTML 10.10.123.82 • Browser requests HTMLBrowser requests HTML • DNS returns IP addressDNS returns IP address 4 7 6 • Browser obtains IP addresses forBrowser obtains IP addresses for hostnames listed in URLs of objectshostnames listed in URLs of objects embedded on pageembedded on page • Content provider’s web serverContent provider’s web server returns embedded objectsreturns embedded objects 10.10.123.8 5
  • 8. DNS ResolutionDNS Resolution Browser’s Cache 1 OS 2 Local NameLocal Name ServerServer 3 .com .net Root (InterNIC) 4 xyz.com DNS Servers 6 5 7 8 9 10 TTL: 1 Day TTL: 30 Minutes
  • 9. Origin - Content Provider’s Web Server Delivery of Whole SiteDelivery of Whole Site 66 6. Browser obtains content6. Browser obtains content from optimal Akamai serverfrom optimal Akamai server WWW.XYZ.COMWWW.XYZ.COM DNS 1. Browser requests DNS for IP1. Browser requests DNS for IP of www.xyz.comof www.xyz.com 11 33 3. DNS returns IP of optimal3. DNS returns IP of optimal Akamai serverAkamai server 5. Akamai server assembles5. Akamai server assembles page, contacting origin aspage, contacting origin as neededneeded 55 4. Browser requests Akamai4. Browser requests Akamai server for contentserver for content 44 2. DNS follows CNAME redirect2. DNS follows CNAME redirect to www.xyz.edgesuite.netto www.xyz.edgesuite.net 22
  • 10. Delivery of Whole Site - DNSDelivery of Whole Site - DNS RedirectRedirect DNS CNAME RECORDDNS CNAME RECORD www.xyz.com CNAME www.xyz.edgesuite.net 2Dwww.xyz.com CNAME www.xyz.edgesuite.net 2D
  • 11. Delivery of Whole Site - PageDelivery of Whole Site - Page AssemblyAssembly 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]
  • 12. Benefits of CDNsBenefits of CDNs • Improved end-user experienceImproved end-user experience - reduce latencyreduce latency - reduce lossreduce loss - reduce jitterreduce jitter • Reduced network congestionReduced network congestion • Increased scalabilityIncreased scalability • Improved fault-toleranceImproved fault-tolerance • Reduced vulnerabilityReduced vulnerability • Reduced costsReduced costs
  • 13. OutlineOutline • CDNs - Review of mechanicsCDNs - Review of mechanics • FirstPoint - Traffic Management forFirstPoint - Traffic Management for mirrored websitesmirrored websites
  • 14. What is FirstPointWhat is FirstPoint • Traffic management system forTraffic management system for mirrored websitesmirrored websites • Directs browser to the optimal mirrorDirects browser to the optimal mirror • DNS basedDNS based • Application level anycastApplication level anycast
  • 15. Why FirstPointWhy FirstPoint • Content providers have mirroredContent providers have mirrored websiteswebsites • Content providers only want toContent providers only want to offload embedded contentoffload embedded content - ControlControl - SecuritySecurity - PerformancePerformance
  • 16. Mapping ProblemMapping Problem How to improve user experience?
  • 17. What is the Mapping ProblemWhat is the Mapping Problem • Problem of directing requests toProblem of directing requests to servers so as to optimize end-userservers so as to optimize end-user experienceexperience - reduce latencyreduce latency - reduce lossreduce loss - reduce jitterreduce jitter • Assumption - servers are fineAssumption - servers are fine • Applicable to 2 mirrors or 1500Applicable to 2 mirrors or 1500 Akamai locationsAkamai locations
  • 18. AttemptAttempt • Measure which is closerMeasure which is closer - Closeness changes over timeCloseness changes over time • Measure frequentlyMeasure frequently - Bothers peopleBothers people - Too many to doToo many to do ~500,000 unique nameservers on any given day 10 sec per measurement cycle
  • 19. IdeaIdea • TopologyTopology - relatively staticrelatively static - changes in BGP timechanges in BGP time - order of hours if not daysorder of hours if not days • CongestionCongestion - dynamicdynamic - changes in round-trip timechanges in round-trip time - order of millisecondsorder of milliseconds
  • 20. Topology Discovery - Proxy pointsTopology Discovery - Proxy points Cluster X Y
  • 21. AliasingAliasing • Router fabrics using HSRP (hotRouter fabrics using HSRP (hot stand-by routing protocol)stand-by routing protocol) - correlate over timecorrelate over time • Routers with multiple interfacesRouters with multiple interfaces - source address of UDP/ICMP packetssource address of UDP/ICMP packets
  • 22. Set coverSet cover • Let sets represent proxy pointsLet sets represent proxy points • Let elements represent nameserversLet elements represent nameservers • Find minimum collection of proxyFind minimum collection of proxy points covering nameserverspoints covering nameservers X covers 1, 2, 3 and 4X covers 1, 2, 3 and 4 X 1 2 3 4
  • 23. Topology DiscoveryTopology Discovery • At each mirror maintain list of partial paths toAt each mirror maintain list of partial paths to nameserversnameservers • At each epoch extend paths by 1, inAt each epoch extend paths by 1, in randomized fashion, and exchange with otherrandomized fashion, and exchange with other mirrormirror • If the two (partial) paths to a namerver haveIf the two (partial) paths to a namerver have intersected then declare that nameserverintersected then declare that nameserver done.done. • If path has reached forbidden IP then waitIf path has reached forbidden IP then wait • Use pair of proxies in case of failureUse pair of proxies in case of failure
  • 24. Topology Discovery - Proxy pointsTopology Discovery - Proxy points Data exchange
  • 25. Topology DiscoveryTopology Discovery 500,000 nameservers500,000 nameservers reduced toreduced to 90,000 proxy points (clusters)90,000 proxy points (clusters)
  • 26. Histogram of cluster sizesHistogram of cluster sizes HISTOGRAM 0 5000 10000 15000 20000 25000 30000 35000 1 2 3 4 5 6-99 100-999 1000- 5999 6000- Cluster Size Number
  • 27. Congestion MeasurementCongestion Measurement Problem - Still too many measurements to do.Problem - Still too many measurements to do. 90,000 measurements every 10s with 32B90,000 measurements every 10s with 32B packets requires a few Mbps per mirror.packets requires a few Mbps per mirror. Solution - Importance based samplingSolution - Importance based sampling
  • 28. CDF of End-user LoadCDF of End-user Load CDF 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 Number of Clusters Load
  • 29. Load EstimationLoad Estimation 500,000 nameservers500,000 nameservers reduced toreduced to 90,000 clusters90,000 clusters 7,000 account for 95% end-user load!7,000 account for 95% end-user load!
  • 30. Mapping Problem - Solved!Mapping Problem - Solved! Maps built every 10s
  • 31. FirstPointFirstPoint • Customers - how to tell?Customers - how to tell? - look for CNAME to akadns.netlook for CNAME to akadns.net • Customers - who?Customers - who? - High traffic content providersHigh traffic content providers - Yahoo!, Microsoft, TicketMaster etcYahoo!, Microsoft, TicketMaster etc • Price - don’t ask :)Price - don’t ask :) • Competitors - whoCompetitors - who - one-of-a-kind serviceone-of-a-kind service - boxes: Cisco, F5, Foundryboxes: Cisco, F5, Foundry
  • 32. FirstPoint - other aspectsFirstPoint - other aspects • Load-balancingLoad-balancing - estimate-basedestimate-based - feedback-based : https, snmpfeedback-based : https, snmp - cost-based: 95/5cost-based: 95/5 • Fast cutout in case of failoverFast cutout in case of failover • Highly fault-tolerantHighly fault-tolerant - hardware duplication, leader electionhardware duplication, leader election - overlay routing, BGP-based anycastoverlay routing, BGP-based anycast • Integration with other servicesIntegration with other services - DOS/Load failoverDOS/Load failover
  • 34. Related WorkRelated Work • TopologyTopology - Spring, Mahajan, Wetherall, Sigcomm ‘02Spring, Mahajan, Wetherall, Sigcomm ‘02 - Govindan, Tangmunarunkit, Infocom ‘00Govindan, Tangmunarunkit, Infocom ‘00 • ClusteringClustering - Krishnamurthy, Wang, Sigcomm ‘00Krishnamurthy, Wang, Sigcomm ‘00 - Bezstavros, Mehrotra, WWC ‘01Bezstavros, Mehrotra, WWC ‘01 - Barford, Gast, Globecom 02Barford, Gast, Globecom 02 • ClusteringClustering - Shaikh, Tewari, Agrawal, Infocom ‘00Shaikh, Tewari, Agrawal, Infocom ‘00 - Krishnamurthy, Wills, Zhang, Sigcomm IMW ‘01Krishnamurthy, Wills, Zhang, Sigcomm IMW ‘01
  • 35. Patents (pending)Patents (pending) • Global load balancing across mirrored data centers.Global load balancing across mirrored data centers. Utility # 20020129134Utility # 20020129134 • Method for predicting file download time fromMethod for predicting file download time from mirrored data centers in a global computer network.mirrored data centers in a global computer network. Utility # 20020124080Utility # 20020124080 • Method for generating a network map. Utility #Method for generating a network map. Utility # 2002007823720020078237 • Method and system for protecting websites fromMethod and system for protecting websites from public Internet threats. Filed 15 July 2002public Internet threats. Filed 15 July 2002
  • 36. PrinciplesPrinciples • Open design principleOpen design principle - You need all the help you can getYou need all the help you can get - Do not eliminate the obvious without trying firstDo not eliminate the obvious without trying first - Give serendipity a chanceGive serendipity a chance • Scaling principleScaling principle - factor 10 difference means different domainfactor 10 difference means different domain - different domains need different techniquesdifferent domains need different techniques • The common case principleThe common case principle - Zipf law is your friendZipf law is your friend - things clusterthings cluster - optimize the common caseoptimize the common case
  • 37. ConclusionConclusion • The Internet will never be fast enough in allThe Internet will never be fast enough in all placesplaces • People will want access to the Internet allPeople will want access to the Internet all the time and everywherethe time and everywhere

Editor's Notes

  1. Mention that in a nut-shell this is the problem you tried to solve and here you will talk about the ideas that go into the solution
  2. Talk about how DNS cloud works in a bit—like 411 service. Mention that the bulk of the time is spent in the web transfer and DNS is typically 20 to 50ms whereas the web transfer can take 2 to 5s
  3. Trying to get IP address for www.xyz.com. First go to internic to get xyz.com address. Explain caching with TTLs. Many people share local nameserver.
  4. Same as before but most content is local! Transparent to end-user.
  5. Very simple process.
  6. Network congestion is reduced because traffic is moved to the edge Scalability is improved because with more servers more requests can be served Fault-tolerance improved because no single point of failure - distributed system Vulnerability reduced because denial of service attacks are diffused Reduced costs because of economies of scale, multiplexing and buying in bulk
  7. Say high end traffic management system for mirrored websites
  8. Sufficient to have mirrored websites, do not need to use content delivery Under security mention SSL certificates
  9. If nobody asks why not use DNS queries then bring it up by myself - point out that 15 - 20% of nameservers are closed to the world, that their state tends to be variable, different size packets cannot be used and sysadmins tend to be sensitive about repeated queries. Talk about as a naive attempt to do the impossible. Experts said it was not possible but say that we learnt important things. Never eliminate the obvious without trying it. Also known as the open design principle - need all the help we can get. Scalability is the key problem. Say that 10s was set as a challenge
  10. Mention that the naive approach taught us a lot. To some extent we were theoreticians and by doing we learnt.
  11. State that fewer than 1% or 5,000 require proxy pairs.
  12. Talk about war story of how even though our boxes were in same data center as Y! nevertheless we saw different connectivity. Talk about dos failover
  13. Mention Jerry Saltzer's design principles
  14. Say patents can be gotten from www.uspto.gov
  15. Say that you are stepping back Mention Jerry Saltzer's design principles
  16. Talk about e2e principle and forethought on original designers. Talk about ubiquity access where people are and info about where they are not - sensor networks, mobility.