General availability of Office 365 CDN

Microsoft

cdn-ga-promo.png

 

We are happy to announce general availability for the Office 365 CDN with new great improvements for the CDN asset handling. Please see following blog post from dev.office.com for additional details and instructions around how to configure and enable CDN for your tenant. 

 

If you have any feedback, comments or suggestions around this capability, don't hesitate to write new blog posts here or add a comment below. 

21 Replies

Few questions regarding public CDN:

 

1. What does the "(configuration pending)" mean when you add new Origin? Do I need to further configure something to get it working?

 

2. If following the configuration steps, CDN is first enabled. Does this mean the default origins */MASTERPAGE  and */STYLE LIBRARY are now accessible via CDN? To make it possibly worse, if removing the origins only after enabling CDN, it says "WARNING: Content stored in the document library */STYLE LIBRARY is no longer served by Content Delivery Network (CDN). While the effect is immediate, cached content will still be available in the CDN and accessible by everyone anonymously for up to 30 days." Does this mean that everything is now in CDN for 30 days and there's nothing I can do?

 

Should there _not_ be any defaults, or should it be made very clear that one should remove the default origins _before_ enabling CDN, although it appears to always add these default values when enabling CDN even if you remove them before enabling.

 

Thx @Jussi Palo for great additional questions. Going them throuhg one-by-one.

 

  1. (configuration pending) - This means that the CDN configuration towards CDN platform has initiated and you do not need to perform any other operations. Enabling new CDN origin can take up to 15 minutes and if you execute Get-SPOTenantCdnOrigins, you can see the 'configuration pending' message removed. This means that the CDN is now ready to be used.
  2. I added a additional clarification on avoiding default origins to be created, to the blog post. You can use -NoDefaultOrigins with the 
    Set-SPOTenantCdnEnabled cmdlet to avoid default origins to be created.
     
     

 

Looks like I removed my first post by mistake so here it is just for clarification:

 

Few questions regarding public CDN:

 

1. What does the "(configuration pending)" mean when you add new Origin? Do I need to further configure something to get it working?

 

2. If following the configuration steps, CDN is first enabled. Does this mean the default origins */MASTERPAGE  and */STYLE LIBRARY are now accessible via CDN? To make it possibly worse, if removing the origins only after enabling CDN, it says "WARNING: Content stored in the document library */STYLE LIBRARY is no longer served by Content Delivery Network (CDN). While the effect is immediate, cached content will still be available in the CDN and accessible by everyone anonymously for up to 30 days." Does this mean that everything is now in CDN for 30 days and there's nothing I can do?

 

Should there _not_ be any defaults, or should it be made very clear that one should remove the default origins _before_ enabling CDN, although it appears to always add these default values when enabling CDN even if you remove them before enabling.

 

@VesaJuvonen -- wow did this improve performance for us.  Sidenote, we also have an app (from a third party) and recently noticed it was performing significantly better.  Sure enough, they changed their references to the CDN at the same time.

 

I'm curious if others have seen the same results...

Thx Clint for the feedback. We are absolutely interested on hearing similar input from others as well. Based on testing with MSIT, we knew that this have nice performance boost, but more input is more than welcome.

Hello Vesa,

 

I notice that the defaul origins for Public vs. Private are quite different.

Our customer is hesitant to use Public CDN for things that live in Master Page Gallery and Style Library but would love to leverage the same functionality under Private CDN.

 

Current plan is to enable Private CDN (only) and then add to that the origins that would be defaulted for Public.

 

Questions:

 

  1. Is this a viable option?
  2. Will it work with the Publishing integration automatically?

 

Thanks!

 

#MCM #R6 #WUB

@VesaJuvonen

 

 

Is there any guidance or recommendations around the type of new Site Collection and or library we should be creating for our CDN Origins. Do Public and Private CDN origins need to be on separate site collections, say to accomodate the URL rewriting?

 

e.g.  Team Site - SharePoint Online configuration  and Asset Library

 

 

# private 
Add-SPOTenantCdnOrigin -CdnType Private /sites/cdn/ec-cdn


#public 
Add-SPOTenantCdnOrigin -CdnType   Public /sites/cdn/cdn. 

 

 

Added to the above, I am working with a client  that has multple team sites with each site having a /clientnameImages library  which they use to surface event pics on to their respective home sites.  

 

Add-SPOTenantCdnOrigin -CdnType Private */ClientNameImages
Add-SPOTenantCdnOrigin : A positional parameter cannot be found that accepts argument 
*ClientNameImages.
At line:1 char:1
+ Add-SPOTenantCdnOrigin -CdnType Private */ClientNameImages

Do I need relocate each teamname/clientnameImages under /SiteAssets?

You can absolutely do that. Automatic publishing performance improvements are coming from the private CDN side, so there's no impact for that. Public CDN is more around when you reference the assets directly in your customizations, like with SPFx web parts.

You can define any library or folder as a CDN origin. You can use wildcard mapping or relative URL for the origins. In your specific sample, you have a small bug around hte Add-SPOTenantCdnOrigin cmdlet execution. In your case, it should be looking as follows.

 

Add-SPOTenantCdnOrigin -CdnType Private -OriginUrl "*/ClientNameImages"

Vesa

 

 

Thanks. Interesting, as I had tried single quotes and got the error .  Double quotes accepted .  Thanks

 

 

BTW This issue I am trying to fix we have seen on a few team sites using the new OriginImageRotatorError.PNG

I believe i've done verything correctly:

cdn.png

I've also verified that 'Preview Features' are turned on.

However, none of the URLs are being rewritten. What should I try next?

I couldn't get private to work at all but the public worke like a champ first try.

If you enable private and reference image in publishing page from a library, which is enabled as CDN origin, you chould see the URLs being automatically rewritte for the private CDN URLs. This should be working properly cross the SPO currently.

 

If you however reference that image programatically in your code, it will not be processed automatically. Private CDN is mainly designed currently for increasing performance with publishing sites.

Ah, that makes sense. Thanks Vesa.

 

One more question, or perhaps a feature request....  I don't see the ability to add exceptions.  Is that something that might be coming up or do you think it will always be an all or nothing thing?

 

The reason I ask really is for development.  I'd love to say in a perfect world we always have separate dev and prod. However, with client side development, and even with SPFx completely isolating an environment, we end with 1) prod, 2) dev and 3) prod but it's new so we're working on it all the time.  The point is, it'd be nice to add an expection so we could have area where we didn't have to worry about the cache timing.  For instance, let's say we have a library called /Assets and we put it on the CDN, however, we'd like to have /Assets/code/someproject readily available.  It'd be great to have that exception possible...

 

 

Hi Vesa,

 

We are using vanity URL's in our SPO tenant and SP sites are spread across multiple geo's. We want to leverage CDN capability but I was told that CDN doesn't have the support for vanity URL's today and will launch soon. Are you aware about any timelines about the CDN support for Vanity URL's.

 

Thanks

DB

@VesaJuvonenCan people use public/private CDN without having on the library ? We have created both cdn public and private and asked team to access but they are getting access denied.  Please suggest.

Hello,

 

Is there a performance boost for modern site collection and libaries?

 

Greetings

Stefan

In general Office 365 CDN usage does improve performance regardless if you are using classic or modern experiences, but the exact details are highly dependent on the usage models. 

Didn't quite get the question or details, but you will need to grant people permissions on the CDN origin location so that they can place images etc. on it. If you are using CDN with SPFx, it's fully automatic and taking care of automatically.

 

Wasn't quite sure where access denied is happening, so can't provide more details.