Ein Kunde aus dem Bereich Öffentlicher Dienst hat seine Web basierte, selbstentwickelte CRM-Anwendungsfamilie neu aufgesetzt. Das System versorgt 70 000 Nutzer, die intensiv damit arbeiten. Die Runderneuerung der Plattform, auf der die sich ständig weiterentwickelnde Anwendung läuft, war aus verschiedenen Gründen notwendig geworden. Der Support-Vertrag lief aus und zum anderen sollte der IT-Betrieb möglichst weit standardisiert werden. Die devops excellence AG stemmte große Teile des Projektes auch Dank des von ihr verfolgten DevOps-Ansatzes, der Software-Entwicklung und Betrieb eng miteinander verzahnt.
Deshalb übernahm die Devops Excellence AG die Aufgabe, den JEE-Container in einer neuen Version sowie die Java Virtual Machine eines neuen Herstellers einzubinden. Und das auf einer neuen Hardwareplattform: Intel basierende Linux-Server statt auf einer proprietären Unix-Plattform.
Die an sich schon komplexe Aufgabe wurde zusätzlich erschwert, weil die bisherige Enterprise-Anwendung eng an die bisherigen Java-Version gekoppelt war und Abhängigkeiten zum JEE-Container bestanden. Darüber hinaus verlangte der Kunde, die Anwendung im laufenden Betrieb umzustellen.
Bei dieser Operation am schlagenden Herzen sollten möglichst alle Risiken vermieden werden, die den laufenden Betrieb gefährden könnten.
Deshalb verfolgte Devops Excellence folgende Strategie:
• Die Anpassung der Software und die Konfiguration von JVM und JEE-Container wurden auf Basis einer stabilen Version der Software in einem eigenen Branch durchgeführt. Durch diese abgekoppelte Version (Branch) konnte sich Devops Excellence auf die Konfigurations-Änderungen und Umstellung des JEE-Container konzentrieren und eventuell auftretende Probleme sofort eingrenzen und beheben. Erst nachdem sämtliche Fehler behoben waren, wurden die Änderungen in den produktiven Hauptentwicklungsstrang integriert. Beispielsweise führten die internen Änderungen im JEE-Container zunächst dazu, dass die Ausführungsreihenfolge von DB-Statements „sporadisch“ geändert wurde und schwerwiegende Fehler in der Anwendung erzeugten. Doch Dank der Vorgehensweise konnten die betroffenen Stellen letztlich durch umfangreiche Tests und entsprechendes Monitoring frühzeitig lokalisiert und korrigiert werden.
• Um das Riskio weiter zu senken, wurden Komponenten nach einander umgestellt, um von Fehlern betroffene Bereiche möglichst klein zu halten. Das zog häufige Umstellungsaktivitäten in der Produktionsumgebung nach sich, die nur deshalb gelangen, weil die Softwareentwicklung dank des Devops-Ansatzes Hand in Hand mit dem Betrieb arbeitete. Der verfolgte Continous Build und Deployment Ansatz unterstützte diese Vorgehensweise.
• Es wurde ein sowohl funktional als auch technisch aufeinander abgestimmtes Set von Software und Plattform für Last-, Failover- und Stresstests verwendet. Die Tests wurden zum frühest sinnvollen Zeitpunkt durchgeführt, um Fehler schnell zu beheben und die Qualität frühzeitig zu sichern. Zum Beispiel verhielt sich die Anwendung im Hochlastbereich zuerst nicht stabil. Doch durch umfangreiche Last- und Stresstest gelang es schließlich, die Probleme zu erkennen und zu beseitigen.
Die gesamte Umstellung des Systems erforderte 16 Monate. Mit Abschluss des Projektes wurden folgende Ziele erreicht. Der Support der Plattformkomponenten war wieder sichergestellt. Die eingesetzten Produkte entsprachen der Standardisierungsstrategie des Kunden und last but not least sanken die Plattformkosten durch die Umstellung auf Intel basierende Linux-Server.
Clemens Usbeck, Vorstand der Devops Excellence AG macht den Devops-Ansatz mitverantwortlich für den Projekterfolg: „Nur die ganzheitliche Sicht auf das Projekt, die die gleichzeitige Betrachtung von Software samt Komponenten und der Plattform beinhaltet, erlaubte uns die Umstellung im laufenden Betrieb. Dafür war das ebenfalls im Devops-Vorgehen fest verankerte Zusammenspiel von Entwicklung und Betrieb eine wesentliche Voraussetzung für die Risiko minimierende Strategie, die wir für den Kunden verfolgt haben.“
Um solche großen Projekte erfolgreich abzuschließen, braucht die Devops Excellence AG Mitarbeiter – Architekten, Entwickler und Betriebsspezialisten -, die bereit sind, Verantwortung in Teams zu übernehmen und ganz im Devops-Sinne über den Tellerrand ihres jeweiligen Spezialgebiets zu schauen. „Wir sind 100prozentig davon überzeugt, dass sich die alte Arbeitsteilung der IT in Plan, Build and Run weitgehend überlebt hat, zumindest bei allen Webapplikationen, die einem ständigen Veränderungsprozess unterliegen. Wer also Freude daran hat, an großen Projekten verantwortlich mitzuwirken und die Zukunft von IT-Entwicklung und Betrieb erleben will, mit dem würden wir gern über seine Chancen bei der Devops Excellence AG sprechen“, sagt Clemens Usbeck.