Blogs
7

Thought Machine

August 5, 2020

Cloud Native – was bedeutet das? Ein Interview mit Cheryl Hung von der CNCF

Cloud Native – was bedeutet das? Ein Interview mit Cheryl Hung von der CNCF

Nachdem wir letzten Monat unseren Beitritt zur Cloud Native Computing Foundation (CNCF) bekannt gegeben haben, war es für uns an der Zeit, uns mit einer der leidenschaftlichsten Botschafterinnen der Branche zusammenzusetzen: Cheryl Hung. Als ehemalige Google-Ingenieurin – wie viele aus unserem Führungsteam – leitet Cheryl als VP of Ecosystem die Endnutzer-Community der CNCF, der wir nun ebenfalls angehören. Zudem hat sie die größte und aktivste Entwickler-Meetup-Community Londons gegründet, Cloud Native London. Erfahren Sie im Folgenden, wie unsere Interessen zusammenpassen und warum Cloud-Technologie im Kernbankwesen so wichtig ist:

KubeCon.PNG

Warum ist Cloud Native so spannend?

Ich halte dies für die bedeutendste technologische Bewegung seit Beginn des Internetzeitalters, wenn man bedenkt, wie viele Unternehmen sich hinter einem einzigen Paradigma versammeln. Als das Internet aufkam, musste sich jeder darauf einstellen. Cloud Native hat einen ähnlichen Effekt auf die technologische Infrastruktur.

Auf persönlicher Ebene ist Cloud Native der Bereich, in dem ich vor zehn Jahren bei Google meine Karriere begonnen habe. So baut Google schon seit Jahren Software. Es ist ein alter Hut! Es ist der Standard, die Art und Weise, wie alles gemacht wird. Ich habe Cloud Native also aus der Perspektive der Softwareentwicklung kennengelernt und weiß, warum es so gut funktioniert. Es ist für mich spannend, diese Konzepte nun in andere Organisationen einzubringen.

Was verstehen wir unter Cloud Native?

Es ist eine Denkweise. Man geht dazu über, nicht mehr für einen einzelnen Server oder eine bestimmte Infrastruktur zu entwickeln, sondern abstrahiert von der Hardware hin zu Anwendungen, die überall laufen können. Sie könnten auf Azure laufen, auf AWS skalieren oder lokal betrieben werden. Die Leute konzentrieren sich oft auf Kubernetes und die Werkzeuge, die für Cloud-Native-Anwendungen genutzt werden, aber im Grunde geht es um diese Denkweise.

Es geht also um mehr als nur das Portieren von Software in die Cloud?

Absolut! Es erfordert ein grundlegendes Umdenken bei der Softwareentwicklung, damit diese horizontal skalieren kann. Außerdem ermöglicht es den Aufbau resilienter Software, die sich anpassen kann, wenn Hardware ausfällt, ohne dass es zu Problemen kommt. Es ist ein Mythos, dass es bei Cloud Native nur darum geht, Bestehendes in die Cloud zu verlagern, um ein wenig bei den Hosting-Kosten zu sparen. Das ist keineswegs der Fall.

Microservices sind bei Cloud-Native-Anwendungen weit verbreitet. Warum sind sie so wichtig?

Ein Microservice ist eine Methode, um eine Anwendung in einzelne Teile zu zerlegen. Jeder Microservice ist eine autonome Einheit und kommuniziert über eine API mit anderen Microservices. Unabhängige Teams sind hier der Schlüssel. Wenn man zum Beispiel 100 Entwickler hat, die an derselben Software arbeiten, erfordert das einen enormen Koordinationsaufwand. Also unterteilt man die Anwendung in Stücke. Dann können beispielsweise sieben Ingenieure als Team an einem einzigen Microservice arbeiten. Sie können unabhängig voneinander Fortschritte machen, ohne von einem anderen Team aufgehalten zu werden, das an etwas anderem arbeitet.

