In dem Film "Dirty Harry" aus dem Jahr 1971 spielt Clint Eastwood einen knallharten, gewieften Polizisten. In der Eröffnungsszene stoppt er einen Banküberfall, indem er die Bankräuber mit seiner riesigen, langläufigen Smith & Wesson .44 Magnum-Handfeuerwaffe niederschießt. Schüsse ertönen und nur ein Räuber bleibt verwundet zurück. Harry geht zu ihm hinüber und sagt den Satz, der zum Markenzeichen dieses Films geworden ist. "Ich weiß, was Sie denken. Hat er sechs Schüsse abgegeben oder nur fünf? Nun, um ehrlich zu sein, habe ich in der ganzen Aufregung auch ein wenig den Überblick verloren. Aber da es sich um eine .44 Magnum handelt, die stärkste Handfeuerwaffe der Welt, die Ihnen den Kopf wegblasen würde, müssen Sie sich eine Frage stellen: Fühle ich mich glücklich? Und, hast du es, Punk?" Der Punk gibt daraufhin auf und fragt Harry, wie viele Schüsse noch übrig seien. Harry richtet die Waffe auf ihn und drückt den Abzug. Die Waffe ist leer. Der Bankräuber hatte Glück.
Verlassen Sie sich auf den Zufall, um sicherzustellen, dass Ihre unternehmenskritischen Anwendungen Tag für Tag kontinuierlich ihren Dienst tun? Oder verfügen Sie über eine Reihe von Testverfahren vor der Freigabe, die sicherstellen, dass sie sich genau wie vorgesehen verhalten? Ich stelle diese Frage, weil ich in letzter Zeit immer wieder die Frage gestellt bekomme, ob es notwendig oder ratsam ist, eine Anwendung neu zu erstellen, wenn die Version des Betriebssystems aktualisiert wird. Sie müssen Ihre Anwendung vielleicht nicht neu erstellen, aber ich rate Ihnen dazu, egal ob Sie Windows, Linux, VOS oder OpenVOS verwenden. Auch wenn die Hersteller dieser Systeme große Anstrengungen unternehmen, um sicherzustellen, dass ihre neuen Versionen mit dem bestehenden Code kompatibel sind, bin ich dennoch der Meinung, dass es am sichersten ist, Ihre Software auf der neuen Version neu zu erstellen und zu testen, und sich nicht auf Glück zu verlassen.
Wenn Sie eine unternehmenskritische Anwendung betreiben, ist es meiner Meinung nach zwingend erforderlich, diese Investitionen zu tätigen. Andernfalls riskieren Sie, wie in der Szene aus dem Film, dass Ihr Unternehmen wirklich unangenehme Konsequenzen tragen muss. Die Frage, die Sie sich stellen müssen, ist die gleiche: Bin ich glücklich? Wie kann ich bei all den Änderungen, die vorgenommen werden - neuer Systemcode, vielleicht ein CPU-Upgrade auf einen schnelleren Prozessor, vielleicht ein paar Anwendungsänderungen - sicher sein, dass nichts schief gehen wird?
Die Antwort ist die Erstellung einer sorgfältigen Reihe von Qualifikationstests. Wenn Sie Ihren Quellcode mit der neuen Version neu erstellen, werden Sie die verfügbaren Compiler- und Laufzeitfehlerbehebungen übernehmen. Möglicherweise werden Sie feststellen, dass der Compiler einige neue Fehlermeldungen ausgibt, die auf latente Quellcodefehler hinweisen. Wenn Sie Ihre Tests auf Unit-Ebene erneut ausführen, können Sie sicher sein, dass die funktionalen Aspekte Ihrer Anwendung weiterhin wie geplant funktionieren. Durch die erneute Durchführung von Tests auf Systemebene können Sie sicher sein, dass alles zusammen funktioniert. Wenn Sie schließlich eine Reihe von Kapazitäts- oder Stresstests durchführen, können Sie sicher sein, dass die gesamte Hardware- und Software-Suite auch den schwersten Belastungen gewachsen ist. Außerdem haben Sie ein Maß für den maximalen Durchsatz Ihrer Anwendung und können diese Zahl in den kommenden Monaten als Indikator dafür verwenden, wie viel freie Kapazität noch verfügbar ist.
Was auch immer Sie tun, tappen Sie nicht in die Falle zu glauben, dass Sie beim Upgrade keine Probleme haben werden, weil Sie mit der älteren Version oder der älteren, langsameren Hardware keine Probleme hatten. Unsere eigenen internen Statistiken zeigen, dass Softwarefehler mit einer höheren Prozessorgeschwindigkeit korrelieren. Probleme, die bisher unbekannt oder einfach selten waren, können auf einem schnelleren Prozessor zum Alltag werden. Software, die jahrelang funktioniert hat, kann leicht kaputt gehen, wenn das normale Wachstum des Transaktionsvolumens zu einem Überlauf der Warteschlangen führt. Der einzige Weg, um sicher zu sein, dass Ihre Anwendungen in der veränderten Umgebung ordnungsgemäß funktionieren, besteht darin, möglichst realistische und umfassende Tests durchzuführen.
Starrt nicht auf eine Pistole und fragt euch, wie viele Schüsse noch übrig sind. Gehen Sie bei einer unternehmenskritischen Anwendung kein Risiko ein. Verlassen Sie sich nicht auf Ihr Glück. Behalten Sie die Kontrolle über Ihre Situation. Finden Sie Probleme in Ihrem Labor, nicht in Ihrer Produktionsumgebung.
Wenn Sie diese Schritte befolgen, können Sie sich nach Feierabend entspannen und wissen, dass Sie Ihr Bestes getan haben, um sicherzustellen, dass Ihre Systeme reibungslos funktionieren. Vielleicht haben Sie sogar Zeit für einen Kinobesuch.
Das ist alles für den Moment.