Making the Evolution to Cloud Native Thinking

Was ist der Schlüssel zum Erfolg eines Cloud-nativen Ansatzes? Menschen und Prozesse.

Bei der Umstellung auf die Cloud-native Anwendungsentwicklung geht es mehr um eine bestimmte Denkweise und Prozesse als um Technologie.

Die Entwicklung in Richtung einer Cloud-nativen Positionierung ist nur zum Teil eine technologische Reise.

Cloud-Anbieter haben leistungsstarke Tech-Suites geschaffen, mit denen Unternehmen undifferenzierte Infrastrukturarbeiten „auf die Plattform“ verlagern und sich stärker auf ihre Kernkompetenz konzentrieren können.

Doch während diese Lösungspakete ein Vorgehen nach dem Prinzip Cloud-native ermöglichen (und damit alle Vorteile einer schnelleren Bereitstellung besserer Anwendungen und Dienste), sind die treibenden Kräfte für den Erfolg von Cloud-native die agilen Prozesse und agilen Mitarbeiter.

Die involvierten Menschen machen die Angelegenheit immer komplexer, als es bei einer reinen Tech-Fragestellung der Fall wäre. Die gute Nachricht ist jedoch, dass Cloud-native kein Ein- oder Ausschalter ist. Während Start-ups heutzutage dazu tendieren, „in der Cloud geschaffen“ zu werden, werden etablierte Unternehmen nicht einfach so Cloud-nativ. Stattdessen können sie durch ein gemanagtes Refactoring von Mitarbeitern, Prozessen und Technologie monolithische Anwendungen (und die sie unterstützenden Team-Strukturen) zugunsten von Entwicklungsarchitekturen aufbrechen und ersetzen, was wiederum eine rasche Innovation ermöglicht.

Um diese Reise zu unternehmen, müssen IT-Führungskräfte verstehen, wie voll ausgereifte Cloud-native Fähigkeiten aussehen, damit sie ihren aktuellen Zustand einschätzen und sich entsprechend anpassen können. Und das beginnt mit dem Verständnis des Zusammenspiels zwischen Menschen und Prozessen – eine Voraussetzung für das Verständnis der Fähigkeit eines Unternehmens, die Kraft des Cloud-nativen Denkens freizusetzen.

Loslösen von der Infrastruktur

Der Einfluss der Technologie auf diese Reise ergibt sich aus der Art und Weise, wie sich die Cloud-native Technologie von anderen Arten der Cloud-Technologie unterscheidet.

Die vollständige Cloud-native Reife umfasst vollständig verwaltete Dienste (was zunehmend serverlose Technologie bedeutet) in dem Maße, dass alle Infrastrukturbelange auf die Plattform ausgelagert werden. Dies ermöglicht die modernen Entwicklungspraktiken, die im Mittelpunkt dessen stehen, was es bedeutet, Cloud-nativ zu sein – wie z. B. Architekturen für Microservices und CI/CD (Continuous Integration/Continuous Delivery).

Zu den Vorteilen gehören eine nutzungsabhängige Preisgestaltung, integrierte Skalierung und Fehlertoleranz, Datenbeständigkeit und kürzere Produkteinführungszeiten für neue Funktionen und Dienste. Dies ist auch der beste Weg, damit sich Ihr Unternehmen auf seine Kernkompetenzen konzentrieren kann. (Allerdings erfordert dies eine größeres Bindung an eine bestimmte Plattform).

Dies unterscheidet sich erheblich von Cloud-Diensten der Einstiegsklasse wie Infrastrukturinstanzen und VMs, Speicher und Netzwerkbetrieb, bei denen Sie weiterhin für die operativen Aspekte rund um Backup und Skalierung verantwortlich sind. Es ist auch weit entfernt von verwalteten Infrastrukturdiensten oder Anwendungen, bei denen Sie trotz einer etwas höheren Abstraktion von Infrastrukturbelangen immer noch für die Verwaltung von Diensten und Anwendungen verantwortlich sind.

Befreit von den Sorgen der Infrastruktur müssen Entwicklungsteams, Produktverantwortliche und Führungskräfte umdenken, um zu verstehen, wo sie sich einklinken.

Die Verwandlung von Mitarbeitern in Cloud-Natives

