Kategorien
Elektronische Kultur

Die IT-Architektur von Google

Google, IT, IT-Architektur, Infrastruktur /

Computerwoche, 20/2005
Aktualisiert am 17.6.2011

Ergänzt am 05.07.2012

Google setzt auf Billighardware

Jörg Auf dem Hövel

Die IT-Architektur der größten Suchmaschine

Zu jedem Internet-Startup-Unternehmen gehört eine Legende. Die von Google spielt Mitte der 90er Jahre in den Lagerräumen der Stanford University rund 60 Kilometer südlich von San Francisco. Hier tauchen die beiden befreundeten Studenten Larry Page und Sergey Brin immer wieder auf, um zu kontrollieren, welches Universitätspersonal neue Rechner erhält. Die veralteten PCs und Server der Mitarbeiter sammeln sie und binden sie in ihr eigenes Netzwerk ein. In diesem wollen sie die Antwort auf eine der großen Fragen des Computerzeitalters finden: Wie ziehe ich aus einer riesigen Menge an Daten die für mich relevanten Informationen heraus?

Heute ist die Antwort klar: mit Google. Die von Page und Brin entwickelte Suchmaschine ist wegen ihrer Schnelligkeit, der aufgeräumten Benutzeroberfläche und der Qualität der Suchergebnisse das weitaus beliebteste Tool zum Aufspüren von Informationen im Internet – im Durchschnitt erhält Google mindestens 1000-mal in der Sekunde eine Anfrage. Hinter der schlichten Oberfläche in über 88 Sprachen und mehr als 80 Domänen verbirgt sich eine Armada von Billigrechnern, die grundsätzlich noch immer nach dem Prinzip der ersten Stunden von Google aufgebaut sind.

Geografische Lastverteilung

Surft ein User zu www.google. com, sorgt zunächst ein DNS-basierender Lastenverteiler unter www.google.akadns.net dafür, dass der Anwender zu Google-Rechnern in seiner geografischen Nähe geleitet wird. Die Nutzung des DNS (Domain Name System) als Lastverteiler baut auf dessen TTL-Wert („Time to Live“) auf. Das DNS legt für jede Domain fest, wie lange sie im Cache eines Servers verleiben darf; im Normalfall sind das mehrere Tage. Ist die TTL abgelaufen, muss der Name-Server des Anwenders die IP-Adresse über das DNS anfordern. Google und sein Partner Akamai haben aber die TTL auf Sekunden eingestellt, so dass die Name-Server die IP-Adresse der Domain www.google.com nur kurz speichern dürfen, danach müssen sie eine neue IP beim zuständigen Name-Server von Google (beziehungsweise Akamai) anfordern. Auch ein einfaches Ping auf www.google.de zeigt ständig wechselnde IP-Adressen.

Die Suchanfragen werden also an wechselnde physikalische Rechenzentren gerichtet

google logo

Dieses Vorgehen hat zwei Vorteile: Zum einen verringert sich die Reisezeit der Datenpakte, was zu kürzeren Antwortzeiten führt, zum anderen laufen nicht alle Suchanfragen in den USA auf. Das Unternehmen nennt seine globalen Rechnerstandorte „Cluster“, hält aber geheim, wo genau die Rechnerfarmen stehen. Während andere IT-Giganten sich über ihre Infrastruktur in Schweigen hüllen, ist Google zwar auskunftsfreudiger, steht aber zugleich in dem Verdacht, die Mitbewerber über das wahre Ausmaß des ausgedehnten Rechnernetzes in die Irre zu führen. Zurzeit wird die Anzahl der Rechenzentren auf mindestens 13 geschätzt, wovon eines in Santa Clara, Kalifornien, und ein weiteres in Herndon, Virginia, steht. Europäische Surfer werden von Zentren in Zürich und Dublin bedient. Ein Datenpaket einer Anfrage an Google.de verlässt nie das „alte Europa“. Über die Frage, wie viele Server in den verschiedenen Rechenzentren stehen, wird seit Jahren spekuliert. Mal werden 60000, mal über 100 000 Server genannt. Nach eigener Auskunft indexiert Google über acht Milliarden Web-Seiten mit einer Größe von durchschnittlich 10 Kilobyte. Es müssen also 80 Terabyte Daten gespeichert werden.

Wichtiger als die genaue Anzahl der Maschinen und der indexierten Web-Seiten ist der subtile Aufbau dieser über viele Standorte verteilten Architektur. Die Beantwortung einer Suchanfrage an diese Grid-Datenbank läuft in zwei Phasen ab. In der ersten Phase landet die Anfrage bei Googles Index-Servern. Gibt der User beispielsweise computerwoche bei Google ein, so schaut der Index-Server in seinem Register nach, welche von ihm indexierten Seiten dieses Wort beinhalten. Bei einer Anfrage nach computerwoche online verknüpft Google die beiden Begriffe per Boolschen „UND“-Operator. Sodann wird nach Relevanz der Ergebnisse eine Rangfolge erstellt, die später darüber entscheidet, an welcher Stelle die Seite in der Ergebnisliste erscheint. Schon diese Erstellung der Liste läuft nicht nur auf einem einzelnen Rechner ab, sondern verteilt sich über mehrere Maschinen.

Weniger als eine halbe Sekunde

