Tag Archive: CDN


In addition to our commitment to regularly bringing exciting new and improved features to our easy-to-use room booking system, MIDAS, we also work hard behind the scenes to constantly improve the overall speed and performance of both our software and infrastructure.

In this article, we’ll take a closer look at some of the performance improvements we’ve introduced over the past year, and some of the performance improvements you can look forward to in the very near future!

Caching and CDN

CDN stands for “Content Delivery Network”, and is a means whereby web content – such as an image – is stored on multiple servers around the world. When the image is requested by a visitor’s web browser, rather than the image being served from a single origin server (which may reside in another country), it is instead served by the nearest/fastest server in the CDN network. The result is significantly improved loading times for content served via a CDN.

Back in May last year (2018) we introduced CDN support for static content for all our cloud-hosted MIDAS customers.

As a result, we quickly saw performance improvements and reduction in load times of customer’s hosted MIDAS systems by up to 67%! You can read more about this in this blog post.

Improved DNS

DNS stands for “Domain Name System”, and can be considered as a “phone book” for the internet. When you enter a website in your browser’s address bar, a DNS system is used to look up the corresponding server on the internet that the URL you’ve entered resolves to, allowing you to then access the site.

This week, we’ve migrated our DNS to a distributed/cloud-based system. Previously, our DNS was provided by our own web servers, so for example, if you wanted to access our blog (blog.mid.as) the DNS system would first have to make contact with mid.as to find out the location of blog.mid.as.

With our new distributed/cloud-based DNS system, DNS is now handled in a similar way to the CDN system outlined above – that is to say that when you enter a URL/sub-domain for any part of our site, the DNS is resolved on a server geographically close to you.

As a result, we’re seeing DNS lookup times for our site up to 5 times faster than previously!

The above images (from dnsperf.com) show how quickly the mid.as domain would resolve from various locations around the world previously (left image) and again now (right image)

XML vs JSON

What and what?! XML stands for eXtensible Markup Language. JSON stands for JavaScript Object Notation. Both are methods for storing and transporting data, with JSON being the newer of these two methods.

As we’ve been developing MIDAS for well over a decade now, XML has been the format we’ve used for the main settings file within our software for the majority of that time (as JSON wasn’t really around a decade ago!). The downside of using the XML format particularly when used in conjunction with Perl (the language which MIDAS is written in) is that it tends to be a little slow and clunky.

That’s why starting with our next software update, v4.22, we’ll dropping the main XML settings file in favor of a JSON settings file instead. In our own benchmark testing, this simple change has resulted in improved load times of ~10ms per request, which may not sound a lot, but is actually quite noticeable.

As a result of this upcoming improvement, self-hosted customers will need to ensure that the JSON Perl module is installed and available on their MIDAS system in order to be able to update to v4.22 when it becomes available. Instructions of how to do this may be found in our How to install Perl modules KB article. Cloud-hosted customers don’t need to worry about this, as we’ve taken care of it!

New Content Delivery Network (CDN)

May’s been a busy month here at MIDAS HQ!

Not only have we migrated Certificate Authorities to Let’s Encrypt, but we’re also been testing a new Content Delivery Network (CDN) feature in MIDAS.

To explain what a CDN does, imagine viewing a photograph online. That photograph will be stored on a web server somewhere. If you’re in the UK and the server where the photograph resides is located in Australia, it will take your browser longer to establish a connection and download the image from the other side of the world than it would do if the server was located in the same country as the person viewing the image. Now, we may only be talking of a few fractions of a second longer, but if you’re viewing a webpage containing several photographs, that can soon add up!

A Content Delivery Network vastly improves performance by storing (or “caching”) a copy of the photograph from the source server on multiple servers all around the world. Then, when a viewer requests the photograph, the CDN serves a cached copy of the file from whichever server is geographically closest to the viewer. This greatly improves the load time for the viewer, and also reduces the load on the original server (as the photograph is served from the CDN “cache” instead).

As a CDN “caches” a source file/webpage, it is only suitable for “static” content which doesn’t change frequently (for example, images, Javascript, Cascading Style Sheets, downloads, etc). “Dynamic” content (i.e. content which changes frequently/upon each visit, files must still be served directly from the origin server, rather than via the CDN.

In MIDAS v4.18 we unofficially introduced support for serving static resources from a CDN (CloudFlare), and this has been automatically enabled for all MIDAS trials and for all new cloud-hosted customers since the start of April, whilst we closely monitored its impact and effectiveness.

As our CDN trials proved effective and exceeded our expectations, throughout May we’ve been engaged in a phased roll-out of the CDN for remaining cloud-hosted customers, and we’re pleased to announce that all cloud-hosted MIDAS systems now have CDN support enabled.

We’re currently seeing nearly 90% of all requests for static resources being served directly from CloudFlare’s global CDN network, and performance improvements and reduction in load times of customer’s hosted MIDAS systems of between 13% – 67%!

We’re sure you’ll appreciate these performance improvements, which are all part of our ongoing commitment to provide the best possible service for our customers! …and we’ve more improvements and enhancements in the pipeline too!