zur Homepage
Computerwoche, 19/2005
Amazon wächst mit skalierbarer IT
Von Jörg Auf dem Hövel
In einer geclusterten Linux-Umgebung mit Oracle-Datenbank verwaltet Amazon.com seinen gigantischen Datenbestand.
Was dem Online-Versandhändler Amazon heute einen Verlust von Hunderttausenden Euro bringen würde, war 1995 kein Problem:
Die Web-Seite war für eine halbe Stunde offline. Amazons Chefprogrammierer schleppte im Gründungsjahr der Firma den
einzigen Sun-Server noch persönlich in seinen Honda, um ihn in die neuen Geschäftsräume zu transportieren.
Damals wie heute setzte der Katalog auf einer Oracle-Datenbank auf.
Über die Jahre wuchs mit den Anforderungen auch die Kapazität der
Maschinen. Wo zunächst Alpha Server von Digital Equipment die
Bestellungen sortierten, setzte CEO Jeffrey Bezos drei Jahre nach der
Firmengründung auf einen Sun-Starfire mit Solaris-Betriebssystem. Die
Firma war innerhalb der kurzen Zeit von elf auf über 1000 Mitarbeiter
angewachsen, vier Millionen Kunden bestellten regelmäßig bei Amazon.
Die Freude an der Sun-Hardware währte jedoch nicht lange, schon ein
Jahr später ging Amazon eine Kooperation mit Hewlett-Packard ein. Seit
dieser Zeit stattet HP Amazon mit Hardwarelösungen aus. Auf den Servern
läuft seither Linux. Für jeden Dollar, so CIO Rick Dalzell, den Amazon
in neue Hardware stecke, spare es zehn Dollar an Instandhaltungs- und
Lizenzgebühren.
Das Volumen der Suchanfragen und der Datenbank verdoppelte sich
bis 2002 jedes Jahr. Damals umfasste Letztere 10 Terabyte und zählte
bereits zu den fünf weltgrößten Datenbanken. Sie ist das Herz von
Amazon, an diesem Kulminationspunkt laufen alle Bemühungen zusammen.
Bestellungen, Kundendaten, Produktbestandsdaten: Das Data Warehouse ist
mit fast jedem System innerhalb des Unternehmens verbunden. Zu
Spitzenzeiten greifen über 1000 Mitarbeiter auf die Daten zu.
Foto: Amazon
Amazon mauserte sich vom virtuellen Buchhändler zum
Allround-Spezialisten für jedes erdenkliche Produkt. Im Januar 2004
kündigte Manager Tom Killalea das "14-Terabyte-Plus"-Warehouse an. Der
Online-Händler zählt seither nicht nur über 37 Millionen Kunden,
sondern auch 550 000 Verkäufer, die über die Amazon-Plattform ihre
eigenen Produkte vertreiben. Der Online-Store der US-Basketballliga NBA
läuft ebenso darüber wie der des Spielzeughändlers Toys’r’us. Im
Weihnachtsgeschäft 2004 erzielte Amazon erstmals mehr Umsatz mit
Elektronikartikeln als mit Büchern.
Zugleich erwarteten die Nutzer von Amazon wie von allen
Online-Läden, dass sie so zuverlässig funktionieren wie das Telefon:
(Ein-) Wählen und loslegen. Die Seite muss nicht nur ständig erreichbar
sein, sie muss zudem schnell laden und alle Informationen zügig
ausliefern. Ein Kunde will innerhalb einer Minute wissen, wie lange es
brauchen wird, bis eine Bestellung bei ihm ankommt, und ob die
einzelnen Waren in nur einem Paket oder separat versandt werden.
Umstrukturierung beendet
Heute ist die Umstrukturierung von Amazons IT-Architektur
abgeschlossen. Das System setzt auf Linux-Servern auf und läuft mit der
Software "Real Application Clusters" (RAC) von Oracle auf
Proliant-Server von HP. Oracle RAC ist eine Datenbank, die das
Clustering unterstützt. In jedem Proliant-DL-380-Servern gibt ein
Intel-Xeon-Prozessor mit 3,4 Gigahertz den Takt an. HP empfiehlt für
diese Proliant-Familie das modulare Speichersystem "Smart Array 1000"
(MSA 1000). Die Besonderheit bei Amazon: Die Architektur ist
zweigeteilt und verrichtet ihre Aufgaben an unterschiedlichen Orten,
die über ein Hochgeschwindigkeits-Glasfaser-WAN miteinander verbunden
sind. Ein Teil des Real-Application-Clusters steht in an der Ostküste
der USA, ein Teil an der Westküste.
Ein System beherbergt das eigentliche Data Warehouse, das
zweite dient als "staging area". Hier wird neue Software installiert,
um bei einem Update einfach zwischen der normalen Umgebung und der
Staging-Umgebung umschalten zu können. So lassen sich Software-Updates
ohne Downtime fahren. Jedes System besteht aus mindestens vier Nodes,
auf welchen jeweils Oracle auf Linux läuft. Die Nodes sind über
2-GB-Glasfaser mit SAN-Switches verbunden, die die Daten an die
diversen MSA-1000-Speichereinheiten verteilten. Mit dem Application-
und Cluster-Network sind die Nodes über 1-GB- und 100- MB-Ethernet
verknüpft.
Die Software von Amazon ist eine über die Jahre gewachsene
Eigenentwicklung, "100 Prozent homegrown", wie der frühere
Geschäftsführer Joe Galli einmal bemerkte. Die Site kam zunächst ohne
Anwendungs-Server aus, erst später setzte man auf Web-Logic von Bea. Um
das immer weiter wachsende Datenvolumen zu bewältigen, verbindet
seither dieser J2EE-kompatible Web-Server die WebClients mit den
verteilten Datenbanken.
Die geclusterte Architektur hat Vorteile: So ist die Kapazität
nicht auf einen einzelnen Server beschränkt. Wird neue Rechen-Power
benötigt, ist kein komplizierter Neuaufbau notwendig - ein neuer Server
wird einfach an das bestehende Netzwerk angeschlossen. Zum anderen
erhöht sich die Verfügbarkeit. Fällt ein Knotenrechner aus, übernehmen
andere Einheiten seine Aufgaben. Zudem verfügt Bea Weblogic über
Plugins für den Open-Source-Web-Server "Apache". Amazon nutzt eine von
der Firma Red Hat modifizierte Version von Apache mit Namen
"Stronghold", die den Apache-Server um SSL-Unterstützung erweitert.
Der Apache-Web-Server leistet hier das, was bei Ebay Microsofts
IIS übernimt: Er kapselt das Internet aus Sicherheits- und
Performance-Gründen von der Bea-Sphäre ab. Apache liefert
beispielsweise JPG-Dateien schneller und preiswerter aus, als der
lizenzpflichtige Bea-Server das kann.
Überhaupt profitiert das Online-Versandhaus von der
Open-Source-Bewegung. Seit 2002 nutzt Amazon das Website Templating
System "Mason", ein bekanntes Perl-Tool zur Generierung von HTML-Code,
das ebenfalls gut mit Apache zusammenarbeitet. Die Shop-Entwickler von
Amazon stellen ihre Arbeit zum Teil auch der Programmierer-Gemeinde zur
Verfügung. Über die Hälfte der Änderungen an Mason von Version 1.21 auf
1.22 gehen auf Amazon-Mitarbeiter zurück.
Der E-Commerce-Riese nutzt eine Reihe von Tools, um das
Geschäft mit Käufern und Lieferanten am Laufen zu halten. So spürt ein
Analyse-Tool der Firma SAS dem Käuferverhalten nach. Damit werden nicht
nur Präferenzen erforscht, sondern auch Kreditkarten-Betrugsfälle
verringert. Durch das Tool, so Jaya Kolhatkar, Leiterin der
Betrugsaufklärung bei Amazon, seien 2001 die Betrugsfälle um 50 Prozent
zurückgegangen.
Personalisierte Angebote
Neben der IT-Architektur ist auch Amazons
Personalisierungs-Software ein gut gehütetes Geheimnis. Das System
erkennt einen wiederkehrenden Besucher auf der Web-Seite und macht ihm
auf Grundlage der bisher getätigten Einkäufe Vorschläge für die neue
Shopping-Tour. Die Kunden sehen dann immer speziell für sie
modifizierte Seiten. Amazons Lust am Data Mining verführte das
Unternehmen 2000 sogar dazu, unterschiedliche Preise für das gleiche
Produkt zu verlangen. Als die Käufer mitbekamen, dass sie als
Versuchskaninchen benutzt wurden, stoppte Amazon das Experiment.
Die B-to-B-Strategie ist ähnlich ausgereift. Excelons "B2B Integration Server"
verbindet die Warenbestandsdatenbank von Amazon mit den großen Lieferanten.
Eine Software von Manugistics kontrolliert den globalen Warenfluss durch die
Lager und legt auch fest, welche Produkte in welchem Lager in welcher Menge
stets vorrätig sein sollten. Split-Orders, also Warenlieferungen, die von unterschiedlichen
Lagerhäusern aus den Kunden erreichen, will Amazon unbedingt vermeiden. Zudem
müssen länderspezifische Transport-, Zoll- und Steuerkosten berücksichtigt werden.
Ein Großteil der versendeten Produkte kommt daher heute aus nahe liegenden
Distributionszentren zu den Kunden.
Amazon als Plattformanbieter
Wie Ebay auch, öffnet Amazon seine Tore nun vermehrt für
Entwickler. Mit dem "Amazon Simple Queue Service" steht die Betaversion
eines E-Mail-Dienstes für Softwareanwendungen bereit. Beide Unternehmen
bieten damit ihre Infrastruktur, die sie ursprünglich für sich
entwickelt haben, nun anderen Unternehmen an.