Außerdem sorgen Microservices für Resilienz. Das Problem bei einer monolithischen Anwendung ist, dass alles zu eng miteinander verknüpft ist. Wenn bei einer Bank der Investmentbereich ausfällt, kann das den gesamten Geschäftsbankenbereich mit in den Abgrund reißen. Deshalb ziehen Banken Grenzen, um Abteilungen zu isolieren, die nichts miteinander zu tun haben. Microservices tun dies auf einer feineren, granulareren Ebene. Wenn ein Geldautomat ausfällt, sollte das nicht dazu führen, dass sich niemand mehr beim Online-Banking anmelden kann! Microservices trennen Dinge, die nicht voneinander abhängig sein sollten.

CI/CD ist ein weiteres zentrales Cloud-Native-Konzept. Für Banken ist das ein riesiges Thema. Warum?

Continuous Integration und Continuous Deployment (CI/CD) ermöglichen es, Code täglich oder sogar mehrmals täglich zu aktualisieren, anstatt alle sechs Monate auf ein „Big Bang“-Upgrade warten zu müssen. Dies umfasst automatisierte Tests, die einfache Möglichkeit, auf eine vorherige Version zurückzugreifen, und – was entscheidend ist – Updates ohne Ausfallzeiten.

Die Grundidee ist, dass inkrementelle Änderungen – etwa einmal täglich oder ein paar Mal pro Woche – sicherer sind, als alles auf einmal zweimal im Jahr umzusetzen. Jede Änderung kann getestet und überwacht werden. Schlägt sie fehl, lässt sie sich problemlos rückgängig machen. Im Gegensatz dazu ist der „Big Bang“-Ansatz, wie er traditionell von Banken genutzt wird, deutlich riskanter. Wenn man tausend Änderungen auf einmal einspielt und etwas schiefgeht, ist es wesentlich schwieriger, die Fehlerquelle zu identifizieren. Vor CI/CD waren Banken aufgrund des hohen Ausfallrisikos extrem vorsichtig bei Software-Upgrades.

„Wenn eine Bank an 30 Jahre alter Technologie festhält, wird sie den Anschluss verlieren.“

Verbessert CI/CD also die Innovationsfähigkeit einer Bank?

Ohne CI/CD haben Banken ein Problem: Es gibt Teams, die nach einem Sechs-Monats-Zeitplan arbeiten, und Teams, die deutlich schneller sind. Das schafft eine enorme Kluft zwischen den Gruppen – ein Phänomen, das ich in Banken häufig beobachte. CI/CD beseitigt diese Lücke. Banken können Updates bereitstellen, sobald sie fertig sind. Es vermittelt den Banken ein psychologisches Sicherheitsgefühl, da sie kleine Änderungen implementieren und bei Bedarf zurückrollen können. In diesem Sinne fördert CI/CD die Innovation.

Cloud-Native-Tools werden gemeinschaftlich genutzt. Wie hilft diese Standardisierung den Anwendern?

Dazu kann ich aus eigener Erfahrung sprechen! Als ich bei Google war, nutzten wir Borg zur Container-Verwaltung statt Kubernetes. Borg ist eine Google-eigene Lösung. Das Problem war: Als ich Google verließ, war mein gesamtes Wissen und meine Erfahrung hinfällig, weil niemand außerhalb von Google Borg einsetzt.

Das Cloud-Native-Universum basiert auf Open-Source-Standardtools. Ingenieure nutzen dieselben Werkzeuge, wenn sie den Arbeitgeber wechseln. Das erleichtert es Unternehmen, Personal einzustellen, ohne lange Einarbeitungszeiten in Kauf nehmen zu müssen. Neue Mitarbeiter wissen bereits, wie alles funktioniert.

Wie trägt die Community zum Erfolg von Cloud Native bei?

