Freitag, 8. Mai 2020

[Office 365] SharePoint Online Publishing Sites beschleunigen


Wenn man Intranet Seiten über SharePoint Online betreibt, kann es unter Umständen vorkommen, dass die Ladezeiten des Intranets sehr langsam sind. Dies liegt unter Umständen an dem Speicherort der Daten. Jedes kleine / große Bild muss aus dem Rechenzentrum übertragen werden. Je mehr Content auf der Intranet Seite dargestellt wird, wird auch die Ladezeit länger dauern.

Man muss bedenken, dass in Europa meist die Daten in Amsterdam oder Irland liegen, was von Natur aus schon längere Ladezeiten bedeutet, wenn man sich in Deutschland befindet. Aber auch Firmen, welche mehrere Standorte verteilt in Europe oder der Welt haben, werden dasselbe Problem haben.

Aus diesem Grund kann man überlegen, seine Bilder und die statischen Website Daten, über CDNs auszuliefern. Die großen Unternehmen wie Netflix, Youtube, etc. arbeiten bereits mit CDNs (Content Delivery Network), um Ihre Videos ohne große Latenz zum Kunden zu bringen. Auch bei SharePoint ist dies möglich, jedoch hat man keine freie CDN Wahl. Dafür ist dieser Service aber kostenlos und muss nur aktiviert werden. Die Daten werden dann entweder in den eigenen Azure CDNs oder über die Akamai CDNs bereitgestellt.

Mittlerweile gibt es sehr viele CDNs und in der Regel befindet sich in jeder Region einer oder mehrere. Das Beste daran ist, dass sich der Client immer den schnellsten Weg suchen wird.

Nun aber die Übersicht, wie man seine SharePoint Intranet Seite für die CDNs vorbereitet.

Es gibt derzeit nur den Weg über die PowerShell. Damit man aber eine Verbindung zu SharePoint Online herstellen kann, benötigt man die passende SharePoint Online PowerShell Erweiterung. Diese kann man aber schnell über eine Google Suche finden.

Herstellen einer Verbindung zu SharePoint Online (bitte [your company name] durch den eigenen ersetzen):

Anzeigen, ob der CDN aktiv ist oder nicht:
Get-SPOTenantCdnEnabled -CdnType Private
Get-SPOTenantCdnEnabled -CdnType Public



Microsoft unterscheidet zwischen Public und Private. In den Public CDNs werden alle öffentlichen Daten gespeichert. Die Private CDNs sind hingegen verschlüsselt und die Daten können nur von Usern abgerufen werden, welche auch Zugriff auf das Intranet / den Tenant haben. In diesen werden dann die dynamischen Inhalte wie z.Bsp. Bilder gespeichert.
Falls die Abfrage ergab, dass der CDN nicht aktiviert war, muss dieser nun mit folgenden Befehlen aktiviert werden:
Set-SPOTenantCdnEnabled -CdnType Public
Set-SPOTenantCdnEnabled -CdnType Private


Sollte man die CDN Option deaktivieren wollen, muss man folgende Befehle ausführen:
Set-SPOTenantCdnEnabled -CdnType Public -Enable $false
Set-SPOTenantCdnEnabled -CdnType Private -Enable $false

Welche Dateitypen über den CDN bereitgestellt werden, kann man mit folgenden Befehlen abfragen. Anzeigen der CDN Policy:
Get-SPOTenantCdnPolicies -CdnType Private

Get-SPOTenantCdnPolicies -CdnType Public




Sollte man die Liste der inkludierten Dateitypen erweitern wollen, kann man dies über folgenden Befehl:
Set-SPOTenantCdnPolicy -CdnType Public -PolicyType IncludeFileExtensions -PolicyValue „Bitte alle Dateitypen mit Komma separiert eingeben.

oder

Set-SPOTenantCdnPolicy -CdnType Private -PolicyType IncludeFileExtensions - PolicyValue „Bitte alle Dateitypen mit Komma separiert eingeben.

Anzeige welche Datei-Orte / SharePoint Bibliotheken über CDN bereitgestellt werden:
Get-SPOTenantCdnOrigins -CdnType Public
Get-SPOTenantCdnOrigins -CdnType Private

Um eine neue Source (ggf. SharePoint Bibliothek) zu definieren, muss man folgende Befehle ausführen. Die roten Stellen bitte durch die gewünschte Bibliothek ersetzen:
Add-SPOTenantCdnOrigin -CdnType Public -OriginUrl sites/cdn/cndlibrary
Add-SPOTenantCdnOrigin -CdnType Private -OriginUrl sites/cdn/cndlibrary

Achtung: Bitte beim Hinzufügen neuer Sourcen beachten, dass wenn man Bibliotheken unter Public hinzufügt diese auch dann wirklich von jedem gelesen werden können. Sollte man also im Intranet eine SharePoint Bilder Datenbank haben, in der z.Bsp. die Bilder der letzten Firmenfeier sind, sollte man diese mit Private bereitstellen, da man sonst ein Datenschutzproblem hat.

Sollte man wieder eine Source (ggf. SharePoint Bibliothek) aus dem CDN entfernen wollen, kann man folgende Befehle verwenden. Die roten Stellen bitte durch die gewünschte Bibliothek ersetzen:
Remove-SPOTenantCdnOrigin -CdnType Public -OriginUrl sites/cdn/cndlibrary
Remove-SPOTenantCdnOrigin -CdnType Private -OriginUrl sites/cdn/cndlibrary

Zum Schluss sollte man noch beachten, dass jede Anpassung mehrere Stunden dauern kann, bis diese komplett von den CDNs verarbeitet werden.

Somit sind die wichtigsten Befehle erklärt. Leider kennen viele diese Möglichkeiten nicht und haben hierdurch eine langsame Intranet Seite. Vielleicht wird sich das in Zukunft ändern.