Lastspitzen als Problem des Kunden
Robert Basic möchte sein Blog BasicThinking.de verkaufen. Soweit so gut. Dabei wünsche ich ihm natürlich viel Erfolg. Aber die Frage, was dass hier auf serverwolken.de zu suchen hat ist natürlich berechtigt. Es geht mir hier nicht um den Verkauf an sich, sondern um die Umstände die aus der Ankündigung resultierten.
Wie nicht anders zu erwarten, stellt die Ankündigung des Verkaufs die erste kleine Sensation in der deutschen Blogosphäre 2009 dar. Damit verbunden sind unzählige Erwähnungen auf anderen Blogs und sogar bei etablierten Medien wie Spiegel Online und anderen. Mit den Verlinkungen kamen dann viele Besucher und an dieser Stelle wird das ganze für mich hier interessant. Denn irgendwann, hat das mit Wordpress betriebene Blog den Server dann in die Knie gezwungen.
Laut diesem Beitrag handelt es sich beim Server um einen LR5 von Strato. Aktuell ist bei Strato der LR6. Kostenpunkt ca. 100 Euro pro Monat. Dass ist auch der Preis, den Robert zahlt.
Ungeachtet der Tatsache, dass wir nicht genau wissen, was dieser Server für Leistung bietet (vielleicht kannst Du hierzu was sagen Robert?) hat er mit dem Basic Thinkg Blog und den installierten Plugins bei 21.600 Page Impressions schlapp gemacht. Robert meint dazu: “Die Page Impressions beliefen sich auf 21.600. Das ist grob das Doppelte vom Normalmaß und es wurmt mich, dass das Blog ab diesen Größenordnungen abraucht.” Er hat das Problem dann durch den Einsatz von wp-super-cache behoben. Problem erkannt, Gefahr gebannt, könnte man jetzt meinen.
Worauf ich aber eigentlich hinauswill ist, dass für ca. 100 Euro pro Monat ein Server gemietet werden muss, dessen Rechenleistung die meiste Zeit überhaupt nicht notwendig ist. Denn für das Normalmaß wäre die Maschine nicht notwendig gewesen. Genau dieses Problem, nämlich dass man für die Lastspitzen vorbereitet sein muss wurmt mich persönlich. Was mir als Lösung des Problems vorschwebt, ist eine Hostinglösung die eine Mischung aus shared Hosting und Cloud Computing ist.
Der Hostinganbieter betreibt eine Webserverfarm in der verschiedene Projekte gehostet werden. Ich als Kunde muss dabei lediglich die Leistung bezahlen, die ich auch verbrauche. Beim Anbieter entstehen durch die verschiedenen Projekte in der Wolke Synergieeffekte die er an seine Kunden weitergeben kann. Gleichzeitig bietet die Wolke aber trotzdem genug Ressourcen um etwaige Lastspitzen einzelner Projekte abzufangen. Für diesen Mehrverbrauch muss ich dann natürlich zahlen. Trotzdem komme ich dabei aber im Endeffekt günstiger weg, als wenn ich die ganze Zeit für Leistung zahle, die ich nicht benötige. Wenn ich sie dann doch mal benötige und die Leistung nicht ganz ausreicht bin ich auf mich allein gestellt. Von der Ausfallsicherheit habe ich dabei noch garnicht angefangen.
Mir erscheint solch eine geteilte Wolke die bessere Lösung für engagierte Webprojekte zu sein. Wie sehr ihr das? Was spricht für euch gegen eine solche Lösung und für einen dedicated Server?








