Banking auf der Überholspur – DevOps in Banken

DevOps bietet Banken die Möglichkeit, schneller und effizienter neue Software zu entwickeln und so dem Druck von FinTechs, Apple & Co. standzuhalten

Firmen wie Uber, Amazon oder N26 wissen immer ganz genau, was ihre Kunden wünschen. Ganz einfach, weil sie jeden Schritt und Click beobachten und auswerten. Das ermöglicht ihnen, ihr Angebot sowie die Abläufe auf der Webseite und innerhalb von Apps immer weiter zu optimieren. Um dabei der Konkurrenz immer einen Schritt voraus zu sein, ändern sie ihre Software nahezu jeden Tag, teilweise mehrfach und das im laufenden Betrieb – das Ganze nennt man auch Continuous Delivery. Durch dieses Vorgehen sind sie in der Lage, die Funktionalität ihres Angebotes umgehend an sich ändernde Rahmenbedingungen anzupassen. So können sie neue Ideen testen, Preise ausprobieren, auf Kundenwünsche reagieren, neue Compliance-Vorgaben umsetzen oder ganz einfach bestehende Fehler reparieren.

Interessanterweise unterscheiden sich Banken in ihrem Geschäftsmodell nicht grundlegend von Internetriesen wie Google oder Amazon. Bei komplett digitalisierten Prozessen macht es aus technischer Perspektive kaum einen Unterschied, ob eine Suchanfrage, ein Online-Einkauf, eine Überweisung oder ein Aktienkauf getätigt wird. Genau das spiegelt sich auch bei den Erwartungen der Bankkunden wider. Sie erwarten von ihrer Bank mittlerweile dieselben Services und Abläufe, die sie z.B. von Online-Shopping gewohnt sind. Eine leicht zu bedienende App ist damit wichtiger als eine Filiale in der Nähe, weshalb reine Internetbanken bereits Millionen von Konten verwalten.

Halten wir fest: Geschwindigkeit, Benutzerfreundlichkeit und Zuverlässigkeit sind die entscheidenden Faktoren. Und die sind auch für Banken nur durch kontinuierliche Verbesserungen (Continuous Delivery) an den Systemen aufrecht zu erhalten.

Bremsklötze im Banking 

Allerdings ist es für Banken nicht einfach, jeden Tag aufs Neue ihre Anwendungen den Ansprüchen und Anforderungen anzupassen. Im Gegensatz zu Start-Ups, die IT-technisch auf der grünen Wiese anfangen bzw. gar keine eigene IT mehr besitzen und sich alles “as a Service” aus der Cloud holen. 

Banken im Gegensatz müssen mit über Jahrzehnten gewachsenen IT-Infrastrukturen, komplexen Plattformen und komplizierten Schnittstellen-Architekturen zurecht kommen. Darüber hinaus unterliegen sie umfangreichen Compliance-Vorgaben wie der BAIT (Bankaufsichtliche Anforderungen an die IT). Die BAIT regelt unter anderem IT-Sicherheit, Datensicherung und auch das Thema Anwendungsentwicklung. Will eine Bank in einem solchen Umfeld Continuous Delivery realisieren, führt an neuen Wegen und Technologien kein Weg vorbei. 

Sicherer App-Entwicklung mit DevOps für Banken

Vor allem, weil gerade beim Banking sichergestellt sein muss, dass wirklich alles 100%ig funktioniert. Ein Online-Einkauf lässt sich immer rückgängig machen, eine Devisen-Transaktion nicht, denn der Kurs des zugrunde liegenden Instruments ändert sich jede Sekunde. Insofern ist eine der Kernfragen für Banken, wie sich hunderte Softwareänderungen in einer komplexen Umgebung testen, sicher ausrollen und bei Bedarf wieder rückgängig machen lassen?

Hier kommt DevOps ins Spiel. Die Kombination aus Softwareentwicklung (Development) und dem IT-Betrieb (Operations) beschreibt Maßnahmen, mit denen sich Bruchstellen zwischen Anwendungsentwicklung und IT-Betrieb überwinden und solche Herausforderungen meistern lassen. DevOps ist allerdings kein fertiges Produkt, sondern eine Methode, welche die Zusammenarbeit von Softwareentwicklung und IT-Betrieb beschreibt. Jeder IT-Dienstleister, so auch Adacor, muss ein eigenes Vorgehen erarbeiten und anschließend seinen Tool-Baukasten mit Software füllen. Daraus folgt, dass am Ende DevOps bei jedem Kunden und in jedem Projekt anders aussieht.

Praxisbeispiel Mobile Banking

Am Beispiel einer mobilen Banking-App lassen sich die Herausforderungen gut verdeutlichen. Solch eine App, die zum Beispiel europaweit genutzt wird, muss mit dem zentral verwalteten Kernbankensystem kommunizieren. Der “Kern” der App also die Funktionalität ist in allen Ländern gleich, wird jedoch durch landesspezifische Module an die lokalen Gegebenheiten angepasst. Neue Funktionen oder gesetzliche Vorgaben müssen täglich, Sicherheitsupdates teilweise stündlich weltweit ausgebracht werden. Auf der einen Seite müssen dafür die Apps auf den mobilen Endgeräten, auf der anderen Seite die Server in der jeweiligen Niederlassung aktualisiert werden. Hinzu kommt, dass je nach Zuspruch der Endkunden die Anzahl der verfügbaren Server in der jeweiligen Cloud hoch- oder runtergefahren werden muss.

