Anzeige

SIX Payment Services ist Partner für zuverlässige Zahlungslösungen

Bank meets Microservices and DevOps

0

Innovative Ansätze zur Modernisierung der Bank-IT

Innovative Technologien beeinflussen die Entwicklung neuer Geschäftsmodelle und somit den Erfolg einer Bank. Technologische Ansätze wie Microservices und DevOps haben insbesondere Auswirkungen auf die Reaktions- und  Innovationsfähigkeit von Banken.

IT im Finanzsektor

Innovative Technologien und Effektivität der IT im Finanzsektor

 

Im Zuge der Digitalisierung ist die IT immer weiter in den Mittelpunkt der Geschäftsabläufe gerückt und muss heute sehr hohen Anforderungen an Effektivität und Flexibilität genügen. Banken müssen immer schneller auf neue Nutzergewohnheiten und auf regulatorische Vorgaben wie MiFID 2 oder MiFIR reagieren, was die IT enorm unter Zeitdruck versetzt. Mit klassischer Softwareentwicklung sowie mit monolithischen Architekturen, wie sie in Banken oft vorzufinden sind, können diese Bestrebungen kaum erreicht werden.

Abonnieren Sie den kostenlosen Bank Blog Newsletter

Das Konzept der Microservices versucht diesen neuen Anforderungen gerecht zu werden, indem es Konzepte wie Continuous Delivery oder DevOps unterstützt, fachliche Organisationen fördert und gleichzeitig sehr flexibel in der Skalierung von Entwicklung und Betrieb ist.

Was sind Microservices?

Ein Microservice ist als Programm innerhalb eines größeren Systems anzusehen. Dabei kann jeder Microservice eigenständig betrieben werden, unabhängig davon, welche anderen Microservices in dem System noch vorhanden sind und welche technische Basis diese haben.

Die Intention dieser Art der Modularisierung ist, dass ein Modul einen bestimmten Zweck innerhalb des Systems erfüllt, wobei die Aufgaben so voneinander abgegrenzt sind, dass sie bei Änderungen der Funktionalität möglichst geringe Auswirkungen aufeinander haben. Die Kommunikation zwischen den Services erfolgt über definierte Schnittstellen. Damit ist man in der Lage, einen Microservice unabhängig von anderen Microservices in Produktion zu bringen. Ein hoher Automatisierungsgrad ist somit erzielbar, wodurch neue Releases mit ihren Features schneller in Produktion gebracht werden können.

Die Größe und Komplexität eines Microservice ist nicht spezifiziert. Jedoch sollte ein Microservice so groß sein, dass jedes Teammitglied seine Funktionsweise vollumfänglich verstehen kann. Zusätzlich sollte das verantwortliche agile Entwicklungsteam in der Lage sein, einen Service innerhalb weniger Wochen komplett neu entwickeln zu können, wenn es aus fachlichen wie auch technischen Gründen notwendig ist.

Welche Auswirkungen haben Microservices auf die Organisation?

Microservices erlauben es, die Systemarchitektur an die Fachlichkeit der Bank auszurichten und jeweils einem agilen Team die Verantwortung für eine Fachlichkeit zu übertragen. So kann ein Microservice zum Beispiel einen Buchungsvorgang, die Registrierung oder die Rechnungserstellung umfassen. Ein Microservice sollte jedoch nicht mehrere domänenübergreifende Funktionen abdecken, sondern domänenspezifisch entworfen werden. Mithilfe dieser Architektur kann der Abstimmungsaufwand vermindert werden und fördert die Selbstorganisation der Teams. Jedes Team kann unabhängig von anderen neue Features entwickeln und eigene geschäftliche Ziele verfolgen. Die Eigenständigkeit und die einfache Ersetzbarkeit von Microservices reduziert die Kosten von Fehlentscheidungen und ermöglicht schneller auf äußere Einflüsse zu reagieren.

Eine Koordination von Release-Terminen oder Testphasen zwischen den Teams ist nicht notwendig, da die Entwicklungsgeschwindigkeit in der Verantwortung der Teams liegt und eine Verzögerung nicht auf andere auswirkt. Projekte, die nur einen bestimmten Microservice betreffen, haben den Vorteil, dass Budgets und Zeitrahmen genauer eingeschätzt und eine deutlich bessere Planbarkeit erzielt werden kann. Im Falle eines Zeit- und/oder Budgetproblems bleiben die Auswirkungen innerhalb dieser Systemgrenzen.

Organisation und Microservices

Die Organisation (links) richtet sich nach fachlich geschnittenen Microservices (rechts)
Quelle Martin Fowler