In einem zweiten Schritt kommen die Document-Server zum Tragen. Diese Rechner nehmen die in Schritt eins generierte Liste und extrahieren den aktuellen Titel und die URL der gefundenen Web-Seiten. Sie greifen dazu auf einen Schnappschuss des Webs zu, den die Suchroboter von Google immer wieder aktualisieren. Dieser Google-Cache versucht möglichst aktuell zu bleiben; die Robots durchkämmen das Internet immer wieder neu. Parallel zu den beiden Phasen initiiert Google mindestens zwei andere Prozesse. So wird die Sucheingabe zu einer Rechtschreibkorrektur-Software und zu einem Werbeanzeigen-Server weitergeleitet, der zu den Suchbegriffen passende Inserate generiert, die später am rechten Rand der Ergebnisseite erscheinen.

Sind alle Phasen abgeschlossen, erstellt der Google-Web-Server“ (GWS) eine HTML-Seite und sendet diese an den User zurück. Der Web-Server läuft, genau wie alle anderen Anwendungen, auf einer abgespeckten Linux-Version von Red Hat und ist – trotz einer gewissen Ähnlichkeit mit dem Open-Source-Marktführer „Apache“ – eine Eigenentwicklung aus dem Hause Google. Der gesamte Prozess läuft blitzschnell ab, eine Google-Suchanfrage dauert üblicherweise weniger als eine halbe Sekunde.

 

Google Racks
Moderne Google-Racks

 

An welcher Stelle in der Ergebnisliste eine Seite erscheint, hängt vom Page-Rank-Algorithmus ab. In diesen geht maßgeblich ein, wie oft und vor allem von welchen anderen Web-Seiten aus eine Web-Seite verlinkt ist. Wenn Google etwas über die Qualität der Seite weiß, die einen Link enthält, schließt es daraus auch auf die Qualität der verlinkten Seite. Anzahl und Qualität der fremdgesetzten Links bestimmen also den Rang bei Google.

Die damals an der Stanford University entworfene Strategie der Billighardware bestimmt noch heute Googles IT-Architektur. Sie baut weder auf Oracle-Datenbanken noch auf Sun-Servern auf, und auch die Blade-Technik bleibt außen vor. Google betreibt sein Geschäft auf preiswerten Servern, deren Platzbedarf ein oder zwei Höheneinheiten nicht überschreiten. Die 19-Zoll-No-Name-„Pizzaschachteln“ kauft das Unternehmen oft von der Firma Rackable – und manchmal auch auf dem Gebrauchtmarkt. In jedem dieser Server sitzen ein oder zwei normale x86-PC-Prozessoren und eine oder mehrere IDE-Festplatten. „Im Schnitt kostet ein Google-Server rund 1000 Dollar“, sagt Urs Hoelzle, Vizepräsident der technischen Abteilung bei Google.

Generationsübergreifend verrichten bei Google ältere 533-Megahertz-Intel-Celeron- genauso wie 2,4-Gigahertz-Pentium-Prozessoren ihren Dienst. Meist stehen zwischen 40 und 80 Server in einem Rack. Dort sind die Server über einen 100-Megabit-Ethernet-Switch verbunden, der ein oder zwei 2-Gigabit-Uplinks zu den anderen Servern hat. Ein Suchbefehl wird nicht nur von einem Rechner bearbeitet, sondern auf diversen Maschinen parallel abgearbeitet.

Der Absturz ist einkalkuliert

Die Performance des einzelnen Rechners ist damit weniger relevant als die schnelle Verbindung unter den Maschinen. Langsamere CPUs werden durch schnellere im Netzwerk ausgeglichen. Die hohe Ausfallwahrscheinlichkeit der preiswerten Hardwarekomponenten egalisiert Google durch eine konsequente Replikation aller Dienste. Fallen Festplatten oder gar ganze Racks aus, so übernimmt ein gespiegelter Server die Aufgaben.

Das intern programmierte „Google File System“ (GFS) rechnet stets mit einem solchen Absturz und ist so implementiert, dass es bei Problemen sofort auf eine andere Ressource zugreift. Dazu speichert es jedes Datenbit auf drei Rechnern, die immer in verschiedenen Racks sitzen müssen.

Ein Server arbeitet bei Google maximal drei Jahre lang, danach wandert er zum Elektro-Recyling. Ältere Rechner sind im Vergleich zu der nachrückenden Generation zu langsam: Sie würden die verteilten Rechenoperationen stark ausbremsen.

Teure Boards sind überflüssig

Auch in Zukunft will Google auf preisgünstige Hardware setzen. Multiprozessoren-Motherboards würden zwar mit einer besseren Performanz aufwarten, die Softwareparallelisierung läuft bei Google aber so zügig und einwandfrei, dass sich der hohe Preis für solche Motherboards nicht lohnen würde. Ein brandneuer Highend-Multiprozessor-Server würde dreimal so viel wie ein vergleichbares zusammengestelltes Rack kosten. Die wichtigste Suchmaschine der Welt wird also weiterhin mit Billighardware arbeiten.


Ergänzung am 05.07.2012

Google regelt mittlerweile den Verkehr zwischen seinen Datencentern auf besondere Weise. Die Router und Switches sind über ein Software-defined Network (SDN (Wikipedia)) verbunden, das mit OpenFlow-Protokoll (Open Flow (Wikipedia)) gesteuert wird. Das macht Google unabhängig von der Firmware, die auf den Routern und Switches läuft und erlaubt dem Konzern, den Datenfluss besser zu steuern und verschiedenen Prioritäten für verschiedene Dienste (Mails, Video, …) einzuräumen.

Von Jörg Auf dem Hövel

Jörg Auf dem Hövel (* 7. Dezember 1965) ist Politikwissenschaftler und arbeitet als freier Journalist u. a. für die Telepolis, den Spiegel und Der Freitag.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.