Ist mir ehrlich gesagt nicht konkret genug. Von was für Synergieffekten sprichst du konkret und wie stellst du dir konkret die technische Umsetzung Webhosting auf Basis von Cloud Computing vor?
Sind für mich ein paar unausgefüllte Buzzwords zuviel.
Im Grunde muss man jedes Projekt mal für sich betrachten und genau analysieren welche Anforderungen an die Umgebung gestellt werden. Hier und da mag ich Teile extern platzieren können, so gibt es für bezahlte Downloads Dienstleister die sowohl Abrechnugn als auch Hosting der Dateien übernehmen, es gibt auf Video Hosting spezialisierte Anbieter, es gibt Amazon S3 und ich glaube zuletzt hat auch HostEurope (Oder war es PlusServer?) bekannt gegeben ein Content Delivery Network anzubieten.
Die Idee nur für tatasächlich benötigte Ressourcen zu zahlen ist charmant, aber von vorn bis hinten durchdacht eine Mogelpackung. Letzten Endes ist jedes wie auch immer geartete Preismodell basierend auf einer Mischkalkulation. Auch deine Cloud besteht aus Servern, Netzwerkkomponenten, Kosten für Rechenzentren, Strom, Peering zu Carriern und Traffic. Für die eingegangenen Vertrage und die eingekaufte und in Betrieb genommene Hardware sind demnach fixe Kosten fällig, die gedeckt werden wollen und die völlig unabhängig davon sind, wie stark die Hardware genutzt wird. Lediglich Stromverbrauch und Traffic sind in Teilen variable Kosten, die man auch variabel durchreichen könnte.
In der Praxis wollen Kunden aber auch selbst keine variablen Kosten. Am Ende hast du dann als Kunde im Extremfall nur die Wahl zur Kostenlontrolle harte Limits zu vergeben, ab denen dir der Hahn abgedreht wird, oder aber den Digg- oder Slashdot-Effekt zu ertragen und damit in nicht vorhersehbare Kostenregionen vorzudringen. Damit hast du dann rein gar nichts gewonnen.
Die Herstellungskosten für ein Auto sind nunmal auch fix und damit auch der minimal mögliche Endpreis. Ein Modell “Lassen sie ihren Wagen stehen und zahlen sie nichts.” kann es nicht geben.
Nun Buzzwords hin oder her hier gehts ja gerade darum, mal darüber zu diskutieren ob soetwas möglich ist.
Natürlich geht es um eine Mischkalkulation. Nehmen wir einfach mal 5 Blogs die jedes von irgendwem auf einem dedicated Server betrieben werden. So wie meins hier. Legen wir einfach mal fest, dass diese Blogs jedes ihren Server zu 1/4 auslasten. Wenn man diese Blogs jetzt in eine Cloud packt die aus 3 Servern besteht ist genug Leistung für jedes der Blogs da und es ist noch Überschuss da für die Lastspitzen. Als Bonus bekommt man erhöhte Ausfallsicherheit obendrauf. Es fallen aber nur noch drei fünftel der Kosten an. Dies plus einen Aufschlag für den Aufwand, den der Hoster erbringen muss um die Cloud zu betreiben durch 5 ist dann quasi der Preis den jeder einzelne zu zahlen hat.
Das ist der Synergieeffekt von dem ich rede. Das ist auch genau der Effekt weswegen die Herstellungskosten für ein Auto nicht fix sind. Jedes Teil, dass man in größeren Mengen herstellt wird billiger. Sei es durch Mengenrabatte bei der Rohstoffbeschaffung und/oder Optimierungen im Produktionsablauf etc.
Mein kleines Beispiel ist jetzt nur spontan entstanden, mit etwas Aufwand findet man sicher ein besseres. Aber es sollte die Idee verdeutlichen.
Ich nenne das ganze übrigens sharedCloud, aber nen kompletten Businessplan liefere ich natürlich hier im Blog nicht einfach so ab.
Was die variablen Kosten angeht, natürlich ist ein solches Angebot nichts für jemanden der einen shared Hosting 2,50€ mit PHP Support Kunde ist. Aber wer ambitionierte Projekte hat und gerne einen Digg. Slashdot oder heise.de Effekt überstehen möchte, der ist auch bereit die Kosten dafür zu zahlen. Dabei ist es ist ihm natürlich lieber, diese Kosten nur dann zu zahlen wenn sie auch anfallen und nicht die gesamte Zeit in der Hoffnung, dass der Effekt eintritt.
Aber dein Beispiel funktioniert doch so schon gar nicht. Das ausfallsicherste System aus 3 Servern ist ein Server auf dem alle fünf Blogs liegen, ein Server auf den alles per rsync gespiegelt wird und ein Server als Standyb, der im Falle eines Defekts einen der anderen beiden ersetzen kann. Für Redundanz brauchst du deutlich mehr Hardware und schießt dir durch die dabei erfolgende Separation von Web- und DB-Servern performancetechnisch bei vielen DB Querys in den Fuß, weil sich die Netzwerklatenzen negativ auswirken. Dem kannst du schön durch den Einsatz von dedizierten Memcache-Servern entgegen wirken – also durch noch mehr Hardware.
Zunächst sollte man mal überlegen, was man da eigentlich erreichen will. Alle mir bekannten Hoster haben Double-Nine SLAs, garantieren also 99%ige Verfügbarkeit. Tripple-Niner sind exorbitant viel teurer, weil die Wahrscheinlichkeit, dass das System ausfällt (also vom Surfer nicht erreicht werden kann) nicht nur von den Servern abhängt. Der dollste HA-Cluster ist aufgeschmissen, wenn der Switch im Server-Rack spackt, wenn ein Core-Router im Rechenzentrum spackt, wenn der Gateway zum Carrier spackt über den die Pakete zu deinem Rechner geroutet werden, usw. usf.
Und wenn dann wie im Dezember der Anbieter auf dessen DNS Servern deine Domains liegen mit einer DDOS Attacke bedacht wird, schaust du auch in die Röhre. Okay, du kannst nen eigenen DNS betreiben – der auch ausfallen kann. Okay, du kannst zwei DNS betreiben..
You get the point.
Überleg also mal welchen Teil der Ausfallwahrscheinlichkeit du beeinflussen kannst und welche Kosten das verursacht. Und da wir bei Kosten sind: Wen schert es, wenn irgendein Blog mal ein paar Minuten oder Stunden offline ist? Wenn du ne fette E-Commerce Site betreibst und dich jede Sekunde die Summe x kostet (Umsatzeinbuße, Vertragsstrafe, o.ä.), dann kannst du überlegen, wieviel Kosten dir das wert sein könnte…
Wenn wir also nicht gerade ein Datacenter á la eBay, Amazon oder Google betreiben, ist das mit Ausfallsicherheit so eine Sache, von zusätzlicher Performance mal ganz zu schweigen…
Übrigens gibt es nichts, was es nicht gibt. Was Amazon S3 für Daten ist, bietet z.B. Sun für Rechenleistung – falls du mal deine eigene Simulation von der Evolution des Weltalls durchrechnen lassen möchtest. Da zahlst du eben pro Minute und CPU Core.
Ansonsten gibt es auch Hoster die Hosting auf HA Clustern anbieten. Deren Preise möchten wir aber beide nicht hören. Schließlich macht die Komplexizität eines solchen Systems auch viel Arbeit (je mehr Komponenten, desto mehr geht kaputt) und zwar Arbeit von erfahrenen Spezialisten (noch viel teurer als die normalen Admins).
Für uns Normalos ist das nix. Wenn einer meiner Rooties die Segel streicht, haben eben je nach Ursache mal mehr oder mal weniger Kunden gelitten – und ich leide mit ihnen.
Nunja, Du solltest Dich nicht so an den Zahlen festhalten. Häng von mir aus ein paar Nullen hintendran. Kein Hoster lebt von 5 Kunden. Natürlich gehört mehr Hardware als in meinem Beispiel dazu, aber es ging nur um den Punkt der Einsparungsmöglichkeiten.
Für die 100 Euronen die mich der Server bei Strato kostet kann ich bei Mosso, genau dass was ich hier beschreibe schon kaufen. Mosso ist und bleibt dabei sicher nicht der einzige Anbieter.
Wenn es nach mir geht, müssen sich die Hoster 2009 oder spätestens 2010 ganz warm anziehen. Auf shared Hosting und dedicated Server kommen harte Zeiten zu.
Ich persönlich sehe da keinen Trend. Wer aktuell mit Shared Hosting klarkommt, wird nicht plötzlich morgen irgendein Super-Setup benötigen. Es mag einen wachsenden Markt für derartige Dienste geben, aber es wird eine Nische bleiben.
Bei Shared Hosting klappern mir schon die Zähne, sobald es auf einem Server stattfindet, über den ich nicht herrsche. In der Praxis wollen die Kunden jemanden haben, den sie fragen können, warum eine E-Mail nicht raus geht oder nicht rein kommt, wo man den Spam-Filter bis aufs letzte Bit administrieren kann, wo ich die verschienen Dienste mit Erweiterungen versehen kann (z.B. ModSecurity für Apache, Memcache, usw. usf.).
Und in den USA mag ich ne Site für deutsches Publikum auch nicht hosten..
Interessant ist die Idee schon, einige Teile des Blogs “auszulagern”. Bevor man das tut, und bevor man überhaupt damit anfängt sollte man sich aber klar werden, was denn wirklich die Last verursacht: Die Ausführung von php, die Datenbank, oder ist der Server zu sehr mit der Auslieferung von css/Bildern beschäftigt. Für jede der Szenarien würden sich dann Lösungen, gegebenenfalls auch mit Hilfe von Cloud Computing finden.
Da hast Du mich falsch verstanden. Es geht nicht darum einzelne Teile auszulagern. Es geht hier nicht um ein CDN. Es geht um ein Gesamtpaket.
Applikations- und Datenbankserverfarmen plus CDN. Das eigene Projekte hochladen und fertig. Der Hoster kümmert sich um den Rest und man selbst hat Zeit sich auf das eigene Projekt zu konzentrieren.
Natürlich ist das kein Konkurrenzprodukt zu shared Hosting, habe ich ja oben bereits gesagt. Aber ambitionierte Webprojekte brauchen ausfallsichere und skalierbare Hostingarchitekturen. Diese selbst mit dedizierten Servern aufzubauen oder von einem Dienstleister aufbauen zu lassen ist schlichtweg zu teuer.
Ausfallsicherheit darf nicht mehr die Welt kosten und ausschließlich den großen Unternehmen vorbehalten sein. Technisch ist das alles möglich. Es gibt sicher ein paar nicht triviale Probleme zu lösen, aber sonst wärs ja auch langweilig.
Verstehe ich das richtig, dass es eher um eine Plattform wie die Google AppEngine geht?
Ja schon, wie Google App Engine nur ohne den starken Lock In Effekt. Es soll weiterhin möglich sein ganz normale Webanwendungen zu hosten. Z.B. auch einfach ein ganz normales Wordpress.
Deshalb gefallen mir Ansätze wie bei Mosso oder mor.ph besser. Allerdings stört mich bei Mosso, dass man immer min. 100 Dollar zahlen muss und bei mor.ph gefällt mir das Modell mit den Boxen nicht. Dort kauft man z.B. ein 2 Boxen Paket und dann läuft die eigene Anwendung auf 2 Boxen.
Mor.ph teste ich gerade mit einem Projekt (myPEAK ist jetzt da gehostet). Da werde ich die Tage nochmal nen längeren Post zu den Erfahrungen verfassen.
Das was du da beschreibst ist übrigens genau das was Amazon mit den Amazon Web Services (AWS) anbietet.
Man lässt sein Projekt auf einem Basic Server laufen und wenn dem die puste ausgeht schaltet man Rechenleistung und Bandbreite aus der Cloud dazu. Man bezahlt auch nur für verbrauchte Leistung.
(Im Prinzip das gleiche wie S3 für Speicher nur halt für CPU Leistung und Bandbreite)
Fragt mich aber nicht wie das genau funktioniert, ich habe kein Projekt was das ausnutzen könnte.
Nicht ganz. Es stimmt zwar, dass man mit Amazon EC2 je nach Bedarf Instanzen spawnen und wieder beenden kann, aber trotzdem bleibt die gesamte Administration an einem selbst haengen. Eine mySQL Replikation und eine auf den selben Sessionstore zugreifende Webserverfarm mit davorgeschaltetem Loadbalancer einzurichten ist damit immernoch relativ schwierig und vor allem zeitaufwendig. Auch im weiteren Betrieb.
Bei meiner Loesung wuerde auch diese Arbeit wegfallen.
Also man muss hier wirklich erstmal unterscheiden, was man erreichen will. Will man sich vor eventuellen Hardwareausfällen schützen oder vor Connectivity-Problemen oder vor stärkerer Last? Je nachdem, was es sein soll kann man fast unbegrenzt viel Geld dafür investieren.
Das “CloudHosting” oder wie man es auch nennen will hat ebenso einen Nachteil und der liegt einfach darin begründet, dass jeder Provider einem eine relativ typische Traffic-Kurve zeigen kann, die vormittags beginnt, sich bis mittags steigert, am Nachmittag dann etwas runter geht und Richtung Abend dann nochmals deutlich hoch geht. Dieser letzte Peak kann auch früher enden, wenn es sich eher um Geschäftskunden handelt. Im Ergebnis hat man aber das Problem, dass die Auslastung in einer beliebig großen Cloud im Schnitt gleich groß sein wird – in der Peak-Zeit hat man also das gleich Problem dass nicht wirklich mehr Kapazität zur Verfügung steht.
Natürlich kann man mehrere Sites auf einen Server packen, nur wird es dann halt so sein, dass man bei einem wirklich Peak auf einer Site auch mit Einschränkungen auf den anderen Seites leben muss. Load Balancing kann helfen, erkauft man sich aber mit Einschränkungen und deutlichem Aufwand. Ist eine Datenbank oder dynamische Dateien im Spiel, skaliert sich der Aufwand weiter.
Naja man kann hier endlos drüber schreiben, im Endeffekt muss man aber entscheiden, wieviel einem die Verfügbarkeit seiner Sites wert ist.
Leave your response!
Ein Artikel von Philipp Strube
Philipp Strube ist Gründer und Geschäftsführer von cloudControl. cloudControl entwickelt eine hochverfügbare und skalierbare Cloud Hosting Lösung für moderne Webapplikationen.
Werbung
Schlagwörter
Archiv
Blogroll
Themen
Letzte Artikel
Most Commented
Neueste Kommentare