Hierbei ist zu beachten, dass Microservices die Anzahl der Fehlerquellen erhöhen. Aus diesem Grund ist es wichtig, Microservices mit einer möglichst hohen fachlichen Bindung zu entwickeln, damit Fehler auf ein Minimum gesenkt werden können. In der Konsequenz hat die Architektur bei Microservices einen entscheidenden Stellenwert und Defizite im Rahmen Architekturarbeit können durch Technologie nicht beglichen werden.

Von der Entwicklung in den Betrieb

Banken orientieren sich typischerweise an fest vorgegebenen Release-Zyklen und am Wasserfallmodell.  Jede Phase hat in einem Wasserfallmodell vordefinierte Start- und Endpunkte mit eindeutig definierten Ergebnissen, welche durch entspreche Quality-Gates abgesichert werden. Auf diese Weise wird ein hohes Maß an Software-Qualität erreicht, die mit den Qualitätsstandards der Bank konform ist. Dieses Vorgehen hat jedoch den Nachteil, dass eine Bank nicht flexibel auf neue Anforderungen reagieren kann.

Somit erfordert die Architektur der Microservices, dass ein agiles Team den Betrieb der Microservices gewährleisten muss, um reaktionsfähiger zu sein. Ansätze wie DevOps führen das agile Prinzip auf nachgelagerte Prozesse wie Bereitstellung und Betrieb von Software fort und gelten als letzter Baustein für eine reaktionsfähige IT im digitalen Zeitalter.

Dabei bezeichnet DevOps den Zusammenschluss von Entwicklung und IT-Betrieb. Das zentrale Merkmal dieses Prinzips ist, dass die Entwicklungs- und IT-Teams nicht mehr isoliert voneinander arbeiten, sondern zusammen mit dem Ziel, sowohl die Produktivität als auch die Zuverlässigkeit der betrieblichen Abläufe zu optimieren. Der Widerspruch soll durch Kollaboration und Vermengung der Kompetenzen beider Seiten aufgelöst werden. Teams, welche nach DevOps ausgerichtet sind, können nicht nur die Entwicklung, sondern auch den Betrieb der Microservices verantworten. Dadurch wird die Kommunikation zwischen beiden Lagern deutlich einfacher. Mit Unterstützung von Continuous Delivery können Änderungen nach umfangreicher Qualitätsprüfung zügig in Produktion gebracht werden.

Fazit: Agile Methoden für raschere Anpassungen

Banken können mithilfe von agilen Methoden wie Scrum und Microservices besser auf neue Anforderungen in einem schwierigen Marktumfeld reagieren und Innovationen schneller realisieren. Sehr wichtig ist dabei die enge Verzahnung zwischen Entwicklung und IT-Betrieb mittels DevOps. Kleine Teams können individuelle Dienste entwickeln, testen und in Produktion bringen. Auf diese Weise ergänzen sich Microservices und DevOps gegenseitig. Zum einen lässt sich eine flexiblere und effizientere Systemlandschaft realisieren, zum anderen werden Prozesse etabliert, mit denen diese Anwendungen schnell und mit hoher Qualität entwickelt und bereitgestellt werden können. Die Betrachtung der Organisation als Teil der Architektur ist jedoch eine zentrale Herausforderung vor denen Banken im Moment stehen. Über Jahre hinweg haben die Zentralisierung und die Orientierung an der Schichten-Architektur auch die Organisationeinheiten eines Unternehmens abgebildet. Um Microservices und DevOps in einer Bank zu etablieren, müssen sich Banken längerfristig auf eine Umstrukturierung der Organisation einstellen. Wenn die Organisation ein solches Denken noch nicht unterstützt, kann der Einsatz einer Microservice-Architektur sogar schaden, weil Reibungspunkte zwischen Abteilungen sich vervielfachen können.

Partner des Bank Blog - adesso

Partner des Bank Blog – adesso


Mehr über das Partnerkonzept des Bank Blogs erfahren Sie hier.

Informiert bleiben mit dem kostenlosen Bank Blog Newsletter:


Bitte bewerten Sie den Artikel mit Hilfe der Sternchen

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne Bewertung: 4,53 Stern(e) - 15 Bewertung(en)

Danke fürs Teilen

Über den Autor

Baris Cubukcuoglu

Baris Cubukcuoglu ist Consultant im Competence Center Architekturen im Bereich Banking der adesso AG. Er studierte Wirtschaftsinformatik und befasst sich mit der Konzeption und Entwicklung von Softwaresystemen auf Basis des Java/JEE-Technologie-Stacks. Darüber hinaus beschäftigt er sich mit Infrastruktur-nahen Themen wie Monitoring und Performance-Optimierung.

Anzeige

Hinterlassen Sie einen Kommentar

Kostenloser Newsletter für aktuelle Banking Trends

Für mehr Informationen hier klicken

Anzeige

Mit Amazon Echo die intelligente Sprachsteuerung von Alexa nutzen

" type="text/javascript">