3

I have a web app that is latency dependant, and I would like the app to be hosted from multiple locations so that there is low latency, specifically in the U.S. East, the U.S. West, and Europe. Ideally, I would just maintain the app and it would be automatically distributed to different locations, and users would be directed to th server with the lowest latency for them. Is there an easy way I can do this without having to deal with more complex services like DigitalOcean?

I'm assuming there is a lot of information about this, but I'm not sure what the correct terms to use are so I can't find much. Thanks!

  • What do you use for DNS? Self hosted (BIND)? If you use a service, what is the service? – user2320464 Sep 6 '16 at 19:13
1

If you are asking if it is easy the answer is no. There are a wide range of providers out there that can do this but what you are in effect after is cloud service providers.

I will answer based on my experience in doing this.

I will need to make a few assumptions here based on your question...

  1. You have an understanding of vertical and horizontal scaling.
  2. You are aware of the various cloud service providers out there.
  3. You have some level of experience in server administration, DNS management, and network management.

Step 1
The first step is to decide on a hosting provider. I can not make that recommendation to you as it depends on your unique circumstances but the bet option is to review the various cloud service providers out there and find one that meets your needs for support, costs, and service availability.

Step 2
You need to decide on the geographic regions you need to be hosting in. Based on your question I will be assuming these regions to be US-EAST, US-WEST, and EUROPE.

Step 3
Begin hosting application servers in each region behind a load balancer. How many servers you have, how they are coupled, all depends on how decoupled your application is and what backend processes it requires away from the primary application and web servers. Now you will have servers hosting your application in each region you have defined and the servers will be located behind a load balancer.

Step 4
Configure laatency based routing DNS through a DNS service provider to route your domain name configured with each load balancer in each region. At this point when you connect to the domain in your web browser you will be routed to the load balancer with the least latency to your local network.

Some Things to Consider

  1. Distribution of code to your various servers. There are thousands of different ways this can be done, my personal preference is to use Git as a code repository and when the code is updated bring one region down at a time and set the servers up to get the latest build from the Git server when the server comes online.

  2. This is just one way to do this and how it is done depends very much on your application, its requirements, its designs, and the logic behind how it works. If you don't have much experience with high availability application hosting and SaaS systems then I would strongly recommend you get someone with that experience to work with you on your specific project.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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