Deploy Around The World: Split Your VPS Geographically As Protection
When choosing your hosting partner, it’s important to weigh up the various positives that come with that particular provider’s platform. One of the big advantages to using VPS.net’s infrastructure is that as a global company we provide hosting in many countries and locations around the world, allowing you to globally distribute your server resources easily and simply. Let’s look over some of the reasons that you may want to take advantage of this feature.
Latency
First we have latency: latency is the amount of time it takes a message to get from the sender to the receiver. The further your server is from your clients, the longer it takes data to transfer between them. Knowing where your clients are and creating servers closer geographically to them will reduce the latency that they will see. A number of services you may rely on needs to have low latency, or may simply just benefit from it – game servers are a prime example. VOIP and streaming services operating with lowering latency would give out the message that the service is more responsive to a user.
Redundancy
Another big advantage is redundancy. Previously we’ve discussed making a highly available solution using our platform and given the reasons why this is an added benefit. While that solution specifically required all VPSs to be in the same location, there’s more than one way to build a redundant system or highly available solution. So we’ll have a quick look over some of the methods that can be used to allow your to spread your systems around the world. Note that in these situations, all of the systems will need be running simultaneously rather than in an active/standby set up which can add complexity to the design of the back end systems that you direct your visitors to.
Expand Your Reach
There are a couple of ways of doing this at DNS level. There is round robin DNS which has the DNS servers return multiple IPs for a specific domain name. This can be tuned to have it return the IPs in a different order each time the DNS server responds to a query. Unfortunately what the receiving device does with these IPs is up to their own implementation so which server was used could be a bit random. That said, if you are using your own software for this, such as an app on a smartphone, you can then perform your own Geographical IP look up and ensure your client application uses the IP of the nearest server.
Tools also exist that can enable you to have your DNS server detect the location of your client based on their IP address, and allow you to return the IP address of the closest server to them geographically. This is helpful as it means you can use it to get a latency advantage without having to control what software the user was running on their own system. This can be done through an external provider or through careful and somewhat advanced configuration of DNS servers such as BIND.
If you don’t fancy doing so at the DNS level, you can also use a load balancer service, which does the geo-IP lookup and then forwards users onto a server that is closest to them. Normally this would involve redirecting the initial query to a different domain-name that references the location that the server is based in, such as forwarding users connecting to www.example.com to usa.example.com or eu.example.com depending on whether they were in America or Europe. Again this can be done using commercial service, or alternately the tools exist that you can do this load balancing on your own servers.
While this isn’t an exhaustive list of methods to achieve this goal, it covers some of the main ones, and should hopefully give you an idea of ways you can look at going about achieving the goal of having global redundancy for your systems.