Web

Ein Blick hinter Googles Kulissen

04.03.2005
Fehler eingeplant: Ein Techniker von Google hat auf der Eclipsecon verraten, wie seine Firma auf Basis billiger Commodity-Rechner eine hoch ausfallsichere Architektur gebaut hat.

MÜNCHEN (COMPUTERWOCHE) - Urs Hoelzle, ein Vice President of Engineering and Operations beim Suchriesen Google, hat auf der Eclipsecon einige der Geheimnisse verraten, die Googles Erfolg ausmachen. Zunächst einmal habe das Unternehmen seine Infrastruktur aus tausenden von preiswerten Commodity-Servern aufgebaut statt aus wenigen, teuren Highend-Systemen.

Entscheidend bei einem solchen Ansatz sei, dass man fehlertolerant arbeite, damit nicht der Ausfall einzelner Maschinen das große Ganze lahm lege, so Hoelzle weiter. Dazu habe man allerlei Vorsichtsmaßnahmen geschaffen. Beispielsweise arbeite Google mit einem eigenen Dateisystem. Dieses sei nicht nur für den Umgang mit großen 64-Megabyte-Datenblöcken optimiert, sondern könne auch jederzeit einen Plattenfehler oder einen gezogenen Netzstecker verkraften.

Die Daten würden an drei Stellen repliziert, und es gebe eine "Master"-Maschine, die Kopien lokalisieren könne, wenn ein Original nicht verfügbar sei. "Die Software muss Fehler tolerieren. Wenn man Fehler erwarten kann, dann kann man auch billige Commodity-Rechner für Internet-Dienste verwenden", erklärte der Google-Mann.

Hoelzle zufolge laufen die PC-Server von Google unter einem abgespeckten Linux. Dieses basiere auf der Distribution von Red hat und sei eigentlich nicht viel mehr als ein für Google-Zwecke modifizierter Kernel. Google hat außerdem ein System entwickelt, um große Datenmengen zu handeln und trotzdem schnelle Antworten auf Suchanfragen zu liefern. Das Web wird dazu in viele kleine Teile zergliedert ("Shards" im Firmenjargon), die für den Fehlerfall repliziert werden.

Neben dem Index der im Web auftauchenden Wörter, der als Array großer Files vorgehalten wird, gibt es auch Dokumenten-Server, die Kopien von Web-Seiten speichern, die Google crawlt und herunterlädt.

Ebenfalls sehr wichtig für Google ist laut Hoelzle die Entwicklung von Anwendungen, die auch über tausende Server hinweg performant laufen. Eine solche Parallelisierung erfordere normalerweise spezialisierte Tools und Kenntnisse. Google habe inzwischen ein eigenes Werkzeug namens "MapReduce", das die Wiederherstellung einer Anwendung nach einem Fehler automatisiere, und das im Laufe des vergangenen Jahres verstärkt eingesetzt worden sei.

Ferner habe Google eine eigene Job-Scheduling-Software entwickelt. Diese "Global Work Queue" teile Rechenaufgaben in viele kleine Jobs auf und verteile sie auf viele Rechner.

Alle Probleme könnten aber auch die eingebauten vielfachen Redundanzen nicht adressieren, erklärte Hoelzle, und zeigte in seiner Präsentation Bilder eines Löschzuges auf dem Weg zu einem Google-Rechenzentrum an einem unbekannten Ort. Genauer ging der Google-Mann darauf nicht ein, sondern verriet lediglich, es sei nicht nur um einen abgestürzten Rechner gegangen. (tc)