Linux siegt bei Moneycab
Artikel erschienen in Swiss IT Magazine 2001/21
Anstelle gleich zu Beginn viel Kapital in einer High-End-Serverfarm zu binden, setzt das kürzlich gestartete Online-Wirtschaftsmagazin Moneycab auf ein leistungsfähiges Netzwerk, ein bequem zu bewirtschaftendes Content-Management-System und eine flexible, unkompliziert skalierbare Server-Infrastruktur auf Basis von Standard-Hardware und Open-Source-Software.
Auch wenn sich Moneycab der redaktionell aufbereiteten Wirtschafts- und Finanzinformation verschrieben hat, findet der Online-Leser mehr als nur statische Webseiten mit Text und Bild: Das Magazin verknüpft mit bisher unerreichter Aktualität den redaktionellen Inhalt mit börsenfrischen Marktdaten zu den besprochenen Unternehmen. Wohl nicht zuletzt, um due volle Kontrolle über die Anbindung der Marktdatenquellen zu behalten, betreibt man die gesamte Infrastruktur in einem Rechenzentrum im eigenen Hause.
Der eigentliche Webserver, der unter www.moneycab.com erreicht wird, übt nur die Funktion eines Request-Brokers aus: Er nimmt die Anfrage vom User entgegen, entscheidet via Load-Balancing, welcher Produktionsserver den Request übernehmen soll, und leitet ihn mit Hilfe einer Dispatcher-Software entsprechend weiter.
Nun übernimmt das Content-Management-System auf dem Produktionsserver. Es setzt die gewünschte Seite on-the-fly aus den verschiedenen Elementen zusammen: Die redaktionellen Artikel sind in Form von "Atomen" gespeichert, die anhand des vorher definierten Seitenlayouts angeordnet werden. Die Marktdaten werden live via HTML/XML in die Seite eingebunden. Eine Moneycab-Seite ist also nie statisch auf einem Webserver gespeichert; alle Seiten werden bei jeder Anfrage eines Surfers dynamisch generiert.
Interessant ist die Caching-Architektur: Da die Marktdaten möglichst aktuell sein sollen, werden sie grundsätzlich nicht zwischengespeichert. Für die statischeren redaktionellen Inhalte besteht zwischen Web- und Produktionsservern ein sogenannter Flush-Cache-Mechanismus.
Auf der Hardwareseite kommen derzeit sechs Multiprozessor-Server vom Typ IBM Netfinity 5600 zum Einsatz, die bis zur Kernelversion des Betriebssystems absolut identisch konfiguriert sind, wie Moneycab-CIO Georg Hess anmerkt: "Damit kriegen wir im Crash-Fall die Reaktionszeit optimal in den Griff: Wenn ein Webserver ausfällt, kann problemlos der zweite die Rolle des ersten übernehmen. Oder wir machen eine Produktionsmaschine aus der Entwicklungsumgebung zum Webserver - wir haben beliebige Flexibilität und sind auch nicht auf teure Wartungsverträge angewiesen."
Das Content-Mangagement-System Communiqué 2.5 von Day Network bietet unkomplizierte Skalierungsmöglichkeiten, was für Moneycab von Anfang an ein wichtiges Kriterium war: Die Gesamtleistung des Systems lässt sich ganz einfach durch Hinzufügen zusätzlicher Produktionsserver steigern, die zudem auf mehrere Standorte verteilt sein können. Hess: "Mit einer Vielzahl von Dispatchern kann gleichzeitig eine Vielzahl von Systemen bedient werden, man kann sich das in der Art virtueller Maschinen vorstellen. Wenn wir in einem nächsten Release prozessorintensivere Angebote wie interaktive, Java-basierte Charts anbieten wollen, genügt die Installation zusätzlicher Produktionssysteme. Auf die gleiche Weise liessen sich zusätzliche Varianten des Magazins verarbeiten, zum Beispiel eine französische Ausgabe, die von einer Westschweizer Redaktion produziert würde". Für die Wahl von Communiqué sprachen ausserdem das Look-and-Feel der Software, die Verwendung von Java und ECMAScript (standardisiertes JavaScript) als technische Basis sowie die Tatsache, dass die Day-Software unter allen Plattformen inklusive Linux läuft.
Dem Entscheid für eine Linux-basierte Lösung gingen ausgiebige Diskussionen voraus. Moneycab, so Georg Hess, startet als Content-System mit hauptsächlich journalistischem Inhalt: ein Finanzportal als Online-Magazin. Nur schon aus rechtlichen Gründen - dazu wäre eine Banklizenz nötig - ist via Moneycab kein Handel möglich. Dennoch wollte man von Anfang an prinzipiell in der Lage sein, Transaktionen zu verarbeiten. Als registrierter User kann man bereits heute eine Watchlist zusammenstellen und ein virtuelles Portfolio verwalten. Die Daten für den Online-Handel stünden somit bereit, und das System sollte so ausgelegt sein, dass daraus auch Transaktionen in einer per zertifiziertem SSL-Dienst gesicherten Umgebung abgewickelt werden können.
Im Finanzumfeld von UBS bis Consors dominiert die Hardware von Sun, ausgestattet mit dem Solaris-Betriebssystem aus gleichem Hause. Hess hatte demgegenüber bereits aus früherer Tätigkeit gute Erfahrungen mit Open-Source-Betriebssystemen und brachte Linux ins Spiel: "Nicht zuletzt dank zunehmender Güte der Distributionen lässt sich auf Open-Source-Basis bei gleichbleibender Leistung und Verfügbarkeit eine wesentlich kostengünstigere Umgebung bauen." Dieser klare Vorteil habe schliesslich auch die anfangs gegen Linux vorgebrachten Argumente aufgewogen: "Es war die klassische Diskussion: Alles muss sicher sein, zwanzigfach redundant, man nehme vier von jedem statt nur eines - da votierte ich immer dagegen. Ich habe eigentlich nur von einer Gefahr Respekt: Dass die Komplexität das System undurchschaubar macht, weil die Serverfarm zu gross wird. Das ist mein persönlicher Horror."
Die Linux-Lösung sei weniger komplex, und es seien mehr Linux-kundige Fachleute verfügbar. Ausserdem seien die Kosten geringer: Während, so Hess, ein einziger Sun-Server mit vergleichbaren Leistungsdaten und Storage-Kapazitäten um die vierhunderttausend Franken kostet, kam die technische Infrastruktur von Moneycab samt Servern, Netzwerk und Arbeitsplatzausstattung aller Mitarbeiter auf insgesamt vier Millionen zu stehen. "Wir haben das Geld lieber in ein zukunftsfähiges Highspeed-Netz gesteckt - das könnte man im Betrieb ja schlecht auswechseln." Das Gigabit-LAN auf Glasfaserbasis, das die Räume von Moneycab zweifach redundant durchzieht, ist denn auch auf dem allerneuesten technischen Stand.
Auf den Netfinity-Servern von IBM ist eigentlich Red Hat Linux zertifiziert, folglich hat Moneycab die Implementationsarbeiten mit dieser Distribution begonnen. Schon bald zeigten sich aber Probleme: Der RAID-Adapter in der Driver Section von Red Hat konnte weder auf der RAID-Seite noch auf der Seite des Gigabit-Interface zum Laufen gebracht werden. Ein zweites, ebenfalls schwerwiegendes Problem: Unter Red Hat funktionierten die Server nicht im echten Multiprozessorbetrieb; dazu wären umfangreiche BIOS-Workarounds nötig gewesen.
Nach den erfolglosen Versuchen entschied sich das Moneycab-Team dann, die Systeme nochmals neu mit SMP-Suse-Linux aufzusetzen, was bei fünf der sechs Server auf Anhieb gelang - bei der sechsten Maschine musste zuerst ein defektes Motherboard ausgewechselt werden. Für bessere Performance und Stabilität wurde in Zusammenarbeit mit Day zuletzt noch der Kernel abgespeckt: Unnötige Komponenten wie der Audio- und Grafikteil wurden entfernt.
Neben dem Management und Dispatching der Inhalte arbeitet auch die übrige Server-Infrastruktur von Moneycab auf Open-Source-Basis. Dazu gehört zum Beispiel eine mySQL-Datenbank, in der die Profilinformationen der registrierten Moneycab-Benutzer zuhanden des Support-Centers gespeichert sind. Nach ersten Versuchen mit Oracle entschied man sich auch hier für die Open-Source-Variante; dies vor allem, um bei der Verteilung der selbst entwickelten Services nicht von Herstellerlizenzen abhängig zu sein.
Eine brauchbare IT-Infrastruktur umfasst nicht bloss Server, sondern auch Storage. Der gesamte Content wird bei Moneycab permanent auf RAID-Systeme ausgelagert, und auch diese Funktion ist voll in der Linux-Umgebung realisiert. Dazu Georg Hess: "Wenn der Hardcore-Crash käme - was wir natürlich nicht hoffen -, wären derzeit maximal sieben Minuten an Produktion verloren."
Parallel zu den produktiven Servern wurde auch eine Entwicklungsumgebung aufgebaut, deren Content ebenfalls laufend nachgeführt wird. So können neue Portalversionen in realer Umgebung getestet und zusätzliche Content-Management-Templates anhand echter Inhalte entwickelt werden.
Einzig die Arbeitsumgebung für die Journalisten basiert nicht auf Linux: Sie arbeiten vornehmlich mit Thinkpads, auf denen Windows und Office installiert sind.
Das ganze Projekt wurde innerhalb von sieben Monaten realisiert. Die Finanzfachmarkt AG, die das Moneycab-Portal betreibt, bezog die Büros im Swisscom-Haus an der Zürcher Zypressenstrasse im Oktober 2000. Während gleichzeitig die Räume fertig eingerichtet wurden, erfolgten Evaluation, Einzug des Netzwerks und Aufbau der IT-Infrastruktur. Vor dem offiziellen Launch am 7. Mai bewies das Portal in einem vierwöchigen internen Testlauf seine Funktionsfähigkeit.
Die Firma Update, der Webdesign-Partner von Moneycab, erstellte zunächst einen Prototypen des Portals in Form gewöhnlicher HTML-Seiten. So konnten wichtige Aspekte wie grafische Gestaltung, Navigation und Usability bereits vor der Umsetzung ins Content-Management-System geprüft und perfektioniert werden. Erst danach wurden die einzelnen Elemente der Seiten, zum Beispiel ein Artikel mit Titel, Lead und Autorenzeile oder eine Kurstabelle, in Communiqué als Template definiert. Dabei liessen sich die HTML-Abschnitte optimal an die Communiqué-Umgebung anpassen.
An der Entwicklung des Portals sind insgesamt vier Partner beteiligt: Das Design stammt von Update, für die Content-Management-Kernfunktionen zeichnet Day verantwortlich, Rolotec ist für die Bereitstellung der Telekurs-Marktdaten zuständig. Entwicklung und Test von Templates für neue Seitenelemente übernehmen interne Entwickler. Dieses vierfach abgestützte Team hat sich laut Georg Hess bestens bewährt, ist in der Grösse gut überblickbar und kommt auch in der zweiten Runde wieder zum Zug.
Die Journalisten verfassen ihre Artikel wie gewohnt in Word, nutzen dabei aber eine spezielle Vorlage. Dadurch werden Textelemente wie Titel, Lead, Autorenname und Zitate bei der Übernahme in Communiqué automatisch korrekt aufbereitet. Manuell muss einzig die Kategorie angegeben werden, unter welcher der Artikel erscheinen soll - Beispiele sind "Meinungsmacher" oder "Richtig investieren".
Das Content-Management-System erleichtert die weitere Arbeit erheblich: Der Produzent oder sogar der einzelne Journalist kann dank den zuvor definierten Templates alle Elemente anhand anschaulicher Dialogboxen bewirtschaften, ebenso die Anordnung der Elemente auf der Seite.
Neben offensichtlichen Parametern wie genauer Titel, passendes Bild oder zusätzliche Links definiert der Produzent hier auch den sogenannten Meta-Content, auf dessen Basis das Content-Management-System weitere Inhalte auf der Seite plaziert. Mit der Angabe von Valorennummer und Börsenplatz erzeugt Communiqué zum Beispiel automatisch ein Chart der im Artikel besprochenen Firma; anhand von Schlüsselwörtern werden Links zu Hintergrundartikeln angezeigt. Oder es wird umgekehrt eine Liste von archivierten Artikeln präsentiert, die nähere Informationen zu der Firma liefern, deren Kursverlauf gerade zu sehen ist. Der Meta-Content dient mit der Kategorie des Artikels auch gleich der Archivierung: Es braucht keine speziellen Arbeitsschritte, damit ein einmal publizierter Artikel auch später für Querreferenzierung und Suche zur Verfügung steht.
Zu guter Letzt schaltet der Produzent den Artikel durch Anklicken der "activate"-Box frei, worauf er sofort auf allen syndizierten Produktionsservern zum Abruf bereitsteht.