Nice. For tutorials like this it would be nice to see more details on the "how" of each step. For example:
"We setup DNS info to point here (both NS1 and NS2..."
That's great, but it would be nice to see:
"Using the geodns web-based configuration tool, we setup DNS info to point here (both NS1 and NS2..."
or
"Running <insert full command line here including tool and all options used here> on <insert environment here>, we setup DNS info to point here (both NS1 and NS2..."
or
"By editing /etc/<file> on the <some environment>, we setup DNS info to point here (both NS1 and NS2..."
In other words specifics are always really great to include.
But still this was a really great writeup, not just for the overview it gives of one lightweight approach but for the comments it has kicked off.
I think Genius and DigitalOcean = a match made in heaven. The quality would go from "the best" to "untouchable", if the comments were value adding. Imagine being able to dive deeper into any piece of the tutorial you wanted.
I was planning to publish a post with literally the same title as this one later this week (annoying coincidence as I guess mine will now be largely ignored - maybe I should wait a few weeks to let this space calm down, I'm not sure) with some in-depth step-by-step explanation - so watch out for that :)
This comment is a model of quality feedback. It shows appreciation, not just shallow bookending, and gives detailed improvement examples. I know this is off topic a bit, sorry.
> Step 1: Order a DNS instance from Digital Ocean.
This also feels lacking to me. How does one order a DNS instance from DO? I can tell from the icon that it has something to do with CentOS but I don't see any sort of DNS server under their available applications or images for a one-click install.
rolling your CDN on VPS instances isn't exactly cost-effective, and is probably more of an exercise for fun than anything else. Unless you need features out of your CDN that you can't get from existing CDN providers, I don't really see the point.
also kind of unusual that this blog post is by the president of MaxCDN.
kind of unusual that this blog post is by the president of MaxCDN
It makes a lot of sense for the president of MaxCDN to make a blog post like this. Bob the developer decides to learn about how CDN's work and happens upon this blog post. Cool, Bob just built his own mini CDN network for fun. Now Bob understands that his CDN, though a fun weekend project, is definitely not production ready. What does Bob do when he needs a CDN he can put into production? He goes to the guys that established themselves as authorities on the topic: MaxCDN.
Actually, with DigitalOcean, you get quite a lot of bandwidth for the price. Additionally, their transfer limits are high (1TB for the $5 instances), and overage is only $0.02/GB. If you combine this with something like Route 53's anycast latency-routed DNS, it can work very well.
hey. thanks for the feedback. Yeah, it's more of an exercise for fun but it can also be done w/ high bandwidth dedicated servers as well. It's good as well if it's heavily dynamic stuff that needs really low latency and you need to execute something custom on the edge. Otherwise MaxCDN.com or a similar service scales better. I'm looking forward to building more custom stuff into our edges at MaxCDN.com so feel free to throw out any ideas. This was used to create a presentation for a docker meetup.
I'm more than a little bit concerned that the article doesn't point out the serious risk of running a single DNS server for the records.
I get that they're trying to keep things simple for their demo, but unsuspecting folks following this guide are in for quite a shock when their GeoDNS is taken out by a single physical server fault.
This is similar to the process I used to build http://gcdn.org/ which I and a few clients + friends use on multiple projects. We used to use RR but GeoDNS has proven to be awesome and reliable. Full NS control makes it easier to do rolling upgrades or maintenance too. Excellent write up.
I would highly recommend Varnish using S3 as a backend origin. Add to that a few 100TB.com dedicated server and you have an extremely cheap CDN with pretty decent bandwidth and minimal maintenance.
CDNs have the advantage that they control more of the stack so can do more precise routing and have more edge nodes in more places. However, under the right circumstances, you can take the above quite far before a real CDN becomes necessary.
100TB.com specifically forbids using their service to create a CDN in their ToS[0].
9. Acceptable Use/Illegal Activity
d. We strive to maintain a high level of service, and a lot of
customers depend on our high standards of quality. As such, we
will not provide Services to those that are using our Services
for:
vii Using the Services for a content delivery network or content
distribution network (CDN). An authorized CDN network offered
through 100TB is accepted. Special requests to use the Services
to run an unauthorized CDN network may be approved on a case-
by-case basis. Failure to comply with this policy will result
in termination of this TOS, and you will not receive a refund
of the Fees.
I'm wondering if it would be useful to plug groupcache into this. It's what Google uses for serving downloads (e.g., Chrome downloads). Inherently distributed and self-balancing. I might give that a try.
Looks promising, but might need to add Doozer to the stack as groupcache has an issue with maintaining a list of peers where the cached data is distributed. Definitely worth looking into though.
it can be quite a lot. you can test using a CDN or a setup like this and the tools over at www.webpagetest.org (from Patrick Meehan - who is awesome) from different locations.
[+] [-] natch|11 years ago|reply
"We setup DNS info to point here (both NS1 and NS2..."
That's great, but it would be nice to see:
"Using the geodns web-based configuration tool, we setup DNS info to point here (both NS1 and NS2..."
or
"Running <insert full command line here including tool and all options used here> on <insert environment here>, we setup DNS info to point here (both NS1 and NS2..."
or
"By editing /etc/<file> on the <some environment>, we setup DNS info to point here (both NS1 and NS2..."
In other words specifics are always really great to include.
But still this was a really great writeup, not just for the overview it gives of one lightweight approach but for the comments it has kicked off.
[+] [-] acoyfellow|11 years ago|reply
[+] [-] joesavage|11 years ago|reply
[+] [-] fred_durst|11 years ago|reply
[+] [-] davidcelis|11 years ago|reply
This also feels lacking to me. How does one order a DNS instance from DO? I can tell from the icon that it has something to do with CentOS but I don't see any sort of DNS server under their available applications or images for a one-click install.
[+] [-] mxpxrocks10|11 years ago|reply
[+] [-] xxdesmus|11 years ago|reply
Disclosure: yes, I work at CloudFlare but the previous details are simply facts.
[+] [-] kawsper|11 years ago|reply
[+] [-] tszming|11 years ago|reply
[+] [-] kbar13|11 years ago|reply
also kind of unusual that this blog post is by the president of MaxCDN.
[+] [-] Oculus|11 years ago|reply
It makes a lot of sense for the president of MaxCDN to make a blog post like this. Bob the developer decides to learn about how CDN's work and happens upon this blog post. Cool, Bob just built his own mini CDN network for fun. Now Bob understands that his CDN, though a fun weekend project, is definitely not production ready. What does Bob do when he needs a CDN he can put into production? He goes to the guys that established themselves as authorities on the topic: MaxCDN.
Content Marketing 101: http://www.kalzumeus.com/2012/02/09/why-i-dont-host-my-own-b...
[+] [-] pushrax|11 years ago|reply
[+] [-] mxpxrocks10|11 years ago|reply
[+] [-] akerl_|11 years ago|reply
I get that they're trying to keep things simple for their demo, but unsuspecting folks following this guide are in for quite a shock when their GeoDNS is taken out by a single physical server fault.
[+] [-] mxpxrocks10|11 years ago|reply
[+] [-] mxpxrocks10|11 years ago|reply
[+] [-] edoceo|11 years ago|reply
More notes on GeoDNS http://edoceo.com/howto/geodns
[+] [-] umsm|11 years ago|reply
https://gcdn.org/jquery/1.8.0/jquery.js
[+] [-] danielrhodes|11 years ago|reply
CDNs have the advantage that they control more of the stack so can do more precise routing and have more edge nodes in more places. However, under the right circumstances, you can take the above quite far before a real CDN becomes necessary.
[+] [-] RKearney|11 years ago|reply
[+] [-] mxpxrocks10|11 years ago|reply
[+] [-] AdamN|11 years ago|reply
Including Africa (http://kili.io) where I'm at.
[+] [-] mxpxrocks10|11 years ago|reply
[+] [-] mxpxrocks10|11 years ago|reply
[+] [-] muriithi|11 years ago|reply
[+] [-] ColinCera|11 years ago|reply
[+] [-] xin3td|11 years ago|reply
https://github.com/ha/doozerd
[+] [-] mxpxrocks10|11 years ago|reply
[+] [-] fakeyfake|11 years ago|reply
http://blog.kapeli.com/a-poor-mans-cdn
[+] [-] mxpxrocks10|11 years ago|reply
[+] [-] jpmonette|11 years ago|reply
[+] [-] mxpxrocks10|11 years ago|reply
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] Oculus|11 years ago|reply
[+] [-] mxpxrocks10|11 years ago|reply
[+] [-] ksec|11 years ago|reply
[+] [-] fmela|11 years ago|reply
[+] [-] mxpxrocks10|11 years ago|reply
[+] [-] mxpxrocks10|11 years ago|reply
[+] [-] adarshr|11 years ago|reply
[+] [-] Kudos|11 years ago|reply
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] lingben|11 years ago|reply
full disclosure, I have no business or personal connection to them
[+] [-] Kudos|11 years ago|reply
[+] [-] leapius|11 years ago|reply
[+] [-] hiddenpearls|11 years ago|reply