7
CS 4700 / CS 5700 Network Fundamentals Lecture 17.5: Project 5 Hints (Getting a job at Akamai) Revised 3/31/2014

CS 4700 / CS 5700 Network Fundamentals Lecture 17.5: Project 5 Hints (Getting a job at Akamai) Revised 3/31/2014

Embed Size (px)

Citation preview

Page 1: CS 4700 / CS 5700 Network Fundamentals Lecture 17.5: Project 5 Hints (Getting a job at Akamai) Revised 3/31/2014

CS 4700 / CS 5700Network Fundamentals

Lecture 17.5: Project 5 Hints(Getting a job at Akamai)

Revised 3/31/2014

Page 2: CS 4700 / CS 5700 Network Fundamentals Lecture 17.5: Project 5 Hints (Getting a job at Akamai) Revised 3/31/2014

2

Review: Optimizing Performance

Key goal Send clients to server with best end-to-end

performance Performance depends on

Server load Content at that server Network conditions

Optimizing for server load Load balancing, monitoring at servers Generally solved

Page 3: CS 4700 / CS 5700 Network Fundamentals Lecture 17.5: Project 5 Hints (Getting a job at Akamai) Revised 3/31/2014

3

DNS Redirection

Page 4: CS 4700 / CS 5700 Network Fundamentals Lecture 17.5: Project 5 Hints (Getting a job at Akamai) Revised 3/31/2014

4

How to fill in DNS response

Geolocation GeoIP database provides IP->location Which IP address should you lookup? How should you use the location?

Active measurement Ping latencies What should you probe? iPlane dataset contains useful information

Passive measurement How can you measure RTT without any active

probes?

Page 5: CS 4700 / CS 5700 Network Fundamentals Lecture 17.5: Project 5 Hints (Getting a job at Akamai) Revised 3/31/2014

5

Caching Web server

Space on each account is limited 10MB for a corpus that much larger Distribution of requests to content:

http://dumps.wikimedia.org/other/pagecounts-raw/2014/2014-03/

General approach Examine GET parameters Check database for content

If present, serve from cache If not, fetch from origin and (possibly) cache

Page 6: CS 4700 / CS 5700 Network Fundamentals Lecture 17.5: Project 5 Hints (Getting a job at Akamai) Revised 3/31/2014

6

Running replicated services

Step 1: Debug on a single machine interactively

Step 2: Develop scripts to automate running Step 3: Test on one server and make sure

everything works properly Step 4: Test on two servers in a fully

automated deployment Step 5: Deploy on all servers

Page 7: CS 4700 / CS 5700 Network Fundamentals Lecture 17.5: Project 5 Hints (Getting a job at Akamai) Revised 3/31/2014

7

Other notes

You cannot cache at the origin server, don’t bother trying to log in there

DNS server will be rebooted daily If you test your code on any other CCIS machine,

your DNS responses will be blocked Getting measurement data to DNS server

What can you reuse to do this? HTTP GET messages generated via wget DNS lookups performed using dig Set up SSH keys for your accounts on EC2

Only way to get non-interactive commands