[dns-operations] opting in to stupid DNS tricks
Luke S Crawford
lsc at prgmr.com
Mon Feb 21 21:44:34 UTC 2011
Simon Lyall <simon at darkmere.gen.nz> writes:
> You will note that these guys problem don't own their own IP space,
> they just get from their providers.
>
> Lets say they have enough customers around the world that they decide
> to speed up their service. So they buy a machine in Australia, Europe,
> Singapore and the UK and run some caching software (varnish say) on
> them.
>
> Cost $1,000 / month
>
> and then they setup GSLB in-house or buy from a provider [1] :
>
> Cost $0 - 1500 / month [2]
>
> and it pretty much just works.
>
> With anycast on the other hand the big problem is that besides the
> overhead complexity of implementing it [3] I can't just buy a "Anycast
> Server" from a provider via a web-form and a credit card for
> $100-$250/month[4].
But why not? I'm an amateur here compared to a lot of the
guys I see posting on this list, and it'd be a while before anyone
ought to trust me with anything like this for anything that would
be, uh, expensive if it broke, But sometime last year during a "startup
weekend" event, I did the numbers and a plan for such a system.
My architecture was to have a central cluster of HTTP redirect servers
(which would preferably be anycast; anything else and you have a
significant 'first hit' delay for people on the other side of the world.)
The idea being that you would point an a record for yourdomain.com at my
server, and my server would http redirect your customer to
closestlocationtocustomer.yourdomain.com, a server you owned, where
closest would be defined by me comparing the requesting IP (of the http
request, not the dns request) to my copies of the routing table or
something like that.
My understanding is that this is how most anycast HTTP setups work;
you don't anycast it all, just the http redirect server that sees
a client once per session.
Just like in your example above, my customer would need to maintain
servers at various points around the world.
As a bonus, I'd build some kind of health check in so that
clients only got sent to your 'up' servers. (this would
be my primary selling point, I thought, for the low end; people
who are unlikely to have servers all over the world and/or
people who are likely relying on cut-rate dedicated or VPS
solutions.)
But I ran the numbers assuming a $10/month fee, and it looked
rather higher margin than my existing products, if I could
get enough people interested to amortize out the labor costs.
I mean, it has some significant fixed costs, but the per-customer
costs are nothing but support, and I know all about scaling
down support expectations with price.
Now, the system would be run by a guy who has never administered
a production anycast system, so I don't think you'd want to use
it on "real websites" at least until I've built a history, and I was
pricing it accordingly. I abandoned the idea mostly because
the sort of people who want me running their anycast system are
probably too cheap to have multiple servers around the world;
people who can afford that sort of thing probably can afford
to pay someone who has already learned the tricky bits of running
anycast.
Also, it was hard to explain the idea to the webapp developers
at startup weekend, which I felt was something of a vote of no
confidence.
But, considering the proliferation of VPS providers, and the
proliferation of semi-serious but micro-budget businesses running on
those VPS providers, perhaps I should take another look at this project?
One can have small servers all over the world these days, for very
little money.
But, what I'm trying to say is that other than the skilled personnel
(which could be amortized over many customers) I don't really see
what the expensive part of such a service is. Multiple BGP capable
locations is something I already have (though all mine are within
100 miles or so, making it less, ah, global.) and I'm /tiny/
> I've gone from semi-commodity product to a sales guys, special network
> setup etc. Now *maybe* I can do this for $1000/month/pop but I really
> doubt it.
I don't see anything about an anycast http redirector that
redirects based on client IP that is inherently expensive,
I mean, besides the fact that it's damn tricky, and it's going to
be hard to figure out initially. But that scales. I mean, the
sort of people you usually sell this to seem to /want/
sales guys, but I don't see any /technical/ reason those are
required.
I kinda have a hard time believing that such a system doesn't
already exist, one where you can whip out your credit
card, type in your servers and run. But I don't know of one,
so maybe it doesn't? but it doesn't seem to me like there is
anything making this solution any more expensive than a system
based on feeding the client a different dns answer based on
resolver location.
--
Luke S. Crawford
http://prgmr.com/xen/ - Hosting for the technically adept
http://nostarch.com/xen.htm - We don't assume you are stupid.
More information about the dns-operations
mailing list