Die Community ist unglaublich wichtig. Die Arbeit mit Cloud-Native-Tools bedeutet, dass man von der Innovationskraft einer globalen Gemeinschaft profitiert. Die Mitglieder stehen zwar vor unterschiedlichen Herausforderungen, tragen aber alle ihre Lösungen zu einer gemeinsamen Ressource bei. Die Cloud Native Computing Foundation hat über 550 Mitglieder, darunter Apple, eBay, Mastercard, Morgan Stanley und Ant Financial, und wir zählen mehr als 90.000 Mitwirkende an CNCF-Projekten. Wer Cloud-Native-Tools nutzt, profitiert von diesem gebündelten Fachwissen.

Welche Rolle spielt die CNCF?

Die CNCF ist unter dem Dach der Linux Foundation angesiedelt, zusammen mit anderen Stiftungen für Bereiche wie Blockchain und KI. Die CNCF wurde als neutrale Heimat für Kubernetes gegründet, um sicherzustellen, dass kein einzelnes Unternehmen unangemessenen Einfluss auf Cloud-Native-Tools ausübt. Wir haben eine offene Governance, sodass jeder nachvollziehen kann, wie Entscheidungen getroffen werden. Außerdem organisieren wir Veranstaltungen.

Können sich Banken beteiligen?

Natürlich! Ich würde mir wünschen, dass das noch häufiger geschieht. Aktuell leisten Unternehmen wie Adidas einen Beitrag. Sie betrachten Kubernetes nicht als geschäftskritisches Geheimnis. Niemand kauft Adidas-Schuhe, weil das Unternehmen auf Kubernetes läuft! Deshalb sind sie immer bereit, ihre Erfahrungen mit der Community zu teilen. Banken sind da zurückhaltender. Sie sollten jedoch an den Punkt gelangen, an dem sie bereit sind, sich einzubringen, eigene Ideen und Lösungen zu teilen und es ihren Ingenieuren zu erleichtern, sich in der Community zu engagieren.

Sie leiten persönlich auch „Cloud Native London“ und die „CNCF Financial Services Group“. Was passiert dort?

Cloud Native London ist eine Meetup-Gruppe und eine der weltweit größten im Cloud-Native-Bereich. Ich habe sie 2017 gegründet. Es ist eine Gelegenheit, Menschen einmal im Monat zusammenzubringen, um sich auszutauschen und Erfahrungen zu teilen. Momentan finden die Treffen natürlich virtuell statt. Die CNCF Financial Services Group ist ein Zusammenschluss von Unternehmen, die sich monatlich online treffen, um ihre aktuellen Herausforderungen zu diskutieren. Einige Themen sind organisatorischer Natur, etwa wie man das eigene Unternehmen dazu bewegt, Open Source zu nutzen oder Tools wie Slack und GitHub einzuführen. Die andere Hälfte befasst sich mit technischen Problemen. Die Gruppe ist derzeit auch für Nicht-CNCF-Mitglieder offen.

Abschließend: Wie gravierend ist die Bedeutung von Cloud Native für Banken?

Banken mit Altsystemen sind nervös. Sie haben Angst vor System-Updates und fürchten die Konkurrenz durch Challenger-Banken. Und das zu Recht. Wenn eine Bank an 30 Jahre alter Technologie festhält, wird sie den Anschluss verlieren.

Die Einführung von Cloud-Native-Software erfordert ein Umdenken. Man kann kleine, inkrementelle Änderungen vornehmen, um schnell zu innovieren und Kunden die gewünschten Produkte zu bieten. So kann man mit den Challenger-Banken konkurrieren, die bereits von Cloud-Native-Systemen profitieren.

Es ist eine Entscheidung: Banken können bei veralteter Technologie bleiben und abgehängt werden – oder auf Cloud Native setzen und der Konkurrenz einen Schritt voraus sein.

Thought Machine ist Mitglied der Cloud Native Computing Foundation.

Weitere Informationen finden Sie unter: CNCF.io