Insights

Jan 2019

Comparing Azure CDN, Caveats and Workshop Questions

Once you’re read the below, why not follow my implementation how-to here

 

I’ve been working with a client who are expecting a large spike in website traffic and are looking to implement Azure CDN to help with the load. As I was working through the implementation, I found there were some technical details and caveats that aren’t well documented so am writing about them here.

There’s lots of high level information about Azure Content Delivery Network (CDN) online already but at a glance it offers:

  • Out of the box integration with a host of Azure services, including Web Apps, Media Services, Storage and Cloud Services
  • Elastic capacity with a distributed global presence
  • Developer tools in the form of API’s
  • Built in security that mitigates threats on the content distribution network including distributed denial-of-service attacks.
  • Multiple provider and pricing options
  • Analytics and insights about the data that is being accessed and downloaded

There are a few variants available to you depending on your requirements. To choose the correct product and begin your implementation you should consider:

POP Locations

FQDNs and HTTPS

  • Are you going to deploy a Custom domain
    (Do you want the content that is served from the CDN to present in a browser as your own URL instead of the CDN URL, in most cases the answer would be yes)
  • Do you require HTTPS for the custom domain?
  • Do you use cookies on your website
FQDNs & HTTPStandard MicrosoftStandard AkamaiStandard VerizonPremium Verizon
HTTPS support with CDN endpoint
Custom domain HTTPS
Custom domain name support
Cookie support✓*✓*

* By default, the three providers Microsoft, Akamai and Verizon do not support cookies however, cookies work with the Verizon CDN implementation based on my experience.

Caching Requirements

Decide which of the three options that Azure Content Delivery Network (CDN) offers to control how your files are cached, suits your content best:

  • CDN Global caching rules: One global caching rule for each CDN endpoint which can override any HTTP cache-directive headers that are set locally on the webserver
  • CDN Custom caching rules: Multiple rules that match specific paths and file extensions. Rules are processed in order and override the global caching rules if they have been set
  • Website cache control headers that are configured by your web developer

Its important to know if you’d like to honour the website cache control rules or override them.

Caching RequirementsStandard MicrosoftStandard AkamaiStandard VerizonPremium Verizon
Caching Rules & Cache Control Headers
  • Using the webpages cache control headers

CDN Optimizations

To ensure the optimized delivery of your content. Azure Content Delivery Network (CDN) can optimize the delivery experience based on the type of content you have. When you’re choosing which CDN to implement, consider:

  • Which CDN optimization option would suit your content best
  • Geo-Filtering: Is there a requirement to restrict access to your website content by country
  • Compression: Would you like to compress content using the CDN endpoint and are the files you’d like to compress supported by Microsoft
  • Will you need to configure the CDN for CORS?
    (If you deliver static assets such as font files by using the CDN, you might encounter same-origin policy issues if you use an XMLHttpRequest call to request these resources from a different domain)
  • Dynamic Site Acceleration: If you have dynamic content that could be slow to deliver over the open internet. DSA could help speed this up by routing traffic for non-cacheable content through the Azure network.
Performance features and optimizationsStandard MicrosoftStandard AkamaiStandard VerizonPremium Verizon
Content Optimisation Options
Geo Filtering (All Content)**
Geo Filtering (Granular)**
Compression
CORS -Support – Simple
CORS -Support – Complex*********
Dynamic site acceleration
Global server load balancing (GSLB)
Fast purge
Asset pre-loading
IPv4/IPv6 dual-stack
HTTP/2 support

* Microsoft and Verizon support delivering large files and media directly via the general web delivery optimization

** you must use the Manage portal to activate geo-filtering. For more information, see Azure CDN Premium from Verizon profiles.
*** It is possible to configure complex, multi origin CORS on standard profiles but the setup is not ideal

 

Security, Monitoring, Analytics & Reporting

Analytics and reportingStandard MicrosoftStandard AkamaiStandard VerizonPremium Verizon
Azure diagnostic logs
Core reports from Verizon
Custom reports from Verizon
Advanced HTTP reports
Real-time stats
Edge node performance
Real-time alerts

 

SecurityStandard MicrosoftStandard AkamaiStandard VerizonPremium Verizon
Token authentication
DDOS protection
Bring your own certificate

 

Management

Ease of useStandard MicrosoftStandard AkamaiStandard VerizonPremium Verizon
Management via REST API, .NET, Node.js, or PowerShell
Customizable, rule-based content delivery engine
URL redirect/rewrite
(using rules engine)
Mobile device rules
(using rules engine)

If you need to whitelist CDN edge IP’s, a regularly updated list can be requested using the CDN API

Pricing

 

In the cloud world things change regularly. If there’s a feature you’re looking for that isn’t available check the product page for updates or vote for a feature request on the Azure CDN User Voice page.

 

 

Leave a Reply