Ausgangspunkt war ein bestehender Architektur-Stack,
für den die Infrastruktur für alle Stages - also Test, Abnahme und Produktion, inklusive Deployment -
bereitgestellt werden soll.
Eine besondere Herausforderung war die sehr kurze Zeit für die Umsetzung, da der Kunde diese sehr
kurzfristig vollziehen musste. Weitere harte Nüsse waren: Die gesteigerten Anforderungen an die
Leistung, 24/7 Verfügbarkeit und Zero-Downtime durch Rolling Updates. Die Performance musste deswegen
so hoch sein, weil die Transaktion in unter 10 Sekunden vollzogen werden müssen und somit hoch
zeitkritisch sind.
Die Bank möchte so der Bereitstellung des im Jahr 2017 vom European Payments Council zugelassenen
Zahlungssystems für Echtzeitüberweisungen nachkommen, um sich in die Vorreiter-Rolle für
technologische Innovation sichern zu können. Siehe dazu auch den Artikel
Echtzeitüberweisung
auf Wikipedia.
Zunächst wurde zusammen mit dem Kunden die geplante Anwendungsarchitektur
analysiert. Durch die vorhandene Erfahrung aus vorherigen Projekten konnten auf viele Konzepte und
Herangehensweisen zurückgegriffen werden, wodurch dem Kunden in kürzester Zeit
automatisierte Build- und Deployment-Pipelines bereitgestellt werden konnten.
Die Sparkasse hat die Projekte inzwischen selbst übernommen und setzt diese ein, um zuverlässig und
schnell neue Versionen der Anwendungen sowohl in Testumgebungen als auch in Produktion auszurollen.
Dabei kann eine Umgebung, die sich über 11 Server verteilt, from Scratch in unter 30 Minuten
provisioniert werden - die meiste Zeit benötigt dabei der Download von Anwendungs-Artefakten.
Gezielte Updates von Anwendungskomponenten können innerhalb von 2-3 Minuten durchgeführt werden.
Nun können Überweisungen binnen 10 Sekunden durchgeführt werden. Etwas, was zuvor mehrere Tage in
Anspruch nahm. Noch bieten nicht alle Sparkassen die Technik an, diese wird nun zunehmend
weiter zur Verfügung gestellt.
Unsere Schwerpunkte lagen in der IT-Modernisierung und DevOps.
Linux, Red Hat 7, Docker, Gitlab, Gitlab-CI, Ansible, ELK,
Grafana, Nginx (Confluent Kafka, Flink)