Selbst erfolgreiche Veränderungen ziehen nicht selten eine gemischte Bilanz nach sich. Nirgends trifft das mehr zu als bei IT-Anwendungen. Legacy-Anwendungen waren monolithisch und vereinten oft Datenbank, Code und Webserver auf einem einzigen Host.
Heutzutage wurden sie durch moderne Anwendungen ersetzt, die weniger auf LAMP-Stacks basieren, sondern große Lasten mit Microservices, Containern und serverlosen Technologien bewältigen.
All das klingt wie eine Win-Win-Situation für IT-Experten und die Infrastrukturen ihrer Unternehmen, doch wie immer gibt es auch hier einen Haken. Die Komplexität moderner Webanwendungen macht sie für Unternehmen so reizvoll, doch dies bedeutet auch, dass Ausfälle auftreten können, die es bei Legacy-Systemen nicht gab. Daher nehmen wir nachfolgend einige der Schwachstellen moderner Webanwendungen in den Blick und zeigen auf, wie IT-Experten sich gegen unerwünschte Überraschungen wappnen können.
Das Problem mit DNS
DNS-Server mögen einfach erscheinen, doch unter IT-Experten kursiert nicht ohne Grund der Witz: „It‘s always DNS“ – wenn ein Problem auftritt, liegt es immer an DNS. DNS-Server scheinen einfach verwaltbar zu sein, aber das ist nicht immer der Fall. Ein Beispiel ist der Cloudflare®-Ausfall im Juli 2020: Ein Routerausfall in Atlanta legte große Bereiche des Internets lahm. Viele Unternehmen setzen mittlerweile auf zunehmend verteilte Modelle und verwalten DNS höchstwahrscheinlich nicht selbst, aber dennoch müssen sie sich dessen bewusst sein, welche Auswirkungen ein Ausfall auf ihr Unternehmen haben kann.
Unabhängig davon, wer den Fehler zu verantworten hat oder ob man ihn vielleicht gar nicht verhindern hätte könnnen, ist ein Ausfall ein Ausfall. Mit DNS kann genau das passieren: Ein Ausfall an einer einzelnen Stelle kann jeden Vorgang am Anfang eines Benutzer-Flows beeinträchtigen. DNS-Ausfälle können für moderne Anwendungen und alles, was hinter einer Firewall ausgeführt wird, ein echtes Problem darstellen. Daher können Unternehmen es sich nicht leisten, sie zu vernachlässigen.
Fehler im Edge-Bereich beheben
Auf der Web-Ebene einer Infrastruktur (besonders beim Edge-Router) gibt es viele mögliche Gründe für Ausfälle. Sie können sich auf dieser Ebene katastrophal auswirken oder auch nur minimale Auswirkungen auf die Performance haben. In jedem Fall können Probleme durch vieles verursacht werden.
Daher müssen IT-Experten auf Fehler oder Ausnahmen achten und benötigen ein Infrastruktur-Monitoring, das schnellstmöglich handlungsrelevante Daten bietet, mit denen Fehler behoben werden können. Es müssen Maßnahmen für den Umgang mit Fehlern und Ausnahmen eingeplant sein, die greifen, wenn der Ernstfall eines Fehlers auf der Web-Ebene eintritt. Nicht jeder Fehler ist gleich eine Katastrophe, doch auch leichte Verlangsamungen können bereits spürbare Auswirkungen haben.
Wenn die Performance auf der Web-Ebene beeinträchtigt scheint, sollten IT-Experten auch die Infrastruktur betrachten, in der Anwendungen ausgeführt werden. Wenn ein Server beispielsweise keine Ressourcen oder CPU-Arbeitsspeicher mehr hat, leidet die Performance der Anwendungen. Daher müssen IT-Experten die richtige Ressourcenbereitstellung sicherstellen. Für Cloud-Umgebungen ist außerdem eine automatische Skalierung erforderlich. Wenn CPU und Arbeitsspeicher an ihre Grenzen geraten, wird so ein neuer Server hinzugefügt, damit mit den Anforderungen Schritt gehalten wird.
Nicht zuletzt kann auch die Konfiguration auf dieser Ebene deutliche Auswirkungen haben. IT-Experten sollten bei einem hohen Volumen überprüfen, wie viele Worker und Threads sie für diese Anfrageebene konfiguriert haben. Schon leichte Veränderungen können zu drastischen Verbesserungen oder ernsthaften Problemen führen. Damit später alles möglichst reibungslos funktioniert, sollte man sich sorgfältig mit der Konfiguration befassen und genau überlegen, welchen Datenverkehr man erwartet.
Ineffizienzen in Datenbanken erkennen
Eine Datenbank ist nur so gut wie die eigens geschriebenen Abfragen und ineffiziente Abfragen kommen erschreckend häufig vor. Eventuell wurde eine einzelne Abfrage getätigt, die viel Zeit in Anspruch nimmt. Spektakulärer ist das Beispiel eines früheren Kunden, der herausfand, dass jedes Mal, wenn ein Benutzer einen der Endpunkte in ihrer Anwendung nutzte, mehr als 1.000.000 Abfragen an eine Datenbank ausgelöst wurden – natürlich gefolgt von einigen Problemen.
Ineffiziente Abfragen sind nicht das Einzige, was Anwendungen auf Datenbankebene beeinträchtigen kann. Auch schlechte SQL-Anweisungen können die Anwendungsleistung beeinträchtigen und sich bis auf die Endbenutzer auswirken.
Fazit
Moderne Webanwendungen haben verschiedene mögliche Schwachstellen. Wie kann man sich also davor schützen und gut vorbereiten? Egal welchen Status die Anwendung hat und ob man sie besitzt, Support leistet oder für die gesamte Wartung verantwortlich ist, ein gutes Anwendungsleistungsmonitoring ist unverzichtbar. Nur so erhält man die nötige Transparenz, um Probleme zu erkennen, und die Daten, mit denen man sie beheben kann. Mit den richtigen Überwachungsmöglichkeiten kann man die endlosen Möglichkeiten moderner Webanwendungen ganz ausschöpfen und dafür sorgen, dass die Veränderungen in der IT-Umgebung eine eindeutige Verbesserung darstellen.