Choosing an Azure datacenter for your service

When building a web-based service that will be used by people all around the world you also have to think about network latencies that are imposed by geographical distances. Your service itself may be very fast, but it won't matter if users on the other side of the globe will experience it with a delay of 1 second.

With Microsoft Azure, the cloud provider that we also use for all of our own services, you can choose from datacenters at different locations to run your service, thus optimizing network distance for your target audience. That is, of course, if you only want to run your service in just one datacenter and not in multiple ones to be able to reach more geographical regions on fast lines. We'll deal with the one-datacenter case in this blog post, since running a web-based service in multiple locations is neither technically simple, neither cheap, but optimizing the user experience for the intended target audience is something even the smallest applications are ought to do. So let's see how we can decide which datacenter to choose!

The methodology described here is the same we used to decide where to deploy our Orchard SaaS, DotNest.

Where are my users located?

First, you have to determine where your (intended) target audience is mostly located, since foremost you want users of your target audience to have the best user experience.

If your service is already running in some form, or you know that your target audience is the same as one of your other service's than you can consult your web analytics to get some exact anwers. This is of course not available if your service is totally new and you don't yet have experience of this sort; then it depends on your business plan to make a guess that's sufficiently educated.

For DotNest we decided that our primary audience is in West Europe and North America. This actually is quite lucky match: since there are a lot of high-speed network cables laid out under the Atlantic Ocean between the two continents (as you can see from e.g. this slightly out-of-date picture) it's actually possible to find a location that will be able to serve both sides of the big pond equally well.

Gathering the tools

OK, now we know where our users are located. But how are we going to determine which datacenter is best suited for them? We'll make some measurements!

Firstly we need to set up endpoints in all of the datacenters so we can use them to measure latency. For this we'll use Azure Web Sites: we won't deploy anything to the websites, the default page that a blank website returns will be enough, since we don't want to measure server performance but only network latency as much as possible. The websites will be just free ones, as the performance of a blank website, in our experience, doesn't differ from or vary significantly more than one on a paid tier, so it doesn't affect latency measurements.

At the time when our measurements were made less datacenters were available on Azure, so we've only made test websites for those DCs, namely the following:

You can use these endpoints for your own tests if you wish of course.

Since websites can go idle, especially the ones on the free tier, it's best if you warm them up by opening them before making any measurements.

Seondly we also need some tool to measure latency of the various endpoints from different locations. For this we've used Alertra's Spot Check tool (see the textbox on the top of the page) that can measure response times from a variety of locations. (Another interesting tool to check the latency from your current locations to all Azure datacenters is Azure Speed Test.)

Evaluating the results

So we've set up all the test sites and have the right tool to measure response times. The next step is get the numbers clear and see which location performs best.

For this purpose we've created a simple spreadsheet that you can use to evaluate the results. As you cen see we've made measurements to all of the websites with Alertra's tool and put them into a table. Then we calculated the average response times for our intended target audience's locations, namely London, Chicago, Los Angeles and Washington DC in the P column. By simply changing the function that calculates the values in that row you can see the numbers for your target audience too.

As one can see from the spreadsheet East US came out as the winner with North Central US being a close second. East US was faster than North Central US in the majority of cases and also a bit faster on average too.

While the proportion of these numbers may be accurate, take the concrete values with a grain of salt. In our experience the actual response times are much better than the ones measured by Alertra's tool. For example from Hungary, where we're located, we can get a response from DotNest within 150ms at worst for cached pages, what is much faster even than what Alertra's tool measured from London (about 500ms)

For DotNest we've gone with the East US datacenter, and so far it seems like a good decision. We've got numerous feedbacks form our users that the service is very fast.

So where are you going to put your application?

zoltan.lehoczky Azure Latency

Other recent posts

The European Accessibility Act came into effect today. Should you care?

With the European Accessibility Act coming effect into today (June 28th, 2025), we've reached an important milestone in (web) accessibility. As the official announcement states:

