Wie CDNs und TYPO3 herausragende Geschwindigkeit, Verfügbarkeit und das beste Nutzererlebnis bieten

Benni Mack

Die Welt von heute ist global, und Content-Distributionsnetzwerke (CDNs) bringen die Inhalte den Nutzern auf der ganzen Welt für eine blitzschnelle Performance näher, egal wo sie sich befinden. TYPO3 ist ideal an die moderne CDN-Technologie angepasst, reduziert die Last auf deinem Server und nimmt sogar das Caching von deiner To-Do-Liste!

Was sind CDNs?

CDNs sind im Wesentlichen global verteilte Caches — Datenspeicher und Übergabepunkte, die näher an den Besuchern deiner Website liegen. Auch wenn sich dein Server in den USA befindet, ist es sinnvoll, dass deine Inhalte irgendwo im Südpazifik bereit stehen, wenn sich eine beträchtliche Anzahl deiner Benutzer in Australien befindet. Dies wird durch die Verwendung von „Edge-Servern“ erreicht, die statische Inhalte wie Bilder, JavaScript-Dateien und HTML an deine Benutzer ausliefern. Wenn ein anderer User in Buenos Aires ist, solltest du natürlich auch einen Edge-Server in Südamerika anbieten. Es gibt kein Begrenzung, wie viele Edge-Server du haben kannst. 

Vorteile von verteilten Caches:

  • Geringere Belastung des Ursprungsservers, der nur für dynamisch generierte Inhalte herangezogen werden muss.
  • Massiv verbesserte Leistung, da die Entfernung zwischen deinem Benutzer und deinem Inhalt verringert wird und der Inhalt durch weniger Engpässe geleitet wird. Dies sorgt für ein besseres Benutzererlebnis und eine höhere Konversionsrate.
  • Das Caching wird für dich übernommen, wenn du einen kommerziellen CDN-Provider benutzt. Verabschiede dich von den Schwierigkeiten bei der Konfiguration und Wartung von Varnish.
  • CDN-Anbieter können dich vor DDoS-Angriffen schützen.

Eine der größten Herausforderungen bei der Verwendung von CDNs ist es, sicherzustellen, dass die Inhalte nicht veraltet sind, und gleichzeitig unnötige Routing-Anfragen an den Ursprungsserver zu vermeiden. Im Großen und Ganzen gibt es dafür zwei Ansätze: Pull und Push. Beim „Pulling“ kann das CDN jede Ressource, die es noch nicht hat, vom Ursprungsserver anfordern, sie dann für zukünftige Referenzen speichern und die gecachte Ressource als Antwort auf identische Anfragen in der Zukunft bereitstellen. Oder du kannst Anfragen zuvorkommen, indem du deinen Inhalt aktiv auf den Server „schiebst“, bevor diese spezifische Ressource angefordert wurde. 

Im Großen und Ganzen eignet sich Pulling für Situationen, in denen sich der Inhalt regelmäßig ändert, Push, in denen der Inhalt weitgehend statisch ist.

Eine damit verbundene Herausforderung ist die „Cache-Invalidierung“, bei der definiert (oder geplant) wird, wann Inhalte in den verteilten Caches veraltet sein könnten, und die eine Aktualisierung oder Notwendigkeit zur Auffrischung signalisiert. Dadurch wird sichergestellt, dass die auf dem CDN-Server verfügbaren Ressourcen mit dem Ursprungsserver synchronisiert sind.

Wenn du dich für ein kommerzielles Software-as-a-Service-CDN entscheidest, dann solltest du dich um all dies nicht groß kümmern müssen — je nachdem, wie konfigurierbar dein Provider ist.

Im Großen und Ganzen eignet sich Pulling für Situationen, in denen sich der Inhalt regelmäßig ändert, Push, in denen der Inhalt weitgehend statisch ist.

Dynamische Inhalte mit CDNs und TYPO3 ausliefern

TYPO3 ist ideal für die Integration mit CDNs und das Einrichten eines CDNs in TYPO3 ist unkompliziert. Die TypoScript-Option config.sendCacheHeaders = 1 muss aktiviert werden, und von da an brauchst du nur noch deine DNS-Einstellungen so konfigurieren, dass sie auf den Einstiegspunkt des CDNs zeigen, und schon kann es losgehen.

Wenn du unsere b13 proxycachemanager-Extension verwendest, kann das CDN die meisten Ressourcen einer Seite zwischenspeichern und speziell jeden dynamischen Seiteninhalt anfordern. Mit anderen Worten, es speichert die statischen Ressourcen und die Seite und fordert den Server nur auf, genau die Lücken auszufüllen, wo dynamischer Inhalt benötigt wird. Dies wäre ohne den strikten Ansatz von TYPO3 in Bezug auf semantische, strukturierte Inhalte und die Verwendung von Cache-Tags, bei denen einzelne Blöcke dem System mitteilen können, dass sie aktualisiert wurden, nicht möglich. Für weitere Details, wie das funktioniert, siehe meine Artikel über Caching.

Welche (derzeit unterstützte) TYPO3-Version du auch immer verwendest, du kannst sie mit einem CDN einrichten — alle Fehlerbehebungen wurden von v10 auf v9 und v8 zurückportiert.

Apropos ... Wenn du auf Spitzenleistung aus bist, solltest du wirklich auf eine aktuelle und unterstützte TYPO3-Version upgraden, am besten auf v10.

Kurz gesagt, alles, was gecached werden kann, kann über ein CDN ausgeliefert werden. Derzeit arbeiten CDNs hart daran, Lösungen zu entwickeln, die einige dynamische Inhalte berechnen und direkt aus dem Cache ausliefern, ohne den Ursprungsserver kontaktieren zu müssen.

