RESEARCH :: Building my own CDN - choosing a web-hosting to deploy my CDN - Update: 28-July-2016
Written by: Kiran Kankipati
Yesterday I have done extensive study about which alternative web hosting service provider (or hosting provider) to choose. The TOFFEE Project website is hosted on Inmotion Hosting. And so I am looking for alternate hosting provider to build my first CDN node. My plan is to make multiple sub-domains of my website such as cdn1.the-toffee-project.org, cdn2.the-toffee-project.org and point each of this corresponding subdomain(s) to various alternative web hosting servers geographically spread across the world.
Sometimes choosing the same vendor for multiple CDN nodes may result multiple servers existing in the data-center. And this becomes an issue if there is some catastrophic network disaster. In such events not only your whole website may go down, but all its other associated CDN nodes may also fail to work. And this will affect your SEO and the end user experience. Which is why exactly I need to choose alternate hosting providers.
After extensive search I found Inmotionhosting have an option to choose your choice of Data-centre. I was extremely happy to find this option and shocked that when I initially subscribed during The TOFFEE Project website launch, I never much noticed this option. So I quickly confirmed via whoismyip look-up that the TOFFEE Project website is on a US west coast data-centre server. I cross checked the same with Inmotion's customer support team. I have also discussed about my agenda of building my own research private CDN with the Inmotion's technical customer support professional and got few directions how to proceed next with respect to website's sub-domain configuration(s) to deploy the same.
So far I never faced any issues with Inmotion Hosting and so I decided to subscribe (or purchase) a new web-hosting plan exclusively for my first CDN subdomain
and choose a data centre situated in East coast. Here is my Inmotion Hosting AMP Customer Account management portal panel:
You can choose ADD SERVICES -> HOSTING to get this below page. You can now choose which plan you wish to purchase. In this case I chose Business -> Launch plan.
Here is the page in which you can see the Data Center option to choose either East or West
(i.e US East Coast Inmotion Data Center or West Coast Data Center).
As one can understand the East Coast data center will be good at serving content faster to regions like EU, Africa, Middle-east and so on. Whereas the West coast data center will be good at server content to Australia, Japan, Korea, Russia, China, Indonesia and so on. Currently my idea is not to make 1:1 replica disaster recovery contingency sites. But instead build a network to address load-sharing, redundancy, and so on. May be in future I may write scripts to extend these features. But for now, I was part of my content served via West Coast data center server, and part via East coast data center server.
But in case in future if I wish to build another CDN node, then in that case I may choose to purchase a web hosting subscription(s) from Bluehost, Host Gator or some one else. Since at the moment there are only two physical data centers in which Inmotion Hosting is deployed. I may even opt for an European Hosting provider or choose a Web Hosting service provider who got their servers deployed in Europe. These days GoDaddy, Bluehost, Host Gator, etc have good Indian presence and business focused towards Indian customers. In that case building one of the CDN nodes on a server situated in an Indian Data Center is not a bad idea either. A server in India can easily cater users situated in Srilanka, Bangladesh, Singapore, Hong Kong, Korea, Malaysia, China, Middle East, Europe and Africa than a server in US to these regions.
When I do a lookup of existing TOFFEE project website IP (hosted on Inmotionhosting West coast Data center server) and do a traceroute I can see the packets are being routed from:
kiran@desktop-i7-5820k:~$ ping the-toffee-project.org PING the-toffee-project.org (188.8.131.52) 56(84) bytes of data. 64 bytes from biz197.inmotionhosting.com (184.108.40.206): icmp_seq=1 ttl=50 time=258 ms 64 bytes from biz197.inmotionhosting.com (220.127.116.11): icmp_seq=2 ttl=50 time=260 ms ^C --- the-toffee-project.org ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 258.182/259.336/260.490/1.154 ms kiran@desktop-i7-5820k:~$ traceroute 18.104.22.168 traceroute to 22.214.171.124 (126.96.36.199), 30 hops max, 60 byte packets 1 192.168.0.1 (192.168.0.1) 1.838 ms 2.296 ms 2.823 ms 2 10.254.0.1 (10.254.0.1) 21.223 ms 21.381 ms 21.448 ms 3 83.20-broadband.acttv.in (188.8.131.52) 21.732 ms 21.881 ms 21.991 ms 4 83.26-broadband.acttv.in (184.108.40.206) 22.209 ms 22.405 ms 22.534 ms 5 83.20-broadband.acttv.in (220.127.116.11) 22.759 ms 22.868 ms 23.026 ms 6 83.20-broadband.acttv.in (18.104.22.168) 23.799 ms 3.957 ms 22.269 ms 7 22.214.171.124.static-Bangalore.vsnl.net.in (126.96.36.199) 22.471 ms 188.8.131.52.static-Bangalore.vsnl.net.in (184.108.40.206) 22.686 ms 220.127.116.11.static-Bangalore.vsnl.net.in (18.104.22.168) 22.907 ms 8 172.31.29.245 (172.31.29.245) 23.836 ms 27.190 ms 27.294 ms 9 ix-ae-0-100.tcore1.MLV-Mumbai.as6453.net (22.214.171.124) 29.271 ms 31.428 ms 34.467 ms 10 if-ae-5-6.tcore1.WYN-Marseille.as6453.net (126.96.36.199) 148.912 ms 149.721 ms if-ae-5-2.tcore1.WYN-Marseille.as6453.net (188.8.131.52) 151.971 ms 11 if-ae-8-1600.tcore1.PYE-Paris.as6453.net (184.108.40.206) 153.705 ms 155.361 ms 155.175 ms 12 if-ae-2-2.tcore1.PVU-Paris.as6453.net (220.127.116.11) 137.402 ms 135.045 ms 134.989 ms 13 18.104.22.168 (22.214.171.124) 137.898 ms 138.948 ms 140.065 ms 14 * * * 15 cr1.lax1.us.packetexchange.net (126.96.36.199) 275.698 ms 267.710 ms 265.135 ms 16 * * * 17 * * * 18 * * * 19 biz197.inmotionhosting.com (188.8.131.52) 267.329 ms 266.286 ms 265.492 ms kiran@desktop-i7-5820k:~$
Now when I do a lookup of some random Inmotionhosting East coast Data center server (ecbiz111.inmotionhosting.com) and do a traceroute I can see the packets are being routed from:
kiran@desktop-i7-5820k:~$ ping ecbiz111.inmotionhosting.com PING ecbiz111.inmotionhosting.com (184.108.40.206) 56(84) bytes of data. 64 bytes from ecbiz111.inmotionhosting.com (220.127.116.11): icmp_seq=1 ttl=44 time=212 ms 64 bytes from ecbiz111.inmotionhosting.com (18.104.22.168): icmp_seq=2 ttl=44 time=212 ms ^C --- ecbiz111.inmotionhosting.com ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 212.712/212.714/212.716/0.002 ms kiran@desktop-i7-5820k:~$ traceroute ecbiz111.inmotionhosting.com traceroute to ecbiz111.inmotionhosting.com (22.214.171.124), 30 hops max, 60 byte packets 1 192.168.0.1 (192.168.0.1) 1.389 ms 1.933 ms 2.492 ms 2 10.254.0.1 (10.254.0.1) 20.449 ms 20.560 ms 30.300 ms 3 126.96.36.199 (188.8.131.52) 20.753 ms 20.934 ms 21.030 ms 4 83.26-broadband.acttv.in (184.108.40.206) 21.312 ms 21.397 ms 21.556 ms 5 83.20-broadband.acttv.in (220.127.116.11) 21.825 ms 22.538 ms 22.633 ms 6 83.20-broadband.acttv.in (18.104.22.168) 22.932 ms 3.653 ms 19.847 ms 7 22.214.171.124.static-bangalore.vsnl.net.in (126.96.36.199) 20.169 ms 188.8.131.52.static-Bangalore.vsnl.net.in (184.108.40.206) 20.364 ms 220.127.116.11.static-Bangalore.vsnl.net.in (18.104.22.168) 20.643 ms 8 * 172.31.29.245 (172.31.29.245) 22.755 ms 24.048 ms 9 ix-ae-0-100.tcore1.MLV-Mumbai.as6453.net (22.214.171.124) 29.003 ms 29.813 ms 31.940 ms 10 if-ae-9-6.tcore1.WYN-Marseille.as6453.net (126.96.36.199) 146.773 ms 148.003 ms 149.098 ms 11 if-ae-8-1600.tcore1.PYE-Paris.as6453.net (188.8.131.52) 151.600 ms 134.586 ms 136.810 ms 12 if-ae-2-2.tcore1.PVU-Paris.as6453.net (184.108.40.206) 135.878 ms 138.370 ms 138.476 ms 13 220.127.116.11 (18.104.22.168) 142.539 ms 142.862 ms 146.890 ms 14 * * * 15 INMOTION-HO.ear3.Washington1.Level3.net (22.214.171.124) 223.095 ms 224.963 ms 225.363 ms 16 * * * 17 * * * 18 ecbiz111.inmotionhosting.com (126.96.36.199) 214.186 ms 215.119 ms 212.394 ms kiran@desktop-i7-5820k:~$
With this analysis you can see the difference in the routing hops in-between both Inmotion servers and the associated ping round-trip latencies. In this case the advantage is not that significant, but yet you can notice its a valuable study to decide how you can architect and build your private CDN Network. Assume if you have more users in the Middle East, it makes more sense to host your CDN node in a good European data center or some trusted middle east data center. Make sure the data center you choose (location where it is situated) is immune to any political instability and communal clashes for obvious reasons and maximum up-time!
For now I may soon subscribe a new Inmotion Hosting web-hosting account (and choose West Coast Data Centre during its subscription/purchase) and going to setup my first CDN node. You can follow my previous updates about be same below.
Here is my live video log of the same:
Thank you, Kiran