Mittwoch, 24.08.2011 - 12:37
Die Diskrepanz zwischen Managerspielzeug und Technikeralltag
Die Technik entwickelt sich weiter -
und das ist auch gut so. Aber bisweilen schlägt sie dabei
Pfade ein, die zwar anfangs gut erscheinen, sich in der
täglichen Praxis jedoch als mindestens holprig erweisen. Es
gibt dann bune Werbeprospekte, beeindruckende Vorführungen in
Umgebungen, in denen sich die Entscheidungsträger zu Hause
fühlen (das heißt heute: Webbrowser) und mit Argumenten,
die meist auf den Preis hinauslaufen. Alles wird bunter, besser,
einfacher.
Technisch gesehen werden die Dinge dabei komplexer. Und komplexer heißt, daß es mehr Stellen gibt, die kaputt gehen und weniger, an denen man eingreifen kann.
Virtualisierung ist eines dieser Monster. Die Idee dahinter klingt zunächst gut: Resourcen besser nutzen, weniger Hardware, Server lassen sich leichter von einer auf eine andere Hardware migrieren. Die Realität ist aber eine andere: Es entsteht ein Wildwuchs virtueller Maschinen, weil es ja gefühlt nichts kostet und so schnell und einfach geht. Virtualisierung und Resourcenzuweisung ist komplex und immer wieder anfällig für Fehler, so daß sich die Probleme auf jeder Stufe vervielfachen. Die Hauptarbeit bei der Administration besteht ohnehin in der Softwarepflege auf den Maschinen, das auseinanderdriften der Versionsstände und der administrative Aufwand wird auf virtuelen Maschinen nicht geringer, der Imapct bei Updateproblemen auf den darunterliegenden Hosts aber umso gewaltiger. Die Fehlersuche wird erheblich aufwändiger, weil sie in viel mehr ayern stattfindet. Und die riesigen Maschinen, die gebraucht werden, um eine handvoll (habwegs ausgelasteter) Server zu ersetzen sind am Ende oft auch weder billiger noch sparsamer.
Remote Management ist die nächste Geschichte. Früher gab es dafür einen seriellen Terminalserver und Masterswitches, Steckdosen mit Administrationsoberfläche. In aller Regel reichte eine kleine Kaskade von ssh Zugängen aus, um selbst vom Handy aus eine maschine neu zu starten und auf ihre Konsole zu kommen. heute gibt es Remote Management Karten. Über eine Weboberfläche gibt es Javabasierte Konsolen. Ich brauche ein VPN, einen Javafähigen Browser und viel Glück, daß das komplexe Remote-management-Modul (ein kleiner Rechner in sich) nicht gerade wieder mal selbst irgendeinen Fehler oder irgendein Problem hat. Mit dem seriellen terminalserver liefen die Konsolen aller wichtigen Maschinen innerhalb eines screens auf einer Verwaltungskiste zusammen, das ganze wurde noch in eine Datei geloggt. Wenn irgendein fehler auftrat, konnte ich in dieser dann einfach zurückscrollen und nachschauen. Heute geht auf der Remote-Management-Karte der VGA-Screensaver an und ich kann nichts sehen, bevor ich den Host resette. Mit viel Glück kann ich eine serielle Konsole simulieren, an die ich per ssh rankomme - daß sich diese so einfach und automatisiert loggen läßt ist aber ohne erheblichen Aufwand kaum darstellbar, da es spätestens an mangelnder Key-Authentication scheitert, wenn wegen eines Updates des Management-Moduls mal wieder die Verbindung zusammenbrach...
Wir sollten uns ein Beispiel an der Raumfahrt nehmen. Das Space Shuttle war das faszinierendste Weltraumfahrzeug, das die Menschheit bisher erschaffen hat. Aber es war komplex, fehleranfällig und dadurch letztenendes unsicher. Das russische Sojus-System ist bei weitem weniger komplex, aber es flog vor dem Space Shuttle und ist heute das einzige System, was Menschen zur ISS befördern kann. Es kann viele Dinge nicht, die mit dem Space Shuttle möglich waren, das ist unbestritten, aber es erfüllt zuverlässig seine Grundaufgabe: Es transportiert Menschen in den Weltraum und wieder zurück.
Technisch gesehen werden die Dinge dabei komplexer. Und komplexer heißt, daß es mehr Stellen gibt, die kaputt gehen und weniger, an denen man eingreifen kann.
Virtualisierung ist eines dieser Monster. Die Idee dahinter klingt zunächst gut: Resourcen besser nutzen, weniger Hardware, Server lassen sich leichter von einer auf eine andere Hardware migrieren. Die Realität ist aber eine andere: Es entsteht ein Wildwuchs virtueller Maschinen, weil es ja gefühlt nichts kostet und so schnell und einfach geht. Virtualisierung und Resourcenzuweisung ist komplex und immer wieder anfällig für Fehler, so daß sich die Probleme auf jeder Stufe vervielfachen. Die Hauptarbeit bei der Administration besteht ohnehin in der Softwarepflege auf den Maschinen, das auseinanderdriften der Versionsstände und der administrative Aufwand wird auf virtuelen Maschinen nicht geringer, der Imapct bei Updateproblemen auf den darunterliegenden Hosts aber umso gewaltiger. Die Fehlersuche wird erheblich aufwändiger, weil sie in viel mehr ayern stattfindet. Und die riesigen Maschinen, die gebraucht werden, um eine handvoll (habwegs ausgelasteter) Server zu ersetzen sind am Ende oft auch weder billiger noch sparsamer.
Remote Management ist die nächste Geschichte. Früher gab es dafür einen seriellen Terminalserver und Masterswitches, Steckdosen mit Administrationsoberfläche. In aller Regel reichte eine kleine Kaskade von ssh Zugängen aus, um selbst vom Handy aus eine maschine neu zu starten und auf ihre Konsole zu kommen. heute gibt es Remote Management Karten. Über eine Weboberfläche gibt es Javabasierte Konsolen. Ich brauche ein VPN, einen Javafähigen Browser und viel Glück, daß das komplexe Remote-management-Modul (ein kleiner Rechner in sich) nicht gerade wieder mal selbst irgendeinen Fehler oder irgendein Problem hat. Mit dem seriellen terminalserver liefen die Konsolen aller wichtigen Maschinen innerhalb eines screens auf einer Verwaltungskiste zusammen, das ganze wurde noch in eine Datei geloggt. Wenn irgendein fehler auftrat, konnte ich in dieser dann einfach zurückscrollen und nachschauen. Heute geht auf der Remote-Management-Karte der VGA-Screensaver an und ich kann nichts sehen, bevor ich den Host resette. Mit viel Glück kann ich eine serielle Konsole simulieren, an die ich per ssh rankomme - daß sich diese so einfach und automatisiert loggen läßt ist aber ohne erheblichen Aufwand kaum darstellbar, da es spätestens an mangelnder Key-Authentication scheitert, wenn wegen eines Updates des Management-Moduls mal wieder die Verbindung zusammenbrach...
Wir sollten uns ein Beispiel an der Raumfahrt nehmen. Das Space Shuttle war das faszinierendste Weltraumfahrzeug, das die Menschheit bisher erschaffen hat. Aber es war komplex, fehleranfällig und dadurch letztenendes unsicher. Das russische Sojus-System ist bei weitem weniger komplex, aber es flog vor dem Space Shuttle und ist heute das einzige System, was Menschen zur ISS befördern kann. Es kann viele Dinge nicht, die mit dem Space Shuttle möglich waren, das ist unbestritten, aber es erfüllt zuverlässig seine Grundaufgabe: Es transportiert Menschen in den Weltraum und wieder zurück.