Sponsor-Board.de

Normale Version: CDN ein muss?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe mal paar Fragen bzw. CDN (Content Delivery Network).
Ein CDN ist ja dafür da, um seine Website zu boosten bzw. schneller zu machen.

Nun stelle ich mir folgende Fragen.
  • Bringt es wirklich was?
  • Welche Vorteile hat solch ein CDN?
  • Welche Nachteile hat solch ein CDN?
  • Welcher Anbieter ist gut?
  • Gibt es kostenlose CDN´s?
  • Nutzt Ihr ein CDN für eure Seiten?

Ich habe im Netz dutzende Internetseiten besucht.
Leider habe ich nie die passenden Antworten gefunden.

So ein CDN ist ja auch teuer. (meist 8€ bis 39€ und mehr im Monat.)
Gibt es vielleicht kleinere Dienste, die ein CDN kostenlos anbieten?

Ich würde mich sehr über ein paar Antworten freuen.



Mit freundlichen Grüßen
SiriuZ
Hallo SiriuZ,

ein CDN entlastet stark deinen Webserver da dieser sich dann nicht mehr so intensiv um statischen Inhalt wie Bilder, CSS-Dateien, Javascript-Dateien usw kümmern muss.

Es kann auch als Download Mirror genutzt werden wenn du viele Dateien mit einer statischen Download URL anbietest (Dateiendung beachten da nicht alles über das CDN ausgeliefert wird).

Desweiteren bieten viele CDN Anbieter ihre CDN Server über die Welt verstreut an um die Latenz zu minimieren.

Bei kleinen oder mittleren Webseiten ist ein CDN meiner Meinung nach nicht von großer Relevanz, wenn man jedoch das Geld hat oder es aufgrund der Webpräsenz (Imagehoster, Downloadmirror...) notwendig ist kann es von Nutzen sein.

Manche CDN Anbieter berechnen zu einer Grundgebühr noch den verbrauchten Traffic dazu oder berechnen es nach abgerufenen Dateien über das CDN.
Also, wenn es um Bibliotheken wie Jquery, Bootstrap, Open Fonts etc geht, ist ein CDN immer die richtige Wahl. Da du keinen Inhalt veröffentlichst, kostet es auch nichts.

Warum gerade hier?

Wenn der Webseitenbenutzer, auf einer anderen Webseite bereits Jquery über dasselber CDN heruntergeladen hat, braucht er das für deine nicht nocheinmal. Auch muss im Falle von Javascript nicht neu kompiliert werden. (Javascript compiled Just in Time).

Sonst ist es noch sinnvoll, wenn du viele Besucher aus verschiedenen Ländern hast (Ein CDN hat meist Server an verschiedenen Standorten). Dies verkürzt die Reaktionszeiten.

Klarer Nachteil: Mehraufwand beim deployen von Statischen Inhalten

So generell gesprochen was eigene statische Inhalte angeht: Mache dir den Aufwand erst wenn du es brauchst. Solange du die frage nach einem wofür stellst, brauchst du keines Wink
Wichtig dürfte vor allem sein, dass deine Webapplikation eine einfache Umstellung auf ein CDN unterstützt. Dann kannst du erst mal ohne starten und wenn es dann irgendwann die Vorteile eines CDN durchschlagen würden auf eines migrieren.

Konkret meine ich damit, dass Pfade zu öffentlichen Ressourcen (Bilder, JS, CSS, und sonstige Dateien) nicht hardgecodet werden sondern z. B. mit PHP so:

PHP-Code:
<div><?php echo assetPath('uploads/images/123.jpg'?></div> 

D. h. die Funktion assetPath() konstruiert erst den absoluten Pfad. Sollte sich der dann ändern, weil die Daten plötzlich auf einem anderem Server liegen muss man ihn nur ein mal in der Funktion ändern.

Schwieriger wird es bei der Manipulation von Dateien (Upload, Löschung, ...). Dazu könnte man ein Package zur Abstraktion des Dateisystems nutzen, ich glaube bspw. Flysystem [Link: Registrierung erforderlich] kann das.

Oder dein CMS unterstützt das alles sowieso von vorneherein, dann musst du dich nicht darum kümmern. Smile

Hallo,

ich habe nun für mindestens zwei Projekte so Standard-Bibliotheken wie jQuery, font-awesome usw. genutzt und mal verglichen, wie die Ladezeiten bei den hauseigenen CDNs der Bibliotheken, und auf dem jeweiligen Server der Website, wo sie eingebunden wurden, sind.

Die CDNs haben ganz klar länger gebraucht.
Sicherlich kommt es auf die Besucherzahl und den Webserver an, ist dein Webserver ohnehin langsam, nutze lieber ein CDN. Bei höherer Besucherzahl müsstest du einfach mal testen, ob der Server stark langsamer wird. Ansonsten lade die ganzen CSS-Regeln herunter und kombiniere sie mit deinen Regeln alle zusammen in EINE *.css-Datei und inkludiere sie von deinem Server. Selbiges gilt für *.js Dateien. Sodass du am Ende für CSS und JS (etc.) jeweils EINE Verbindung mehr herstellst. Dabei ist selbstverständlich eine Compression sehr wichtig, siehe z.B. [Link: Registrierung erforderlich]

Zu guter Letzt serverseitige Compression aktivieren (gzip, ...) und Bilder verkleinern.

So kam ich bei Google's Pagespeed Insights auf 91/100, wobei auch der Seiteninhalt etwas gecheckt wird, aber hauptsächlich viele Speedaspekte, wie der Name schon sagt.

Ich hoffe, dass ich dir irgendwie helfen konnte.
Referenz-URLs