Grundsätzlich betrachtet haben die sogenannten Cloud-Natives eine agile Denkweise und sind mit agilen Methoden vertraut. In ihren Teams legen sie eine hohe Geschwindigkeit an den Tag, d. h. sie kommen schnell von der Idee zur Umsetzung, was eine effektive Identifizierung und Bereitstellung von geeigneten, Minimum Viable Products (MVP, minimal überlebensfähige Produkte) erfordert. Mit Hilfe der im weiteren Verlauf behandelten Prozesse können Sie mit den schnellen Feedback-Schleifen arbeiten, die für kürzere Produktlebenszyklen erforderlich sind – und das bei gleichbleibender oder höherer Qualität.

Für Entwickler bedeutet dies, dass sie sich iterativ in neue Tools, Technologien und Methoden vertiefen müssen, um Cloud-native Apps erstellen zu können. Technologien wie Serverless sind brandneu und schnelllebig. Was noch vor ein paar Jahren relevant war, ist es heute nicht mehr, wobei etablierte Stützen der Anwendungsentwicklung wie Java weniger Platz haben. Anpassen bedeutet, den Technologen in jedem Entwickler zu befreien, indem man ihm die Freiheit gibt, mit neuer Technologie und neuen Entwicklungsmustern zu experimentieren. Dies macht Cloud-native auch zu einer Gelegenheit, die Gewinnung und Bindung hochwertiger Talente zu fördern.

In der Zwischenzeit müssen sich Produktverantwortliche daran gewöhnen, neue Funktionen und Dienstleistungen in Tagen oder Wochen statt in Monaten oder Jahren zu liefern und auf engere Feedback-Schleifen in ihren Produktlebenszyklen zu reagieren. Für diese Gruppe bedeutet Agilität, Benutzer und Kunden früher in den Prozess einzubeziehen, um Fehler weniger kostspielig und weniger wahrscheinlich zu machen und gleichzeitig mit besagten MVPs zu arbeiten.

Und schließlich bedeutet die Annahme einer Cloud-nativen Mentalität für Führungskräfte, Manager und Supportgruppen, dass sie sich eine befähigende und keine einschränkende Denkweise zu eigen machen müssen. Entwicklungstalente brauchen einen schnellen und einfachen Zugang zu Tools und Technologien, mit denen sie experimentieren können. Das bedeutet, dass Hindernisse bei der Technologiebeschaffung abgebaut werden müssen.

Auch für die Entwicklung und Wartung von Anwendungen, die auf Systemarchitekturen für Microservices basieren, sind neue Arten von Teams erforderlich. Um dem Rechnung zu tragen, sollte der Schwerpunkt dieser Führung auf der Bildung funktionsübergreifender Teams liegen, die nach der Verantwortung für einzelne Dienste und nicht nach der Funktion (d. h. Entwicklung oder Betrieb) aufgeteilt sind. Und während diese Teams in die Lage versetzt werden sollten, sich selbst zu organisieren, muss die Führung auch die wechselseitige Kommunikation ermöglichen und ihnen das Zusammenkommen erleichtern, damit sie bei Bedarf ein gemeinsames Ziel verfolgen können.

Prozesse, Prozesse, Prozesse

Die Ermöglichung der oben beschriebenen Cloud-nativen Denkweisen läuft auf das letzte Puzzlestück hinaus: Prozesse.

Während der genehmigungsbasierte Zugriff auf Technologie in der Welt der Rechenzentren, wo Kosten und Komplexität höher sind, sinnvoll ist, macht er in einer Cloud-Umgebung weitaus weniger Sinn. Stattdessen ist ein auf Leitplanken basierender Ansatz, der automatische Budgetobergrenzen und Tooling-Berechtigungen nutzt, eine effektivere Methode. So kann Entwicklern die Freiheit gegeben werden, die sie zum Experimentieren und zur Erweiterung ihres Wissens benötigen. In ähnlicher Weise werden traditionelle Gruppen in der Unternehmensarchitektur Mühe haben, mit dem Tempo der Cloud-nativen Innovation Schritt zu halten. Von daher sollte ihre Rolle nicht zu stark betont werden.

Da CI/CD so grundlegend für die Cloud-Nativität ist, sind die richtigen Werkzeuge für die Beschleunigung der Anwendungsbereitstellung und die Aufrechterhaltung der Qualität von entscheidender Bedeutung. Automatisierung ist der Schlüssel, um diesen Prozess effizient zu gestalten, insbesondere automatisierte Tests der Produktionsumgebungen und die Identifizierung von Problemen durch Anwendungsüberwachung. Auch die Erfassung von Rückmeldungen zu Leistung und Funktionalität und die Reaktion darauf sind entscheidend, insbesondere wenn es darum geht, den mit der Anwendungsüberarbeitung verbundenen Mehraufwand zu reduzieren.

