Schließen

Unser hybrides Cloudkonzept in Tallinn

Hi Aleksei, bitte gib uns eine erste Einführung in das Produkt, über das wir sprechen.

Sehr gerne. Seit 2018-2019 arbeiten wir an einem hybriden Cloud-Setup mit einem großen Fokus auf Sicherheits- und Governance-Standards. Mit hybrid meine ich, dass wir unsere klassische Infrastruktur (internationale Rechenzentren) mit einer cloudbasierten Umgebung verbinden. Unser Ziel ist es, mehr und mehr in Richtung Azure-Cloud zu wachsen und die Menge an lokalen Infrastrukturen zu reduzieren. Aber zuerst wollen wir das hybride Setup meistern, unsere Fähigkeiten beim Betrieb der Rechenzentrumsinfrastruktur auf Cloud-Workloads übertragen und dann mit Azure, AWS und GCP in die Public Cloud wechseln.

Das ist nicht einfach zu erreichen, aber wir arbeiten mit großem Einsatz und hoher Motivation an dieser Initiative.

Warum habt ihr den Schritt in die Cloud gewagt?

Der wichtigste Grund ist die nahezu unbegrenzte Skalierbarkeit, die nur in einer Cloud-Umgebung möglich ist. Ihre Anwendungsressourcen können mit dem Transaktionsvolumen mitwachsen. In einem privaten Rechenzentrum ist das ein begrenzter Faktor. In der Cloud können wir die Dienste horizontal beliebig skalieren und sind nicht durch Netzwerkbeschränkungen eingeschränkt. Die riesige Menge an Transaktionen, die wir täglich bewältigen und die in Zukunft weiter wachsen wird, ist der Hauptgrund für den Umzug in die Cloud.

Und warum Hybrid-Cloud?

Dafür gibt es mehrere Gründe wie Informationssicherheit, Flexibilität und Kosten.

Das hybride Setup ist komplexer in der Wartung, aber es ermöglicht uns die Migration in die öffentliche Cloud in dem Tempo, das wir gewohnt sind. Wir migrieren nicht all unsere Anwendungen und Datenbanken auf einmal, sondern erst dann, wenn jedes Anwendungsteam bereit ist. Wir haben mit der Einrichtung eines Netzes begonnen, das sich über die gesamte hybride Umgebung erstreckt. Es ermöglicht den Diensten, über die Cloud und die Rechenzentren hinweg sicher miteinander zu kommunizieren. Gleichzeitig können wir sensible Datensätze sicher in unseren Räumlichkeiten aufbewahren, bis wir nicht mehr durch Vorschriften und organisatorische Reife eingeschränkt sind.

Mit welchen Technologien arbeitet ihr?

Es würde einige Zeit dauern, alle Tools und Systeme zu beschreiben, an und mit denen wir arbeiten. Deshalb habe ich diese Illustration mitgebracht, um einen Überblick über unseren Softwareentwicklungsprozess zu geben.

 

Innerhalb dieses Prozesses ermöglichen wir es unseren Ingenieurteams, ihre Anwendungen mit viel Eigenverantwortung einzusetzen, zu entwerfen und zu entwickeln. Die Teams können Software mit ihren eigenen Tools schreiben, die für die Aufgabe am besten geeigneten Sprachen und Frameworks wählen und sich dabei an dieselbe Strategie und allgemeine Praktiken halten. Wir betonen die Bedeutung von agilen und kontinuierlichen Lieferpraktiken und konzentrieren uns auf vollständig automatisierte Pipelines.

Zunächst beginnen wir mit der Automatisierung der Anforderungen mithilfe von Tools wie JIRA und CONFLUENCE. Wir definieren das Produkt, das wir entwickeln wollen und seine Akzeptanzkriterien, damit die Software später die Testautomatisierung bestehen kann. Wir beginnen also mit Praktiken wie der "verhaltensgesteuerten Entwicklung", bei der wir das gesamte Team, die Produkt- und Geschäftsinteressenten, die technischen Rollen - also so ziemlich alle - zusammenbringen und gemeinsam Software entwickeln - als TEAM. Wir arbeiten also nicht in Geschäfts- und IT-Silos, sondern in einem Produktteam.

Wir verwenden Azure DevOps als unser "version control system" und ein System, in dem wir unsere kontinuierlichen Lieferpipelines als Code schreiben. Dazu gehört auch die vollständige Automatisierung des Testprozesses, um neue Funktionen täglich oder sogar noch häufiger bereitzustellen. Die meisten unserer Testtools sind auf die Testautomatisierung ausgerichtet, wie man aus dem Diagramm ersehen kann. Der Rest wird für explorative, wissenschaftliche Tests von Verhaltensweisen verwendet, die wir möglicherweise noch nicht identifiziert haben.

Für Packaging, Infrastrukturbereitstellung und Auslieferung verwenden wir Standard-Kommunikationstools wie DOCKER, TERRAFORM und Azure DevOps. Ich habe bereits unser Service Mesh erwähnt - es ermöglicht uns Dinge wie die automatische Erkennung von Diensten, die Behandlung von Ausfällen im System mithilfe von Circuit-Breaking- und Retry-Policies, die Freigabe neuer Funktionen für bestimmte "canary"-Benutzergruppen und so weiter. Wie man sehen kann, ist es wirklich fortschrittlich was wir tun!

Wir halten uns bei der täglichen Arbeit unserer Teams an die DevOps-Prinzipien. Das bedeutet, dass die autonomen Teams ihre Anwendungen nicht nur entwerfen und entwickeln, sondern sie auch ausliefern und betreiben. Wir verfügen über eine Reihe von Tools zur Beobachtung, zum Kostenmanagement, zur Überwachung und zum IT-Betrieb, die es unseren Kompetenz- und Entwicklungsteams ermöglichen, ihre Anwendungen gesund und unter guter Kontrolle zu halten.

Was macht es so besonders, an diesem Case innerhalb von Arvato Financial Solutions zu arbeiten?

Dieser Fall ist im Allgemeinen faszinierend und es macht besonders viel Spaß, hier bei AFS daran zu arbeiten. Das liegt daran, dass man das Gefühl hat, in einem Fintech mit all den modernen und coolen Dingen zu arbeiten. Gleichzeitig sind wir auch ein großes Unternehmen, das sich um Standardisierung, Governance, Richtlinien, Praktiken und so weiter kümmert. Man kann hier große Dinge erreichen und trotzdem mit Spitzentechnologien arbeiten. Wir arbeiten in einem guten autonomen Umfeld. Alle Teams haben ihre Autonomie, aber sie haben auch eine zuverlässige Basis. Man arbeitet in einem Produktteam, das etwas von Anfang bis Ende aufbaut und betreibt. Das gibt einem Erfolgserlebnisse und macht einen stolz, wenn man sieht, dass sein Produkt von so vielen Menschen genutzt wird.

Deshalb fühlen sich unsere Teammitglieder hier bei Arvato Financial Solutions sehr wohl.