Wann brauche ich ein CDN und wie soll ich mich für eines entscheiden?

Vor allem global agierende Unternehmen brauchen CDNs, um die Ladezeiten der Seiten möglichst kurz zu halten. Wenn du wächst, solltest du das auch in Betracht ziehen. Denke daran, dass du so oder so einen HTTP-Cache wie Varnish brauchst, auch wenn du kein CDN verwendest — es lohnt sich also, darüber nachzudenken, dir die Arbeit zu ersparen. Und, wie bereits erwähnt, ist der Schutz vor DDoS-Angriffen zunehmend Teil der Angebote und für viele Unternehmen lohnenswert.

Insgesamt werden deine Nutzer ab einer bestimmten Größe der Website auf schnelle Seitenladezeiten reagieren, indem sie länger auf deiner Website bleiben und öfter wiederkommen.

Wenn du dich gegen ein CDN entscheidest, weil du das Gefühl hast, noch nicht groß genug zu sein, hat TYPO3 für dich vorgesorgt, falls du später deine Meinung änderst. Du kannst das Caching aktivieren und dich später in zahlreiche CDNs einklinken, und das ohne großen Aufwand.

Wenn du dich für ein CDN entschieden hast, gibt es ein paar Faktoren zu beachten:

  • Vergleiche die Uptime-Statistiken: Du möchtest die oben genannten Vorteile nicht auf Kosten einer wackeligen Verfügbarkeit erkaufen.
  • Vergiss nicht die Antwortzeit oder die Latenzzeit: Auch wenn die Anfrage schnell abgeschlossen ist, wenn sie einmal gestartet wurde, musst du sicher sein, dass die Zeit zwischen Anfrage und Antwort auch sehr kurz ist.
  • Konfigurierbarkeit ist wichtig, wenn ihr euer CDN auf eure Bedürfnisse zuschneiden wollt, was wir bei b13 natürlich gerne tun.
  • Der Preis ist nicht der einzige wichtige Faktor, aber es ist selbstverständlich, dass du auch nicht mehr bezahlen willst, als du brauchst.
  • HTTPS ist heutzutage ein Muss. Du bist es deinen Usern auf der ganzen Welt schuldig, sie davor zu schützen, dass Leute sie ausspionieren, egal wo sie sind. Und es hilft dir dabei, bessere SEO-Rankings zu erreichen.
  • Wähle ein CDN, das Edge-Server anbietet, die deinen Usern am nächsten sind. Überprüfe die Hauptregionen, in denen deine User auf deine Website zugreifen. Wo befinden sich deine Niederlassungen? Welche Märkte bedienst du am meisten?
  • Informiere dich, welche zusätzlichen Funktionen ein CDN bietet, darunter automatische Komprimierung wie GZip oder Brotli für kleinere Asset-Größen (und schnellere Ladezeiten), Benachrichtigungen und Analysen (zum Beispiel in Amazon CloudFront).

Beispiele aus unserer Erfahrung

Bei b13 haben wir gute Erfahrungen mit CloudFlare gemacht, und wir verwenden auch Fastly, CloudFront und Akamai. CloudFlare bietet leistungsstarken DDoS-Schutz, unterstützt TYPO3-Cache-Tags und hat eine klare Preisstruktur. Fastly sticht durch die Konfigurierbarkeit heraus.

Zwei Kunden, bei denen wir in den letzten Jahren CDNs verwendet haben, sind Texere und d&b audiotechnik.

Texere Publishing Ltd. veröffentlicht eine Reihe wunderschön gestalteter wissenschaftlicher Zeitschriften mit Sitz in Großbritannien, aber mit Lesern aus der ganzen Welt. Die Art des Inhalts ist von Natur aus cachefähig, da er weitgehend statisch ist und weil er designorientiert ist, gibt es viele Bilder und andere Assets, die am sinnvollsten von einem Edge-Server bedient werden. Dabei wird auch unterschiedlicher Content, welcher nur für die USA, oder Europa, Asien oder andere Kontinente verfügbar ist, ausgespielt und auf den Edge-Servern vorgehalten.

d&b audiotechnik ist ein deutscher Hersteller von High-End-Audio-Equipment für Eventlocations. Vom süddeutschen Backnang aus beliefert d&b audiotechnik Installateure und Veranstaltungsorte in der ganzen Welt. Auch sie haben eine schöne Website mit vielen Bildern sowie herunterladbare Assets wie z.B. Produktbroschüren. Ihre Techniker benötigen Produktinformationen schnell, weshalb es sinnvoll ist, diese in der Nähe zu speichern, wo auch immer in der Welt sie sich befinden.

Warum lieferst du deine Inhalte nicht mit einem CDN aus?

CDNs haben in den letzten Jahren große Fortschritte gemacht, und sie werden immer besser, um immer bessere Leistungen zu erreichen. Sie entlasten deinen Server, können sogar dynamische Inhalte liefern und schützen vor DDoS-Angriffen. Die TYPO3-Community und b13 halten mit diesem Fortschritt Schritt, indem modernste Technologie eingesetzt wird. Für einen vernünftigen monatlichen Preis kannst du entscheiden, die Verantwortung für deinen HTTP-Cache an einen spezialisierten Anbieter abzugeben.

Warum entlastest du nicht deinen Server und deine To-Do-Liste und verbesserst die Benutzerfreundlichkeit deiner Website in einem Rutsch? Wir sind da, um zu helfen!