-2

My web application requires that clients point their A records for their domains to an IP address that I tell them to point them too. Later, when I need to scale from 2 servers that I currently have to 4 or 8 servers, how can I avoid having to have them change where they point their A records to? Also, what if I have to change datacenters?

orokusaki
  • 2,693
  • 4
  • 28
  • 42
  • Whatever reason you have for asking people to point their domain's A record to your system is **wrong**. Fix your application, not their DNS. – John Gardeniers Nov 30 '12 at 06:05
  • @John Gardeniers - ha, wrong huh? So, hosting somebody's root domain is wrong then. I had better just cancel the whole thing then because of your assertion. Maybe you would care to clarify? – orokusaki Nov 30 '12 at 11:54
  • You're talking about an application, not domain hosting. The two are and always should be, separate. – John Gardeniers Nov 30 '12 at 23:34
  • @JohnGardeniers - I never said anything about hosting a domain (which would be a function of a DNS server), rather a website, which will be served up at a domain. That's how the internet works these days :) Can you explain in any amount of words why having my application serve up an HTTP response at `./` (i.e., without the `www`) is a bad thing? – orokusaki Dec 02 '12 at 23:37

3 Answers3

8

The simple answer is that you need to manage their DNS. Get a hosting account from a DNS provider or gulp make your own DNS service.

The simpler answer is to tell your clients to own up to the responsibilities of having an IT infrastructure and just change their darned DNS records.

The harder / crazier answer is to have your clients CNAME their A record to a record that you own and then parse requests and load balance as necessary.

Wesley
  • 32,320
  • 9
  • 80
  • 116
  • Thanks - do you know of a good, hosted DNS service? – orokusaki Nov 29 '12 at 17:55
  • Amazon's Route53 is great. – ceejayoz Nov 29 '12 at 17:58
  • @orokusaki Product recommendations are subject to the withering winds of time, but at this moment DynDNS and Zonomi are great. They're not, to my knowledge, a DNS reseller so I don't think you can give clients a control panel that is restricted to their own domains. You may want to look at getting a very resilient cloud server, putting a control panel on it like WHM/cPanel and then only using it to manage client DNS. Then they can log in and manage their own records, but so can you. – Wesley Nov 29 '12 at 18:01
  • 1
    Did I just recommend hosting DNS on a single cloud node using a hosting control panel? I think I need to turn in my SyAdmin card. =( – Wesley Nov 29 '12 at 18:02
4

I would think the best solution would be for you to use some sort of load balancer, and have your clients point to that balancer's IP. Then you could scale as large as you want behind the load balancer and the client is none the wiser.

As far as changing datacenters, unless you lease your own netblock from ARIN you will always be at the mercy of whatever IPs are available at the chosen facility.

  • +1 thanks - do you know if this is possible without a load balancer, like per se with a cisco 5510 type firewall? – orokusaki Nov 29 '12 at 19:43
2

One possibility is to point to a CNAME instead.

If that's not an option, then you can give a load balancer the IP and put your web servers behind it.

If you change data centers (and presumably IP blocks) then there is no way to avoid having your clients change the DNS records.

longneck
  • 22,793
  • 4
  • 50
  • 84