Die Finanz-Branche spürt – und dies mindestens so sehr wie andere Branchen – einen steigenden Innovationsdruck durch die zunehmende Digitalisierung. Mit ausschlaggebend für Erfolg ist heute und in Zukunft die schnelle Bereitstellung neuer Services. Für sie wiederum braucht es zwingend die richtigen Technologien. Mit der FI-TS Cloud Native Plattform erweitert FI-TS das Angebot um eine Lösung, die genau diesen Bedarf adressiert.
In diesem Blogbeitrag stellen wir Ihnen unsere zweite Säule der FI-TS Finance Cloud näher vor.
In den letzten Jahren hat sich ein neuer Trend bei der Entwicklung von Backend-Anwendungen herauskristallisiert: die Verwendung von Microservice-Architekturen. Durch das Verteilen der Funktionalität auf viele unabhängige Anwendungsbausteine – die Microservices – werden hier komplexe Abläufe in den Software-Modulen so strukturiert, dass mehrere Teams parallel und möglichst unabhängig an der Entwicklung der Module arbeiten können. In Kombination mit einem agilen Vorgehen bei der Softwareentwicklung lassen sich so Funktionalitäten den Nutzern ungewöhnlich schnell und passgenau zur Verfügung stellen.
Parallel dazu haben sich am Markt neue Werkzeuge etabliert, mit denen die Anwendungen, die jetzt aus sehr vielen Teilen bestehen können, zügig in Produktion gebracht werden können. Zu ihnen gehören „Continuous Integration & Deployment“-Prozesse und Container-Technologien sowie zugehörige Orchestrierungsverfahren.
Diese und die weiteren verwendeten Tools unterliegen immer noch einer rasanten Weiterentwicklung, doch inzwischen hat sich gleichwohl auch ein starkes Fundament für die neuen Technologien und Ansätze herausgebildet. Der Betrieb moderner Architekturen wird also noch starke Entwicklungsprozesse durchlaufen, ein Einstieg in sie ist aber in jedem Fall sinnvoll, da die Basis inzwischen fest steht.
Drei Kern-Elemente dieser Basis werden im Folgenden dargestellt.
Diese sind: Versionsverwaltung via Git, Deployment mittels Docker und Orchestrierung durch Kubernetes.
1. Kern-Element: Git
Versionsverwaltung für Entwicklung und Betrieb
In den letzten Jahren hat Git allen anderen Versionsverwaltungssystemen den Rang abgelaufen.
Auch Anbieter wie Microsoft, die ursprünglich eigene Lösungen hatten, haben ihre Tools und oft
(wie etwa auch im Fall von Microsoft) sogar den Konzern auf die Nutzung von Git umgestellt.
Git wurde durch Linus Torvalds initiiert, und zwar um die Weiterentwicklung des Linux-Kernels besser steuern zu können. Da Linux seit jeher weltweit durch viele unabhängig Entwickler vorangetrieben wird, wurde großer Wert auf eine dezentrale Verwaltung der Software-Repositories gelegt, außerdem sollten eine sehr hohe Sicherheitsstufe
(um versehentliche sowie absichtliche Verfälschungen zu vermeiden) und eine starke Effizienz gegeben sein. Ursprünglich erfolgte der Austausch von Änderungen (Patches) über Mailinglisten, doch bald verbreitete sich die Nutzung von Austauschplattformen wie GitHub, GitLab oder Bitbucket: Diese bieten neben der übersichtlicheren Darstellung der Inhalte und Änderungen auch Workflow-Funktionen für die Zusammenarbeit.
Inzwischen wird Git dabei nicht nur zur reinen Softwareentwicklung, sondern auch für das Management der Spezifikationen von „Infrastructure as Code“ genutzt, also der automatischen Verwaltung und Bereitstellung technischer Komponenten via Rechenzentrum. Hier geht es um Werkzeuge, die nach einer Beschreibung des gewünschten Zustands der Infrastruktur in Dateien (ähnlich dem Software-Quellcode) die technischen Komponenten automatisch konfigurieren, um den Zielzustand herzustellen. Wird dies mit den inzwischen gängigen Workflows im Git-Kontext kombiniert, spricht man übrigens, angelehnt an den Begriff DevOps, auch von GitOps – ein Begriff, dessen Existenz ganz nebenbei auch belegt, wie gängig das Verfahren inzwischen ist.
FI-TS ist in diesem Bereich längst sehr erfahren: Wir betreiben seit einigen Jahren ein internes GitLab, und zwar für den Austausch zwischen den Entwicklern unserer Kunden oder externer Software-Lieferanten und unseren eigenen Entwicklern sowie für „Infrastructure as Code“. Für die Verteilung der Software und die Herstellung des gewünschten Zielzustands kommt derzeit meist Ansible zum Einsatz.
2. Kern-Element: Docker-Container
Lego-Bausteine für das Deployment der Anwendungen
Das zweite Kernelement ist Docker. Es ist ebenfalls schon seit einigen Jahren bei uns im Einsatz.
Docker ermöglicht das Verpacken von Anwendungen in sogenannte Docker-Images. Diese enthalten nicht nur die Anwendungsartefakte, sondern auch sämtliche Bibliotheken – inklusive jener des Betriebssystems. Sie sind also stets in sich komplett und funktionieren. Ein weiterer Clou: Um die Erstellung der Images zu vereinfachen, können diese voneinander erben. So muss nicht für jede Software, die im Image konfiguriert werden soll, die Basis neu aufgesetzt werden, sondern es ist möglich, diese zentral zu pflegen und dann nur noch die Änderungen zu speichern. Immer gilt dabei: Die Images werden nach Erstellung in einer Docker-Registry bereitgestellt, von der sie auf die eigentlichen Server heruntergeladen werden können.
Der große Vorteil von Docker ist, dass es ebenso flexibel wie einfach, ebenso übersichtlich wie unabhängig funktioniert. Besonders hervorzuheben ist: Die Installation und der Start von Software werden deutlich unaufwändiger, da die Images auch alle Software-Komponenten beinhalten, die für die Installation notwendig sind. Nur dadurch kann man etwa zuverlässig davon ausgehen, dass die Konfiguration, die der Entwickler z. B. auf seinem Laptop erfolgreich getestet hat, auch auf dem Server im Rechenzentrum läuft.
3. Kern-Element: Kubernetes
Orchestrierungs-Lösung
Neu bei FI-TS ist das dritte Kernelement, es besteht in einem Service-Angebot, das durch Kubernetes umgesetzt wird: Kubernetes übernimmt die automatische Verteilung der Container über eine Server-Farm und sorgt dabei im Betrieb für eine effiziente Steuerung der Ressourcen und für Ausfallsicherheit.
Ursprünglich von Google entworfen, hat sich Kubernetes mittlerweile allgemein als De-facto-Standard in Cloud-Rechenzentren durchgesetzt. Damit kann die Technologie als zukunftssicher bezeichnet werden. Und dadurch sind auch Anwendungs-Umgebungen, die für ein automatisches Deployment auf dieser Plattform vorbereitet sind, vergleichsweise einfach zwischen Anbietern zu migrieren.
Hinzu kommt: Der Kubernetes-Architektur ist deutlich anzumerken, dass sie bei einem der großen Cloud-Anbieter entwickelt wurde, sie ist sehr ausgereift und umfassend. Beispielsweise wurden Mechanismen zur Hochverfügbarkeit komplett in die Software integriert. So wird es etwa möglich, auf teure Enterprise-Hardware zu verzichten und stattdessen günstige x86-Hardware von nahezu beliebigen Herstellern zu verwenden, denn Kubernetes kompensiert die mit der kostengünstigeren Wahl üblicherweise einhergehenden Nachteile auf Ebene der Software.
FI-TS hat diesen Paradigmenwechsel als Anlass dafür genommen, eine komplett neue Umgebung im eigenen Rechenzentrum aufzubauen, die genau auf den Einsatz von Kubernetes im Bankenumfeld abgestimmt ist. In insgesamt drei FI-TS Rechenzentren wurden sogenannte „Cloud Native“-Partitionen errichtet, in denen innerhalb weniger Minuten Netzsegmente und physische Server für den neuen Kubernetes-Service der FI-TS provisioniert werden können. Hierbei hat sich FI-TS dazu entschieden, auf Virtualisierung zu verzichten und stattdessen einen „Bare Metal“-Ansatz für die Systeme zu verfolgen. Denn so lässt sich eine besonders starke Trennung der verschiedenen Mandanten und Umgebungen realisieren. Dass wir hiermit große Potenziale sinnvoll nutzen, ist leicht nachzuvollziehen: Der von uns verwendete Ansatz findet allgemein immer mehr Anklang im Markt. Kein Wunder, denn Komplexität und Kosten lassen sich vermeiden, unter anderem da viele Aufgaben, die bisher über Virtualisierung-Software realisiert wurden, in Kubernetes zu integrieren sind.
Die für die Server-Bereitstellung notwendige Steuerungssoftware wurde von FI-TS selbst entwickelt
und inzwischen als Open Source veröffentlicht. Details hierzu finden Sie auf der Metal-Stack-Webseite.
Für jeden unserer Cloud-Services gilt: Er ist dynamisch, sicher und compliant.
Kontakt
Wenn Sie zu den einzelnen Angeboten allgemein weitere Informationen wünschen oder konkrete Fragen haben, senden Sie bitte einfach eine Mail an: anfragen@f-i-ts.de.
Im nächsten Blogbeitrag werden wir auf die dritte FI-TS Säule
– die „FI-TS Finance Cloud Public Integration“ – noch ein wenig detaillierter eingehen.