Leistungsfähigkeit und Optimierung einer IT-Provisionierungslösung auf Basis von wsHeron
- Autor
- Gregor Kaufmann
- Thema
- IT-Infrastrukturautomatisierung
- Lesezeit
- 7-8 Minuten
Wie provisioniert man jährlich zehntausende von IT-Arbeitsplätzen und Benutzerkonten – zuverlässig, schnell und unter hoher Last? Dieser Blog-Post zeigt, wie eine massgeschneiderte Provisionierungslösung auf Basis von wsHeron, wsFlow und wsTriton die Antwort auf genau diese Frage liefert: durch eine durchdachte Architektur, konsequente Automatisierung und kontinuierliche Optimierung.
Herausforderungen der IT-Provisionierung
In Umgebungen, in denen IT-Infrastruktur nicht nur ein Hilfsmittel, sondern ein kritischer Betriebsfaktor ist, stellt die Provisionierung von Benutzern und Arbeitsplätzen eine enorme Herausforderung dar. Zehntausende Konten müssen jährlich erstellt, konfiguriert, verändert und wieder abgebaut werden – häufig innerhalb enger Zeitfenster und mit hohem Durchsatz.
Genau in diesem Umfeld entwickelte ein Kunde von weroSoft ein IT-Provisionierungssystem als Nachfolger eines ebenfalls durch ihn selbst entwickelten Automatisierungssystems. Dabei wurde die Funktionalität des Vorgängers bewusst aufgeteilt: Identitäts- und Zertifikatsmanagement sowie Bestell- und Auftragsabwicklung übernehmen neu eingeführte Spezialsysteme. Das Provisionierungssystem konzentriert sich auf die Kernaufgabe – die zuverlässige, performante Provisionierung von Benutzern, E-Mail-Postfächern und Systemzugriffen.
Das Provisionierungssystem ist konsequent als reines Backendsystem konzipiert – direkte Nutzerinteraktion war ausdrücklich nicht vorgesehen. Bestellung und Verwaltung von Informatikmitteln, wie sie noch Teil des Vorgängersystems waren, übernahmen andere Systeme im Verbund. Es empfängt sämtliche relevanten Informationen zu Benutzern, ihren Rollen und Rechten sowie den zugewiesenen Informatikmitteln vom vorgelagerten IAM-System und löst darauf basierend die entsprechenden Provisionierungsschritte automatisiert aus.
Diese Aufteilung der Funktionalität auf spezialisierte Systeme hat allerdings auch ihren Preis: das Provisionierungssystem ist heute ein Glied in einer Systemkette. Vor- und nachgelagerte Systeme übergeben Aufträge, liefern Stammdaten oder warten auf Rückmeldungen. Die erforderlichen Schnittstellen erhöhen die Komplexität von Entwicklung und Betrieb.
Ein weiterer Komplexitätsfaktor: Jedes System des Nachfolger-Systemverbunds wird durch ein eigenes, voneinander unabhängiges Team entwickelt, eingeführt und betrieben. Die Ablösung erfolgte schrittweise – neue Systeme werden parallel zum laufenden Vorgängersystem entwickelt und nach und nach in Betrieb genommen. In diesem Umfeld sind klar definierte Schnittstellen und verlässliche Verarbeitung keine Selbstverständlichkeit, sondern Grundvoraussetzung.
Als Fundament des Provisionierungssystems dienen die Produkte der weroSoft AG: wsHeron als serverseitiges Applikationsframework, wsFlow als Workflowsystem und wsTriton für die Benutzeroberflächen. Diese Kombination ermöglicht es dem Entwicklungsteam, sich auf die fachliche Kernlogik zu konzentrieren, statt Basisarchitektur und Infrastruktur von Grund auf neu zu entwickeln.
Architektur als Grundlage für Leistungsfähigkeit
Die Leistungsfähigkeit eines Systems beginnt nicht mit der Optimierung, sondern mit der richtigen Architektur. wsHeron implementiert eine «State of the Art» Architektur mit klarer SOA-Schichtung und konsequenter Modularisierung – von Beginn an auf Skalierbarkeit und Erweiterbarkeit ausgelegt.
Eine zentrale Rolle im Zusammenspiel der Komponenten übernimmt der Job Automation Service (JAS). Er steuert die zeitgesteuerte und priorisierte Verarbeitung von Provisionierungsaufträgen. Um eine hohe Flexibilität und kurze Reaktionszeiten auf Prozessanpassungen zu erreichen werden, wo möglich, Prozessschritte mittels vollautomatischen wsFlow-Workflows umgesetzt. Erst durch das enge Zusammenspiel zwischen JAS und wsFlow entsteht eine robuste, skalierbare Automatisierungsplattform, die sich auch unter hoher Last stabil und vorhersehbar verhält – und zeitnah auf Änderungen von Anforderungen und Rahmenbedingungen reagiert.
Als Workflowsystem übernimmt wsFlow die Steuerung und Ausführung der einzelnen Provisionierungsschritte. Workflows lassen sich ohne Codeänderungen anpassen, können nach einem Systemunterbruch exakt am unterbrochenen Schritt fortgesetzt werden und unterstützen die verteilte Ausführung auf mehreren Maschinen.
Systemauslegung und Lastanforderungen
Grundlage für die Dimensionierung des Systems war ein Mengengerüst, das aus den langjährigen Erfahrungen mit dem Vorgängersystem abgeleitet wurde: die erwartete Anzahl eingehender Nachrichten vom IAM-System sowie die daraus resultierenden Provisionierungsaufgaben. Das Provisionierungssystem wurde bewusst so ausgelegt, dass es dieses Volumen mit angemessener Reserve bewältigen kann – die Wahl der asynchronen Architektur mit JAS und wsFlow war dabei keine Selbstverständlichkeit, sondern Ergebnis dieser Anforderungsanalyse.
Das Mengengerüst hält nicht stand
Mit steigendem Funktionsumfang des Nachfolger-Systemverbunds und wachsender Nutzung zeigte sich im laufenden Betrieb: Das ursprüngliche Mengengerüst war zu niedrig angesetzt. Insbesondere die Anzahl der vom IAM-System eingehenden Nachrichten lag massiv über den prognostizierten Werten. Das System geriet unter Druck – und damit rückte die Frage der Leistungsoptimierung ins Zentrum.
Erschwerend kam hinzu, dass aus technischen Gründen der definitiven Ausserbetriebnahme des Vorgängersystems hohe Priorität eingeräumt wurde. Das Provisionierungssystem musste die fehlende Leistungsfähigkeit nicht irgendwann besitzen – sondern rechtzeitig, bevor das Vorgängersystem abgeschaltet wurde und kein Fallback mehr zur Verfügung stand.
Doch die Abschaltung verzögerte sich: Das für die Verwaltung der zugewiesenen Informatikmittel durch Informatikkoordinatoren zuständige Nachfolgesystem konnte seine Funktionalität nicht rechtzeitig bereitstellen. Die Ausserbetriebnahme des Vorgängers musste mehrfach verschoben werden.
Um die Situation aufzulösen, wurde entschieden, die benötigte Verwaltungsfunktionalität interimistisch im Provisionierungssystem zu implementieren – auf Basis von wsFlow und wsTriton, unter hohem organisatorischem Druck und in kurzer Zeit. Was zunächst als Übergangslösung gedacht war, veränderte das Anforderungsprofil des Provsionierungssystems grundlegend.
Das Provisionierungssystem, ursprünglich konsequent als reines Backendsystem mit hohem Durchsatz ausgelegt, muss nun gleichzeitig auch interaktiven Nutzern gerecht werden. Zwei grundlegend verschiedene Nutzungsprofile – asynchroner Massendurchsatz auf der einen, synchrone Benutzerinteraktion auf der anderen Seite – stellen das System vor Herausforderungen, die im ursprünglichen Design nicht vorgesehen waren.
Asynchrone Verarbeitung und Parallelität
Ein zentraler Optimierungsansatz liegt in der konsequenten Nutzung asynchroner Jobverarbeitung. Statt Provisionierungsaufträge sequenziell abzuarbeiten, werden sie durch den JAS parallelisiert und nach Priorität priorisiert. Das reduziert die Durchlaufzeiten auch bei hohem Auftragsvolumen und gewährleistet, dass zeitkritische Provisionierungen bevorzugt behandelt werden.
Konfiguration statt Code
Ein weiterer wesentlicher Hebel ist die Verlagerung von Logik aus dem Anwendungscode in Konfiguration und Workflows. Geänderte Anforderungen – etwa Anpassugen an den Provisionierungsprozessen – werden als Workflow-Anpassungen oder als neue Workflows umgesetzt und können ohne Neudeployment aktiviert werden. Das verkürzt die Time-to-Production von Wochen auf Stunden.
Systematische Leistungsoptimierung
Aufgrund der massiv höheren Anzahl von empfangenen Meldungen als spezifiziert zeigte das Provisionierungssystem anfänglich in Zeiten mit sehr hohen Lastspitzen stark verlängerte Durchlaufzeiten. Der Nutzen des Systems war dadurch erheblich eingeschränkt. Sein Lastverhalten musste rasch substanziell verbessert werden. wsHeron lieferte dafür wertvolle Werkzeuge.
Schwachstellen gezielt identifizieren
Das Sammeln und Auswerten relevanter Leistungsindikatoren ermöglicht es, Performance-Hotspots zu finden und einzelnen Systemkomponenten, Jobs oder Workflows zuzuordnen. wsHeron bietet mit dem Statistikmodul die notwendigen Hilfsmittel direkt out of the box. Die auszuwertenden Werte lassen sich feingranular konfigurieren – und erlauben so, sich der jeweiligen Situation bestmöglich anzupassen.
Ist eine problematische Komponente gefunden, lässt sich durch gezieltes Tracing die Ursache oft schnell eingrenzen. Das zur Laufzeit feingranular konfigurierbare Tracing in wsHeron liefert präzise Einblicke in den Verarbeitungsfluss – ohne Neustart, ohne Codeänderung. Lässt sich ein Problem damit nicht rasch isolieren, hilft eine longitudinale Betrachtung: Ausgewählte Leistungsindikatoren über einen längeren Zeitraum betrachtet lassen Muster sichtbar werden, die im Moment nicht erkennbar sind.
Trends proaktiv erkennen
Das routinemässige Sammeln und Auswerten der relevanten Leistungsindikatoren erlaubt es, Trends frühzeitig zu erkennen und proaktiv Massnahmen zu ergreifen – bevor aus einem Trend ein Problem wird. Wichtig dabei ist, das Statistikmodul so zu konfigurieren, dass die für das jeweilige System aussagekräftigen Kennzahlen in der richtigen zeitlichen Auflösung erfasst werden. Die routinemässige Auswertung schärft zudem das Verständnis dafür, was normal ist – eine unverzichtbare Grundlage für jede Anomalieerkennung.
Lösungen kontrolliert validieren
Ist die Ursache eines Performance-Problems gefunden und eine Lösung erarbeitet, muss deren Wirksamkeit unter kontrollierten, aber möglichst realistischen Bedingungen überprüft werden. wsHeron bietet dazu von Haus aus mehrere Möglichkeiten, kontrolliert Last zu generieren – sowohl für die asynchrone Jobverarbeitung als auch für wsFlow. Im Falle des Provisionierungssystems hat das enorm geholfen: Das System konnte gezielt getunt und der Durchsatz massiv gesteigert werden.
Erfahrungswerte aus dem Betrieb
Durch gezielte Massnahmen konnte das Lastverhalten des Systems innerhalb kurzer Zeit stark verbessert werden.
Die folgende Übersicht zeigt die Entwicklung des Meldungseingangs – also der vom IAM-System an das Provisionierungssystem übermittelten Nachrichten – seit Produktivstart. Die Grafik verdeutlicht das rasante Wachstum und macht die starke Diskrepanz zum ursprünglichen Mengengerüst sichtbar.
Die nachstehende Tabelle zeigt die Anzahl erledigter Jobs und Workflows pro Monat seit Beginn der systematischen Sammlung Job- und workflowspezifischen Leistungsindikatoren:
Bemerkenswert ist dabei die Charakteristik der Last: Sie ist nicht gleichmässig verteilt, sondern geprägt von kurzen, sehr hohen Lastspitzen. Einzelne Ereignisse erzeugen innerhalb kurzer Zeit eine Vielzahl von Provisionierungsaufträgen, die nahezu gleichzeitig verarbeitet werden müssen.
All das leistet das Provisionierungssystem derzeit mit nur einem einzigen Backend-Server. Dass dies möglich ist, ist das Ergebnis der konsequenten Architekturarbeit, der systematischen Optimierung und des engen Zusammenspiels von wsHeron, wsFlow und JAS – und gleichzeitig ein Hinweis auf das noch vorhandene Skalierungspotenzial.
Erfahrungen fliessen zurück ins Produkt
Erkenntnisse aus dem laufenden Betrieb fliessen kontinuierlich in die Weiterentwicklung von wsHeron, wsTriton und wsFlow ein. Zeigt sich ein Bedarf für eine neue allgemein nützliche Funktionalität – beispielsweise verbesserte Diagnostik – wird diese im Produkt selbst implementiert und steht damit sowohl dem laufenden Projekt als auch anderen Kunden der weroSoft zur Verfügung.
Fazit
Die Erfahrungen aus dem Projekt zeigen: Leistungsfähigkeit entsteht nicht durch nachträgliche Optimierung, sondern durch die richtige Architektur von Beginn an. wsHeron, wsFlow und wsTriton liefern dafür eine erprobte, modulare Basis, die es ermöglicht, fachliche Komplexität effizient zu bewältigen, ohne auf Flexibilität und Erweiterbarkeit zu verzichten.
Für Organisationen, die ähnliche Herausforderungen – hohe Transaktionsvolumen, anspruchsvolle Infrastruktur, schnell ändernde Anforderungen – bewältigen müssen, bietet dieser Ansatz ein überzeugend reifes Vorbild: Weniger Code auf der grünen Wiese, mehr Fokus auf das, was den eigentlichen Mehrwert schafft.