"The Act mandates that a range of products and services such as consumer electronics (TVs, smartphones, computers, gaming consoles, etc.), ticketing and vending machines, websites and mobile acts, among others, comply with accessibility requirements for persons with disabilities."

An important clarification here is that the EEA "applies to businesses operating in key sectors such as banking, transport, telecommunications, e-commerce, and consumer electronics [...] for new products and services introduced after 2025."

Now, you might think that "OK, but my service has been running for years and I know my customers, do I really need to worry about this?". Of course, you should! New products/services launching under the effect of the EEA have a competitive advantage of catering to a wider audience, including those not directly affected, but caring about (or taking care of) those who are.

Since Lombiq is a web software/services agency, we'll focus on one particular aspect of accessibility: web content accessibility. We started rewriting all our websites 2 years ago and web content accessibility has been a guiding principle of our UI/UX design from the very beginning (you can also check our case studies). We can't really put any metrics behind its usefulness and we didn't care about the ROI; our open-source DNA compelled us to do so to make sure that the knowledge we share is as widely available as possible.

But: Making your website accessible is not a one-off effort - you also need to make sure that your website remains compliant. Fortunately, neither did we or you have to start from scratch with all this: Compliance with EEA is covered by compliance with WCAG 2.1 Level AA (at the time of writing this article) and there are a multitudes of tools to help you in this effort.

That's why we developed a component of our UI Testing Toolbox library to easily integrate automated UI tests into any ASP.NET Core application that allows you to verify WCAG-compliance. Check out our sample UI test - it really is this simple! We continuously run such tests in our own CI workflows, as well as in our clients' projects.
Let us help you help us all!

Happy complying and compiling!

Migrating the homepage of the Orchard Core SaaS DotNest to Orchard Core

Following the migration of lombiq.com, Git-hg Mirror, Hastlayer, and Orchard Dojo from Orchard 1 to Orchard Core (and also the redesign of lombiq.com and Orchard Dojo), we had only one site remaining that was still running on Orchard 1: DotNest.com. While you could create Orchard Core sites on DotNest for years, until now, the DotNest website itself still ran on Orchard 1.This marks the end of an era. Now all of our sites are running on Orchard Core, which offers better performance, modularity, and development experience than Orchard 1.Furthermore, we fixed some web accessibility problems on the site and added UI tests to make sure nothing breaks and affects you as a user.We utilized many of our open-source modules, including Lombiq Privacy, Lombiq Helpful Extensions, and utility modules like Lombiq NodeJs Extensions. For the themes, we built upon the Lombiq Base Theme. Lombiq Helpful Extensions played a crucial role in this project (and in the other ones too), as there was a significant amount of content to migrate. Leveraging the Orchard 1 Recipe Migration feature, we transferred Orchard 1 content items—such as blog posts, pages, and even users—to Orchard Core. Additionally, we retained the search functionality on the Knowledge Base page, now powered by Elasticsearch and the commenting on blog posts with Giscus. Of course, while working with these modules we always make sure that any enhancement that comes to mind is added to them and any bug that we find is patched. So, the wider Orchard Core community benefits from each of these projects too.This is a migration, where if you notice nothing it’s great because we migrated a lot of backend code and the goal was to keep the functionalities of DotNest, without breaking or changing anything.Migrating to Orchard Core not only brought performance increases but also added quality of life and security features, like two-factor authentication. The new foundation of the site opened new possibilities for us to bring you a better version of DotNest.With DotNest now running on Orchard Core, we’ve completed our journey of modernizing all our sites. This migration wasn’t just about keeping up with technology—it was about ensuring a smoother, more secure, and future-proof experience for our users. Although most of the changes were behind the scenes, the result is a faster, more reliable DotNest that preserves all the features you rely on while setting the stage for future enhancements.Are you still running Orchard 1 apps? Contact us to see how we can help you migrate it to Orchard Core too.