I recently read a blog post on locating servers in Iceland that included:
If you draw a straight line from San Francisco to Amsterdam you will cross Iceland. [We have the] most customers from the US and Europe, so it makes sense to pick this geographical location.
I don't want to pick on them in particular, but this is a common misconception about how the internet works. Internet traffic doesn't follow great-circle routes, but instead follows the cables.  In the case of connections between the US, Iceland, and Europe, these are underwater cables:
This is only a diagram, and doesn't show exact routes, but you can see that Iceland has much better connectivity to the East than the West. A packet from the US to Iceland is probably going to first cross the Atlantic to mainland Europe, and then backtrack.
Running a traceroute from my RCN connection in Boston, this is what's happening. I see packets going via hge0-2-0-0.border1.bos.ma.rcn.net, then 10-2-3.bear2.boston1.level3.net, then ae-2-3205.edge3.amsterdam1.level3.net, on their way to 126.96.36.199, an IP in Iceland.
We can also see this with ping times:
- Paris to Iceland: 52ms
- Boston to Paris: 108ms
- Boston to Iceland: 136ms
If you want to place a server "close" to both the US and Europe, trying to split the difference and put it in Iceland is worse than just putting it in Europe.
(Separately, it's also not helpful to think of a domain as having to be hosted from only one place. You can configure DNS so the domain will resolve to different IP addresses in different parts of the world, and you can handle user requests as closer to the user as possible. Requests like "please give me script.js" or "please record that someone visited example.com" can easily be handled by multiple servers around the world.)
 This isn't completely true: there are non-cable links, but cables carry the vast majority of internet traffic.
Comment via: facebook