5

I have a client that provides an online API service that requires 100% uptime but has been facing connectivity challenges from ISPs.

They started out with one ISP (ISP-A), who of course when there was a fiber cut or the ISP had issues, business went down and my Client's APIs were not available. In frustration they got rid of ISP-A and got another ISP (ISP-B) who offered 2 last mile connections i.e. 2 fiber connections from different ISPs. This worked until ISP-B started having problems of their own.

As I write this, ISP-B is down and we had to get yet another ISP (ISP-C) to provide us with a fixed connection and Static IP addresses and then we had to update the DNS records to reflect the new IPs. We've done this about three times this month and not only are we tired, but the API clients aren't happy.

I've made some research and it seems that there are two ways to solve this.

Retain ISP-B and ISP-C as our two ISPs and subscribe to managed Dynamic DNS service companies who will check for us when ISP-B is down and update our DNS records to point to ISP-C

Second option is to get an AS-Number and have it advertised with two or more ISPs. I gather we have to get an AS-Number from Afrinic (business is located in Africa) who run the service on behalf of ARIN and there is an annual subscription fee? I gather we also might be required to buy specialized equipment to support the BGP stuff?

What is the best option to take in this scenario considering complexity, cost and the fact that its a small business without the capacity to hire experienced network architects. When I talk to the ISPs they aren't really providing me with the best solution and seems they have vested sales interests. For example do ISPs charge to carry my AS-Number on their networks or do I only have to pay for bandwidth services. For Dynamic DNS I don't know which package to get as most websites are overly complicated and I am not sure which service I need really.

The only requirement is to ensure that the APIs are accessible 24/7 with no downtime attributed to connectivity issues.

2 Answers 2

5

DynDNS

Using DynDNS is not a viable solution for your usecase since its primary use case is mapping a dynamic ip address to a dns record. If you have two Upstreams with different ip subnets you would need to edit ip address or nat confiuration on failure which could be scripted but is prone to error.

GSLB

Another way of using DNS would be GSLB, which utilizes DNS to load balance and use a keep alive method to check for availability. Since DNS is bound to TTL you will always encounter a certain downtime since clients will cache the ip address to fqdn mapping and it will need to time out so it might be the wrong solution for you.

BGP

Using BGP to solve the problem would be the optimal solution. You would have an AS and your own ip address range which you advertise to both providers. If you encounter issues with one provider the peering between your local router and your isp would time out and traffic will automagically be routed to your other provider (I will not get to technical, there is still more to it)

Considering Complexity... BGP is not complex to set-up in this scenario. You would still need an experienced network engineer to ensure best-practice configuration but your scenario does not require much BGP knowledge.

Considering Cost... Annual costs for AFRINIC & additional costs of ISP peering with you. You would need router(s) to be BGP capable but nowadays there are even small HP/Cisco/YouNameIt routers that are capable of BGP...heck even Sophos UTM is BGP capable. :)

Hope I could help... I tried to be generic and not go too much into the details, drop me a note if you need to know more.

8
  • Thank you for laying to rest my confusion on dynamic DNS services. That won't work for me. What I actually had in mind was GSLB which I heard it for the first time in your post. After some googling, GSLB though looks like a slipper slope and so I end up with BGP. Here's the thing, the major client's connecting to the APIs we've exposed have AS Numbers so I guess we've really got no choice if we are to be able to provide them with smooth service. Thanks for the help
    – lukik
    Commented Oct 15, 2015 at 8:33
  • Many ISPs will allow you to use a block of their IPs to advertise through both themselves and the second provider. This conserves free IP space at the expense of your own future portability
    – stevieb
    Commented Oct 15, 2015 at 14:01
  • stevieb got a point. If portability is not an issue you could use a private AS provided by the provider. Keep in mind that both your providers need to accept this solution, so communicating what you exactly want is crucial.
    – kaisero
    Commented Oct 15, 2015 at 15:34
  • Thanks @stevieb for the hint. We might be forced to do so coz I have a feeling AFRINIC will either cost too much or they might not have free IPs to dish out or the process might take too long.
    – lukik
    Commented Oct 15, 2015 at 17:05
  • 1
    An AS Number is trivial to acquire, but IP address space, not so much.
    – stevieb
    Commented Oct 15, 2015 at 17:47
2

when you speak about Dynamic DNS you actually speak about fail over on the level of services you need to be accessed in your site via internet (published mail server , web server or any other application ).
and when you speak about BGP you actually speak about fail over on the level of WAN connectivity (between main site and branches).

any way you must get that

  • dynamic DNS is perfect choice for residential customers and small businesses, but the draw back is that , all the time you must have internet access to the company that host your DNS which something like google or amazon. so RUN DDNS will requre using internet from certain ISP B ,C or even A (NO WAY).so you will bay twice , first for DDNS host company and second for ISP to get internet.
  • also run BGP as a dynamic routing protocol between your ISPs is perfect to optimize your WAN connection and make use of the best available connection ,but the draw back as you said you don't have equipment that support BGP so you need to bay such devices.
  • you need also consider that which is best ,access your resources via internet or via WAN based on connection quality and security

so for me running dynamic routing protocol over two ISPs is better than use DDNS , because the only thing you will bay is equipment able to run BGP but it will be once and for all instead of monthly fees for internet and DDNS hosting.

and also WAN connection is more secured and link speed and quality will be better than internet

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.