Monday, March 1, 2021

Microsoft Azure

Microsoft Azure 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). 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.

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 (130 PoPs across 83 cities), and the company recommends you ignore these, anyway, and try each of the plans to see which works best.

Cache purging, the time it takes to clear an item from the cache, is another good example. It's not mentioned on the marketing pages, but drill down to this technical page then you'll read 'purge requests take approximately 10 minutes to process with Azure CDN from Microsoft, approximately 2 minutes with Azure CDN from Verizon (standard and premium), and approximately 10 seconds with Azure CDN from Akamai.' Good to know, but key information like this should be visible up-front, not buried away in the support pages.

Documentation

(Image credit: Microsoft)

If you're interested in Azure, then, we'd recommend you start with the official CDN Comparison page, look at the various features and follow the links to get detailed explanations. Check out the CDN Documentation page, too. Search for features like purge, or whatever else is a priority, and make sure the plans deliver what you'd expect.

Website

(Image credit: Microsoft)

Pricing

Microsoft Azure CDN uses a pay-as-you-go scheme where you're charged for the level of bandwidth you use. As with Amazon CloudFront and many other CDNs, data transfer prices vary depending on region they're using.

This isn't the most straightforward of schemes and you'll probably find it hard to predict your potential bills, but the service has few other charges to catch you out. You're not billed for requests (files downloaded), and there's no premium for using HTTPS over HTTP.

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 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, let alone budget services like Bunny (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 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, or a recommended $100 for business-critical projects. 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. 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.

Dashboard

(Image credit: Microsoft)

Setup

Azure CDN takes more time and effort to sign up than most. As well as requiring plenty of personal information, you're also required to authenticate yourself by telephone number (the site sends a text or calls you to provide a code, which you then enter on the signup form). You must provide your payment details, too, although Microsoft says there's no automatic billing at the end of the trial month, and you'll only be charged if you explicitly agree to purchase a service.

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 17 different areas (Function Apps, SQL Databases, Load Balancers, Virtual Machines), each of which leads to its own management panel with yet more options.

Setup

(Image credit: Microsoft)

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 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.

Reporting Chart

(Image credit: Microsoft)

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 is a good example), and eventually you'll master the basics, but beware: it might take a while.

Performance

(Image credit: CDNperf)

Performance

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 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, Azure CDN rates an excellent 4th out of 20 for worldwide response times. Only 5centsCDN, Google Cloud and AWS CloudFront did better.

The service ranked second place in Africa, a real highlight, as it's a region which is poorly served by many CDNs. But is also made an excellent 4th in Europe and Asia, and 7th in North America, ensuring you'll get well above average performance everywhere in the world.

Final verdict

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.

0 comments:

Post a Comment

!!!!!!!!!!

Popular Posts

Categories

Blog Archive