1

I have a SaaS product hosted on AWS and I would like to have the same infrastructure hosted on Rackspace (or any other host) to offer a high availability (eventually load balancing) for my users in case AWS becomes out.

Someone has any tips to do it? The best way is use a DNS load balancer?

Thank you all in advance

PH.
  • 123
  • 1
  • 3

2 Answers2

4

A variety of methods can be used to achieve this. Usually a combination of DNS load balancing and load balancers is the approach that is applied. Allows you to have multiple layers of redundancy, my simple flow diagram:

User -> DNS Response (multiple IPs, makes sure you get a response from a respective cloud provider) -> Load Balancer (such as ELB or HAproxy, makes sure your cloud servers are up) -> cloud server

simple example of a walkthrough: http://blog.rightscale.com/enterprise-cloud-strategies/dns-load-balancing-and-using-multiple-load-balancers-cloud

A solution I have also used before is using CDN to handle DNS responses and dynamically manage traffic across multiple data centers or cloud providers. Akamai does this using global traffic management: http://www.akamai.com/html/solutions/gtm.html

edit: I did forget to mention that with DNS load balancing can provide some interesting behavior based on how upstream servers cache DNS responses, sometimes ISPs (cough comcast, at&t cough, they have gotten better) and other client DNS servers don't follow TTLs you define (the blog I linked mentioned this, but I can't hammer this home enough). Usually this isn't a major problem, but something to consider if you actually run into an issue.

  • Thanks! That was exactly I was looking for. Can you explain a little bit more the CDN approach and why you are not using anymore? I don't think I get it.. – PH. May 31 '13 at 23:51
  • It was at a previous job so I just don't currently use it. The CDN approach can be cost prohibitive, Akamai is good at what they do but are expensive. A CDN is basically a cloud proxy (sits in front of your sites) that can do caching, routing optimization, redundancy, and other services depending on the CDN you are using. Here is high level overview of akamai's cloud services: http://www.akamai.com/dl/brochures/Cloud_Computing_Brochure.pdf and for site failover (which combines with GTM for better redundancy): http://www.akamai.com/html/technology/products/site_failover.html – HypnoticPancake Jun 01 '13 at 03:33
-1

With AWS itself you can achieve high avaibility , there are Regions and Zones in AWS , So if you deploy your product in different region you can spread your product geographically and in Regions you have different zones , Zones are as good as different datacentre.

 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html

You can keep a replica of your environment in AWS over Rackspace and DNSMADEEASY can helps you in failover.

 http://www.dnsmadeeasy.com/blog/dns-failover-one-trip-shouldnt-take-you-down/
  • 2
    "Zones are as good as different datacentre" --- except when they're not, as happened with last year's big outage, which affected nearly the entire us-east-1 region. They've supposedly made changes to prevent this. Also, you're not really answering the question here. He's asking about load balancing between providers. – EEAA May 31 '13 at 03:14
  • Forget my last two sentences - I see you did actually address that part of the question. However, the first part of my comment is still accurate. – EEAA May 31 '13 at 03:30
  • Thanks for both replies. Actually I was looking for have at least two different providers like you suggest on the 2nd part of your response. – PH. May 31 '13 at 23:48