CDN kostenlos nutzen
Aktuell ist das Google Content Delivery Network bzw. die Google app engine eine interessante Möglichkeit ein CDN kostenlos zu nutzen oder auszuprobieren. Mich interessierten die Details, weil ich vielleicht das kostenlose CDN auch für weitere PHP-Projekte einsetzen will.
Hier was ich heraus gefunden habe.
Was ist ein Content Delivery Network?
Schauen wir uns ein paar Grundlagen an.
Ein Content Distribution Network (CDN), oder auch Content Delivery Network genannt, ist ein Netz lokal verteilter und über das Internet verbundener Server, mit dem Inhalte […] ausgeliefert werden.
CDN-Knoten sind auf viele Orte verteilt und oft auch auf viele Backbones. Sie arbeiten zusammen, um Anfragen von End-Nutzern nach Inhalten möglichst ökonomisch zu befriedigen.
Im Hintergrund werden die Daten im Netz so vorgehalten (Stichwort Caching), dass die jeweilige Auslieferung entweder möglichst schnell geht (Performance-Optimierung) oder möglichst wenig Bandbreite verbraucht (Kosten-Optimierung), oder beides zugleich.
Große CDNs unterhalten tausende Knoten mit zehntausenden Servern.
[vgl. wikipedia Content Distribution Network]
Zum Verständnis der Funktionsweise eines CDNs – Ein Beispiel
- Eine Datei wird auf Server A gespielt (Ursprungsserver) und wird dann automatisch auf Server B,C,D … (Replica-Servern) kopiert.
- Bei einer Anfrage aus dem Netz entscheidet das Content Delivery System selbst, welcher der Replica-Server, am schnellsten Antworten kann. Entscheidend ist hierbei die geografische Entfernung von Client zum Server sowie die Belastung der Server.
Es dürfte klar sein, dass ein solches System im Durchschnitt niedrige Antwort-Zeiten und hohe Transferraten bietet, was wiederum zu schnellen Webseiten führt.
Beispiel Amazon
Wenn man das nun alles weiß, dann wird klarer wieso Webseiten, wie Amazon, obwohl sie hunderte und mehr Anfragen pro Sekunden haben, einem beim Öffnen entgegen springen als ob man der einzige Besucher wäre. Bei Amazon sind wir auch schon bei einer der Alternative zum Google Content Delivery Network, wenn Amazon CloudFront auch nicht kostenlos ist. Übrigens weitere Anbieter wären NTT Europe, Akamai, CDNetworks.., aber das ist wirklich nun eine Nummer zu groß und zu kompliziert.
Amazon CloudFront ist auch ein Content Distribution Network (nur ein anderer Name für CDN). Es funktioniert aber nur in Zusammenhang mit dem Amazon Simple Storage Service, besser bekannt als Amazon S3. By the way, alle Dropbox-Nutzer haben ihre Daten auf Amazon S3 liegen.
Googles kostenloses CDN im Vergleich zu Amazon CloudFront
Die Vorteile von Amazon CloudFront
und S3 sind die Nachteile des kostenlosen CDNs von Google:
- Standort der Google-Server (von app engine) = USA; Bei Amazon ist Europa als Standort auswählbar, obwohl die Responsezeiten der Google-Server auf diese Entfernung extrem gut sind, was wiederum das Problem relativiert.
- Zugriff des Programmierers auf die Daten bzw. auf den Ursprungs-Server ist beim Googles CDN recht kompliziert; Der Zugriff auf Amazon-Daten ist via SOAP, REST und BitTorrent möglich sowie via JetS3t (Java), so dass man per Browserplugin sogar Dateien hoch und runter laden kann.
- Die maximale Dateigröße auf dem Google CDN ist 1 MB und es dürfen maximal 3000 Dateien online sein, was natürlich für Amazon nicht gilt (gibt es da überhaupt eine Beschränkung?)
Google CDN kostenlos und dann billig
Das Preismodell vom Google CDN als auch das von Amazon basiert alleine auf der tatsächlichen Benutzung, d.h. keine monatlichen Gebühren oder sonstige Kosten. Der einzige Unterschied besteht darin, dass Amazon mit dem ersten Byte Geld verlang und Google ein großzügiges kostenloses Tagesbudgets anbietet!
Die Amazon CloudFront-Kosten:
0,190 USD pro GB – erste 10 TB / Monat ausgehende Datenübertragung
0,140 USD pro GB – nächste 40 TB / Monat ausgehende Datenübertragung
0,120 USD pro GB – nächste 100 TB / Monat ausgehende Datenübertragung
0,110 USD pro GB – nächste 100 TB / Monat ausgehende Datenübertragung
…
Googles CDN-Kosten:
Wie man sieht ist Google von Vornherein kostengünstiger (10 Cent / GB im Vgl. zu 19 Cent / GB bei Amazon). Aber wieso spreche ich immer wieder vom kostenlosen Google Content Delivery Network?
Bei Googles CDN kann man pro Tag 1 GB kostenlos vom CDN laden. Bei Nutzung darüber hinaus kann man ein Budget (bsp. 1 Dollar / Tag) festlegen. Die Abrechnung erfolgt über Google Checkout, d.h. via Kreditkarte und anderen Zahlungsmöglichkeiten. Man kann unterscheiden zwischen CPU-, bandbreiten- und speicherplatzintensiver und benutzerdefinierter Budget-Verteilung. Alles recht einfach und übersichtlich gemacht.
Der kleine Trick um 10 GB Upload und Download pro Tag zu bekommen!
Ok 1 GB kostenlos ist für manche nicht die Welt, aber da man bis zu 10 web apps bei Google app engine anlegen kann dürfte jetzt klar sein, dass das verdammt viel Transfervolumen ist. Wir reden von 300 GB Download / Monat kostenlosen Upload sowie genau so viel Download und das über ein Content Delivery Network ( und nicht von irgend einem Storage-Server). Darüber hinaus ist dies die Transfer-Menge für einen einzigen Google-Account. Viele werden aber mehr als ein Google-Konto haben :)
Fazit zum CDN-Einsatz
Ein CDN kostenlos zu nutzen lasse ich mir nicht entgehen. Ich habe Teile des Blogs, d.h. Grafiken, Stylesheet und Javascripte, auf das Google CDN ausgelagert und werde sehen ob dass dauerhaft so bleibt.
Bislang nutze ich den täglichen kostenlosen Traffic nur bis zur Hälfte. Die durchschnittlichen Ladezeiten des Blogs sind noch einmal besser geworden. Das Einzige ist halt, dass ich jetzt einen weiteren möglichen Störfaktor habe, aber ich mache mir mit Google als Partner nicht wirklich Sorgen ;-)
Habt ihr oder werdet ihr das kostenlose CDN von Google ausprobieren?