Um Google kursieren ja viele Geschichten. Eine, die relativ häufig auftaucht, ist die Fähigkeit von Google mit vielen tausend (derzeit etwa 450,000?) Server einen Dienst aufzubauen, der Milliardenumsätze macht. Der Trick dabei: es sind keine teueren Kisten von Sun oder HP, sondern billigste Rechner die wild zusammengeschustert in den Rechenzentren liegen.
Das wurde dann zu dem Mantra von vielen Startups. Wenn Google das so gemacht hat, dann machen wir das auch so. Wir kaufen einige billige Server von ICO oder Thomas Krenn (TK hat super Service übrigens!) und hängen die zusammen. Dann haben wir keine hohen Fixkosten für Server und können das fast linear skalieren. Klingt doch super! Oder?
Kurze Werbeunterbrechung: Ich suche dringend einen guten Frontend-Entwickler. Du sprichst (X)HTML, CSS, PHP, Smarty und JavaScript? AJAX, OO und SOA klingen für dich nicht wie Nahrungsergänzungmittel? Du suchst was neues? Schreib mir eine Mail! jan -at- hitflip.de Und jetzt weiter im Programm
Tja, dabei wird leider oft vergessen, was Urs Hoelzle, vice president of engineering and operations dazu gesagt hat: “”At Google scale…if you have thousands of PCs, you can expect one (failure) a day. So you better deal with that in an automated way, or you will have service outages.”
Bei Hitflip haben wir auch einige günstige Server gekauft, und dann angefangen da eine high availability Lösung drum herum zu bauen. Unsere Verfügbarkeit war auch eigentlich sehr gut bisher. Die Liste an defekten Teilen ist aber auch lang. In den letzten 6 Monaten sind uns 3 Festplatten, ein Netzteil und eine Sicherung kaputt gegangen. Ein NAS haben wir innerhalb kürzester Zeit so platt gekriegt, dass es seinen eigenen Hersteller vergessen hat und zur OEM-Version konvertiert ist.
Jeder dieser Ausfälle hat einen Server mitgenommen, einen Noteinsatz unserer Sysads bedingt aber auch das System etwas sicherer gemacht, weil wir noch einen SPOF erkannt und beseitigt haben. Die Downtime war dabei noch begrenzt (ausser die Sicherung, wenn ein ganzes Rack auf mal aus geht hilft wenig…) Die Lösung der SPOFs ist manchmal in der Infrastruktur, teilweise muss aber auch die Applikation umgebaut werden, um mit Ausfällen klar zu kommen.
Während man Ausfälle von Webservern leicht und ohne Probleme verkraften kann, sieht das bei wichtigen Caches, Datenbank oder Firewalls ganz anders aus. Da haben wir jetzt angefangen ganz un-Googly in Qualität zu investieren und auch mal eine Dell oder eine Sun hinzustellen.
Als junges Unternehmen haben wir kein Sysad-Team, das Systeme und Prozesse entwickeln kann, damit jede Anwendung Hardware-agnostisch “in der Wolke” laufen kann. Und die Zeit, die Applikation so zu bauen, haben wir auch nicht. Aussagen wie “no RAID, and only one power supply” sind halt einfach idiotisch, wenn man nicht gerade hunderte Server verbaut.
Deswegen meine Empfehlung an andere Startups: Webserver können billige Dosen vom Schrauber des geringsten Misstrauens sein. Für alles andere lohnt es sich schonmal etwas in Qualität zu investieren. Spart Zeit, mittelfristig Geld und vor allem Nerven.
auch Datenbanken und Co lassen sich mit günstigen Systemen gut skalieren, z.B. MySQL mit DRBD. In der OpenSource/GPL Welt gibt es viele verschiedene Ansätze die einen Blick wert sind.
Google hat btw auch einige SUN-Kisten, die wahrscheinlich irgendwo im Backoffice laufen
Henrik
September 27th, 2007
Viel Geld löst keine Probleme, genauso wie kein Geld. Probleme lösen fähige Sys-Admins und Entwickler die Verständniss für die Probleme und Nöte des jeweils anderen haben. Dazu sollte die Führungsriege über einen gewissen Grad an Common-Sense und eine klare Linie verfügen. Intressant zum Thema rund ums Web ist High Scalability.
Joern
September 27th, 2007
Richtig, viel Geld löst Probleme nicht. Aber wenig Geld verschärft sie bisweilen
Danke für den Linktipp!
DRBD ist wirklich interessant, seit es halbwegs stable zu sein scheint. Trotzdem ist mySQL Skalierung schon noch aufwendiger als Webserver deployen…
Jan
Oktober 5th, 2007
Für den Anfang reichen die “billigen Dosen” auch völlig aus, aber ab einer gewissen Größe sollte man auf qualitativ höherwertige Produkte (bspw. Dell oder HP) umsteigen, die all die netten Komponenten wie redundante Netzteile etc. mitbringen.
Qualitativ hochwertige Hardware ist allerdings ohne gute Sysads auch nicht zu gebrauchen. Hier sollte man definitiv eine enge Zusammenarbeit praktizieren mit täglichen Statusberichten und persönlichen Meetings mindestens einmal pro Monat, in denen die jeweiligen Anliegen beider Seiten besprochen werden.
High Scalability ist eine sehr coole Seite, wenn es um größere Infrastrukturen geht!
Andreas
März 20th, 2008