If you need it done right, do it yourself

We want to make Clicky have as little impact on your site as possible. We made some changes to our tracking code and tracking servers recently that have dramatically sped up the experience on your site. However, there's one last thing that could still slow down your site a bit, and that's the fact that we're not using a CDN (Content Delivery Network) to distribute our tracking code.

The advantages of a CDN are clear - our static files would be hosted on servers all around the world so whenever someone visits your site, they pull the code from a server that's very close to them.

But the disadvantages of a CDN are a real drag. First, none of them support SSL with your own domain name. If you want SSL, you have to use their domain. I understand why this is the case, but it's unacceptable to me. Second, none of them support dynamic content (e.g., a PHP script). That tracking code file you put on your site? It's not a static Javascript file. It's a PHP script in disguise. As are countless Javascript files on the internet. There are a lot of advantages to doing it that way, but unfortunately if you want to move that to a CDN, it has to change to a fully static file.

The reason we must maintain this file as a dynamic script is for backwards compatibility purposes. With our "old school" tracking code, every site had their own unique URL, e.g. static.getclicky.com/123.js. "123" in that case is the site ID, and with the magic of Apache's mod_rewrite, it secretly points instead to /js.php?site_id=123. When the site ID is attached to the URL like this, we're only adding one line of code (to automatically call the clicky.init( SITE_ID ) function), so that's nothing fancy - but no CDN will support something like that.

Also, we have our self-hosted tracking code folks to think about. To minimize DNS lookups, static.getclicky.com is the domain used both for hosting the tracking code, as well as logging the incoming traffic data for your web site. If we just moved static.getclicky.com to a normal CDN, everyone who is self-hosting the code would no longer have their traffic logged unless they updated their tracking code (which will be pointing incoming traffic to a new sub-domain).

It would be literally impossible to get everyone who uses our service to update to the new tracking code (both for self-hosted folks, as well as "old school" folks). To maintain backwards compatibility for every single one of our users, we must have more control.

If we had it to do all over again, we would have used a fully static file from the beginning and all would be well. Unfortunately, we not do have access to a time machine.


And your point is...?

We're building our own stinking CDN. We're going to lease a few servers in key parts of the world - One in central or east US, one in Europe, one in Hong Kong, and one in Australia. And we're going to use Geo-Directional DNS so that a request for static.getclicky.com will resolve to the server that is closest to you geographically.

By building our own CDN, we can use SSL with our own domain, we can use dynamic scripts, and we can redirect incoming traffic log requests to the correct servers. All of these are critical components of a CDN for us, and none of them are met with any of the existing CDNs.


We need your help

We're very excited about this, but we need your help. We build our own servers and host them locally, but for this project, that's out of the question.

We need recommendations for companies in Central/East US, Europe, Hong Kong, and Australia, that lease servers with the following requirements:
  • Debian Linux 4 or 5 with full root access
  • Dedicated IP address
  • 4+ GB RAM
  • 2+ TB monthly bandwidth (with reasonable fee to upgrade to a higher level)
  • $250 USD or less per month
  • Decent tech support
  • Web site in English


If you have experience with any such companies in the markets listed above, please leave a comment here. We want to have this fully deployed by the end of the month, so your help is very much appreciated.

Note - for Europe, we're already leaning towards Hetzner, which is located in Germany. We've read quite a few good things about them, but that doesn't mean we won't go with someone else if you think someone else is better.
51 comments |   Mar 01 2010 10:56am





Copyright © 2017, Roxr Software Ltd     Blog home   |   Clicky home   |   RSS