Dieser deutliche Anstieg der Informationserfassung und -messung erstreckt sich auch auf die Überwachung der Fähigkeit agiler Teams, bei der Definition von Anwendungen koordiniert zusammenzuarbeiten. Hierbei wird ein besonderes Augenmerk darauf gelegt, dass eine einheitliche Geschwindigkeit über verschiedene Teams hinweg ermöglicht wird. In der Zwischenzeit können Messungen der allgemeinen Bereitstellungsqualität durch Kundenzufriedenheitswerte (wie NPS) weiter ergänzt werden.

Schließlich müssen Prozesse vorhanden sein, die es ermöglichen, „Ihre Ausbilder auszubilden“, indem die Lernergebnisse von einem Team oder einem Service auf viele weitere skaliert werden.  

Dies ist keine leichte Arbeit und könnte Gegenstand eines eigenständigen Artikels sein. Aber zumindest ist die Antwort auf die Frage, wem eine bestimme Arbeit gehört, eine einfache – nämlich allen. Entwicklungsteams sind dafür verantwortlich, qualitativ hochwertigen Code zu erstellen (wie sie es schon immer waren) und zu effektiven und effizienten CI/CD-Pipelines beizutragen. Produktteams sind der Schlüssel, um Rückmeldungen von Kunden zu erhalten und diese auf umsetzbare Art und Weise an das Entwicklungsteam weiterzuleiten. In der Zwischenzeit legt das Management Prozesse auf der Führungsebene fest und hat die Aufsicht über die Leistung der Prozesse und Mitarbeiter.

Es ist nie zu früh, um anzufangen

Wir sehen ein Interesse am Thema Cloud-Native im gesamten Spektrum. Wie bereits erwähnt, werden gut etablierte Organisationen, im Gegensatz zu Start-ups, nicht so einfach Cloud-native.

Wo sollen die meisten Organisationen also anfangen? Typischerweise empfehle ich, beim Aufbau neuer Produkte und Dienstleistungen oder bei der Anwendungsmodernisierung (die eine Gelegenheit bietet, monolithische Anwendungen aufzubrechen und sie mit Hilfe einer Microservices-Architektur ganz oder teilweise wieder aufzubauen) mit dem „Cloud Native Thinking“ (Cloud-natives Denken) zu beginnen.

Was den Wissensaufbau betrifft, so ist die serverlose Technologie ein Schlüsselbereich, in dem Fähigkeiten aufgebaut und Trends genau verfolgt werden können. Die Art dieser Dienste – kleine, funktions- oder problemspezifische Blöcke, die miteinander kombiniert werden können – bedeutet, dass das Ökosystem ständig wächst und es in einigen Fällen zu zahlreichen Überschneidungen kommt. Diese Auswahl an Werkzeugen wird mit der Zeit immer größer, sodass das Verständnis, wie sie alle zusammenpassen, zu einem starken Wettbewerbsvorteil wird.

Cloud-native Systeme sind auf schnelle Änderungen, schnelle Skalierung und Ausfallsicherheit ausgelegt. Aber Menschen bewegen sich selten so schnell wie die Technologie. Ihre Teams benötigen Zeit, um ihr Wissen zu entwickeln und sich an die neuen Prozesse anzupassen, die für eine Maximierung erforderlich sind.

Es ist also nie zu früh, um damit zu beginnen, Gelegenheiten zum Aufbau und Austausch von Cloud-nativem Wissen zu schaffen.

 

Join the Conversation: Find Solve on Twitter and LinkedIn, or follow along via RSS.

Stay on top of what's next in technology

Learn about tech trends, innovations and how technologists are working today.

Subscribe
Introducing Cloud Talk

Cloud Talk Podcast: Agilität mit Containern und serverlosen Architekturen

About the Authors

Amir Kashani

VP, AWS Cloud Native Development

Amir Kashani

As VP of AWS Cloud Native Development, Amir Kashani leads a team focused on building cloud-first software solutions for customers across a wide variety of industries. With over 20 years of technical experience and having led product and engineering teams for over ten years, Amir oversees delivery of solutions that reshape how companies embrace the cloud. As a trailblazer of cloud native development, Amir has helped break barriers to cloud native adoption, including in areas of serverless computing and IoT. Amir previously served a similar role at Onica, which was recently acquired by Rackspace. Prior to that, he was co-founder of Sturdy Networks, overseeing technical delivery through to the acquisition by Onica. Amir holds a B.S. in Information & Computer Science from University of California, Irvine.

Read more about Amir Kashani