Introduction to Office 365 Content Delivery Network
In my work creating and modernizing clients’ SharePoint websites, I am always looking for ways to optimize the platform’s performance. One option is Office 365’s native Content Delivery Network (CDN) capability to improve how SharePoint Online functions.
Defined: Content Delivery Network (CDN)
Let’s begin with the basics. What is a Content Delivery Network? A CDN is a geographically distributed group of servers that work together to provide fast delivery of Internet content.
By maintaining the same static data in a globally distributed network, a CDN:
- Helps to improve performance by reducing the distance between users and website resources
- Reduces load times
- Increases the reliability of a website
For instance, consider the various assets required to load a static web page such as JavaScript files, style-sheets, and images. A CDN allows these assets to be stored, transferred, and loaded more quickly.
Office 365 CDN
Microsoft provides a CDN capability as part of its Office 365 subscription at no extra cost. It can be used to improve the performance of Sharepoint Online pages.
The Office 365 CDN is composed of multiple CDNs that work as a geographically distributed cache and allow for storing static assets in multiple locations so that they can be closer to the browsers requesting them. The content stored in the CDN is served through global high-speed networks and leverages the HTTP/2 protocol for improved compression and download speeds. The primary reason for using this feature would be to reduce performance issues associated with network latency. Refer to my earlier blog where I discuss the performance issues associated with network latency.
Although the underlying infrastructure for Azure CDN and Office 365 CDNs are similar, the two offerings are managed and maintained separately. Also, the feature is currently not supported in some tenants such as:
- US Government, Chinese, and German clouds
- Tenants configured with custom or “vanity” domains
The feature supports two types of CDNs:
- Private (restricted access)
- Public (anonymous access)
Private CDN
A private CDN is meant for internal use and provides private access to user content such as SharePoint document libraries, sites, and media. Access is granted by dynamically generated tokens—only users with permission to the orginal library or storage location are allowed access; anonymous access is prevented, and SharePoint Online does not support item-level permissions for the CDN.
Be aware that removing an asset from a private origin may take up to an hour to clear from the CDN cache, while any links to the asset will be invalidated within 15 minutes.
Figure 1: Logical Illustration of Private CDN (Courtesy: Microsoft)
Public CDN
Assets hosted in a public origin CDN are accessible anonymously. Because access is anonymous and open to anyone who has the asset’s URL, this type of CDN should only be used to cache non-sensitive generic content such as JavaScript files, scripts, icons and images.
Be aware that assets removed from a public origin could continue to be available in the cache for up to 30 days, while any links to the asset in the CDN will be invalidated within 15 minutes.
Figure 2: Logical Illustration of Public CDN (Courtesy: Microsoft)