Ein derartig schnelles Entwicklungstempo kollidiert mit traditionellen Betriebskonzepten, die vorsehen, dass jedes Release manuell vom Betriebsteam auf einer Staging-Umgebung getestet wird und dann auf das Live-System ausgerollt wird. Bei einem Release pro Monat mag dies noch funktionieren, aber nicht bei täglichen oder stündlichen Updates. Denn soll in dem genannten Beispiel etwa eine neue Software auf allen Servern installiert werden, dann war bisher viel manuelles Arbeiten angesagt. Der Administrator musste die Software für jedes System anpassen, sich sukzessive auf allen diesen Systemen einloggen, die entsprechende Datei installieren, das System eventuell neu starten, kontrollieren ob alles läuft – und nicht vergessen, sich am Ende wieder ausloggen. 

Manuelle Prozesse verbannen

In einer DevOps-Welt kann man all das abstrahieren und automatisieren, denn durch den Einsatz von DevOps kommt man weg davon, sich mit einzelnen Systemen zu beschäftigen. Dazu erstellt man Templates, programmiert also Code, der am Ende das macht, was bisher der Admin per Hand in die Shell des Servers eingegeben hat. Sämtliche Änderungen an den Vorlagen werden revisionssicher dokumentiert – der Admin spielt nur noch diese Templates aus. Vor dem Ausspielen kann man alles auf einem Staging-System aufspielen und dort automatisierte Security-Tests anstoßen. Hier kann man das in Code “gegossene” Security-Framework der Bank gegen das Staging laufen lassen und so automatisch feststellen, ob das geplante Vorgehen den Sicherheitsrichtlinien der Bank entspricht. Das deckt auch das Vulnerability Management ab.

Wenn die Tests bestanden werden, erfolgt automatisch eine Rückmeldung an das Automatisierungstool. Adacor verwendet dafür die Open-Source-Software Ansible von Red Hat. Ansible ermöglicht das Lifecycle-Management von Apps durch Anwendungsverteilung, Netzwerkautomation, Konfigurationsmanagement und Workflow-Orchestrierung. Im Abschluss sorgt Ansible zusätzlich für die Ausspielung der Änderungen auf allen Servern. Das bedeutet, der sonst sehr aufwändige Prozess wurde stark automatisiert und verschlankt. Im Idealfall hat der Admin dabei gar keinen direkten Zugriff mehr auf Server, Dateien oder personenbezogene Daten. Ein weiterer Vorteil ist, dass er das, was er tut, nicht mehr manuell zu dokumentieren braucht, denn das erledigen die Tools automatisch.

Die Zukunft gehört DevOps – Auch in Banken

Trotz der vielen Vorteile darf DevOps nicht als Allheilmittel gesehen werden. Wie bei allen IT-Projekten sollte bei DevOps am Anfang die Analyse stehen: In welchen Umgebungen ergibt DevOps grundsätzlich Sinn, in welchen nicht? Für eine extrem sicherheitskritische Transaktionssoftware eignet sich DevOps eher weniger, für mobile Apps hingegen passt es hervorragend. Naturgemäß funktioniert DevOps am besten bei allem, was irgendwie auf einer Private oder Public Cloud laufen kann. Bei all dem darf natürlich das Thema Return on Investment nicht komplett aus den Augen verloren werden. Die Projekte von Adacor zeigen, dass der ROI bei innovativen Anwendungen wesentlich größer ausfällt als bei existierenden Anwendungen.

Bisher waren die deutschen Banken eher träge, was die durchgehende Digitalisierung ihrer Prozesse und die Einführung smarter Kundentools anging. Das lag jedoch nicht an mangelnder Innovationsfreude, sondern vor allem an der extrem strengen Regulierung. Aber die Situation hat sich gewandelt – Gründe dafür sind der gestiegene Wettbewerbsdruck und die Möglichkeiten, die Cloud Computing und der DevOps-Ansatz bieten. Mittlerweile gibt es sehr gute Möglichkeiten, neue Anwendungen für den Bankensektor zu entwickeln und mit Internetfirmen auf Augenhöhe zu konkurrieren. Vor allem im Investment Banking und bei Onlineservices nutzen daher immer mehr Banken DevOps.

    Andreas Bachmann ist CEO und Mitgründer der Adacor Hosting GmbH. Beim Anbieter von modernen Cloud-Lösungen verantwortet er den operativen Bereich. Mit Niederlassungen in Essen und Offenbach hat sich https://www.adacor.com/ mit seinen individuellen Lösungen auf die Branchen Automotive, Banking, Energieversorger und Digitalagenturen spezialisiert. Adacor wurde mehrfach für die besondere Arbeitsplatzkultur und die innovativen Entwicklungen im Unternehmen ausgezeichnet.

    Kommentare sind geschlossen, aber trackbacks und Pingbacks sind offen.

    MoreThanDigital Newsletter
    Subscribe
    Join the #bethechange community
    close-image