Microsoft Azure (opens in new tab) is an integrated collection of cloud platforms for building, managing and supporting applications and services.
Solutions available cover hosting, backup, cloud computing, application development, e-commerce, monitoring, data analysis, and more.
Microsoft Azure also includes a Content Delivery Network (CDN (opens in new tab)). Perhaps surprisingly, this isn't solely based around Microsoft's own edge servers, but also offers three plans using other CDN networks: Standard Akamai, Standard Verizon, and Premium Verizon.
- Want to try Microsoft Azure? Check out the website here (opens in new tab)
One major benefit of using Azure is its integration with Microsoft technologies. You can quickly deploy it alongside other Azure storage, web apps or media services, for instance. The CDN can be managed from PowerShell or .NET, a big plus for many developers and sysadmins, as well as via a REST API and Node.js.
Azure's Standard plan covers the basics: custom domain name support (cdn.mydomain.com), HTTPS support, HTTP/2, geo-filtering (block access by country), load balancing and DDoS protection.
One not-so-common Standard Verizon addition is "asset pre-loading", which enables specifying objects to be cached before they're requested. The first request from each region then gets the file immediately, without having to wait as it's fetched from the origin.
The full-fat 'Premium Verizon' plan extends the CDN with real-time stats and alerts, advanced HTTP reports, token authentication (hotlink protection) and a more powerful rules engine to change cache or header settings, redirect URLs and generally play around with content delivery. Although other CDNs typically offer some of this functionality as standard, Microsoft's implementation is impressive.
Getting a full picture of the CDN's capabilities proved more difficult than we expected, as even some basic information isn't clearly presented on the site. Curious about the number of PoPs available with each network, for instance? That's not disclosed for the Akamai plan, Microsoft's own figures are only mentioned on the Locations page (opens in new tab) (118 PoPs across 100 cities), and the company recommends you ignore these, anyway, and try each of the plans to see which works best.
If you're interested in Azure, then, we'd recommend you start with the official CDN Comparison page (opens in new tab), look at the various features and follow the links to get detailed explanations. Check out the CDN Documentation page (opens in new tab), too. Search for features like purge, or whatever else is a priority, and make sure the plans deliver what you'd expect.
Microsoft Azure CDN uses a pay-as-you-go scheme (opens in new tab) where you're charged for the level of bandwidth you use. As with Amazon CloudFront (opens in new tab) and many other CDNs, data transfer prices vary depending on region they're using.
The Standard Akamai and Standard Verizon plans are priced similarly to Amazon CloudFront, with charges starting at $0.081 per GB for North America, Europe, the Middle East and Africa, ranging up to $0.233 for South America. Rates drop after the first 10TB, depending on the amount you use, so for example if you're in North America and use 150TB a month, the last 100TB costs $0.056 per GB.
The Premium Verizon plan costs roughly twice as much for the first 10TB of traffic ($0.158 to $0.466 per GB), and again there are discounts if you use more.
Overall costs of even the Standard plans can be twice that of competitors like KeyCDN (opens in new tab), let alone budget services like Bunny (opens in new tab) (priced from $0.005/ GB.) They're cheaper than many high-end enterprise CDNs, though, and the integration with Microsoft technologies may make this a price worth paying for some.
If you'd like to get a feel for your costs, the Azure site has a Pricing Calculator (opens in new tab) to help you figure out your monthly bill. Choose a plan, enter a traffic estimate for each region and the total is displayed immediately. Keep in mind that tech support is priced from a $29 a month for trial use, or $100 for 'for small or medium-sized companies with minimal business-critical dependence on Azure.' But if that's too much for you, don't necessarily let it put you off, as there's a vast and hugely detailed web knowledgebase available for free.
Alternatively, sign up for Azure and you'll get $200 free credit for 30 days use. This could give you more than 1500GB of traffic, enough to trial even the largest of sites, and it doesn't automatically renew as a paid product so there's no risk.
The Azure web dashboard is complex, crammed with features and functionality, and the most expert user might initially struggle to find their way around. For example, a left-hand sidebar covers 23 different areas (Function Apps, SQL Databases, Load Balancers, Virtual Machines), each of which leads to its own management panel with yet more options.
Typing ‘CDN’ in the Search box led us to the right area, but even there, terminology like ‘CDN profile’ and ‘resource group’ may seem unfamiliar. Our first attempt to create a CDN profile generated the error 'please ensure that Microsoft.CDN is listed as a registered Resource Provider in your Azure subscription', with no link to explain the issue further. Searching for the answer first got us a page recommending we run some PowerShell, but then directed us to a portal solution which turned out to be quick and easy.
Play around for a while, though, and the system starts to make more sense. Create a CDN profile and you can add multiple zones. You're able to define their type (Storage, Cloud Service, Web App, more) and URL. Each can have a sensibly-named CDN domain, too, like mytestdomain.azureedge.net.
An optional Dynamic Site Optimization feature (opens in new tab) accelerates performance with route and TCP optimizations, and object prefetch and mobile image compression with Akamai. This isn't cheap, with prices starting at $0.19, but the $200 of free credit means you can at least try before you buy.
Once you're set up, Azure works much like any other CDN. Edit your code to use the "mytestdomain.azureedge.net" CDN URL (or add a CNAME record to use a custom domain name) with assets you'd like to cache, and the system will load them on the first request and start serving them to visitors.
Access an Endpoint and you're finally able to explore Azure's CDN settings. These turn out to be flexible, too, far more so than much of the competition. You don't just click a button to turn compression on and off, for instance – you're able to define exactly which MIME types you'd like optimized.
It's easy to decide how the service treats URLs with query strings, too (page.ashx?q=this). In a click or two you can choose to bypass caching for queries (the asset is grabbed from the origin each time), cache the first request and always serve that asset, or treat every request as a unique URL (page.ashx?q=this and page.ashx?q=that would be cached as separate assets, each with their own time to live).
Geo-filtering is well-handled, with no need to learn coding techniques or create scripts. Instead, you're able to specify individual files or folders, then allow or block them from your choice of countries.
When you've collected enough data, Azure also provides assorted reports and analytics to help you understand what's going.
Other tools are more cryptic, and the interface doesn't always offer much upfront help in figuring out how they work. You'll also run into Azure's management features, hugely powerful in themselves. Need to share control of the CDN with others in your business, for instance? There's a vast Access Control system where you're able to create users, groups and roles, and define exactly who can do what.
If you think this sounds complicated, then you're right. There is a vast amount of documentation available (this sample tutorial (opens in new tab) is a good example), and eventually you'll master the basics, but beware: it might take a while.
Will Azure CDN deliver the speed you need? There's really no way to say for sure, as there are so many variables to consider – the locations of your visitors, the Azure plan you're using, the size and types of files, the web applications, and whether you're using extras like Azure's Dynamic Site Optimization.
CDNPerf (opens in new tab) offers a starting point by comparing CDN response times experienced by real users across the globe. It's a single figure and can't offer any definitive verdict, but still provides a basic view of how the edge servers compare.
As we write, CDNPerf.com currently ranks Azure CDN a disappointing 16th out of 21 contenders, with an average worldwide response time of 38.29ms.
There's a tiny consolation for Microsoft in that it still beat some big names, including CDN.NET (42.49ms), Cloudflare CDN (opens in new tab) (51.34ms) and OVH CDN (59.93ms.)
But the reality is Azure CDN trailed a very long way behind the likes of 5centsCDN (24.15ms), Google Cloud CDN (24.51ms) and AWS CloudFront CDN (25.51ms.)
These figures are worldwide averages, and sometimes a CDN performs much better (or worse) in particular countries or continents.
Azure CDN, though, was unspectacular just about everywhere, with a best speed placing of 11th in Asia, and a worst of 18th in Europe.
That's not exactly encouraging, but as we mentioned above, these results won't necessarily reflect what you'll see. If Azure's feature set is a perfect fit for your project, then it could still be a smart choice.
Azure CDN is a must-see if you'll use other Azure services, or might appreciate the .NET or PowerShell management features, but its complexity and cost mean that less demanding users might be better off elsewhere.
We've also highlighted the best CDN (opens in new tab)