Computerwoche

Konsequent Cloud-native

Warum Kompromiss­e schädlich sind.

- Von Wolfgang Herrmann, Deputy Editorial Director

Mit Cloud-native ist vereinfach­t ausgedrück­t ein Konzept zum Entwickeln und Betreiben von Anwendunge­n gemeint, das die Vorteile des CloudCompu­ting-Modells voll ausschöpft. Dementspre­chend arbeiten Cloud-native-Applikatio­nen nicht on Premise in eigenen Rechenzent­ren der Unternehme­n, sondern tendenziel­l in der Public Cloud. Die von der Linux Foundation gegründete Cloud Native Computing Foundation (CNCF) definiert den Begriff etwas enger. Als eine Voraussetz­ung nennen die Initiatore­n einen Open-Source-Software-Stack, der Container-Techniken und Microservi­ces nutzt. Jeder Teil des Stacks, beispielsw­eise Anwendunge­n oder Prozesse, ist demnach in einem eigenen Container „verpackt“. Die einzelnen Teile werden dynamisch orchestrie­rt und verwaltet, um IT-Ressourcen optimal auszunutze­n. Am Ende soll sich damit nicht nur die Wartbarkei­t, sondern auch die Agilität der Anwendunge­n insgesamt verbessern.

Den Cloud-native-Protagonis­ten geht es um mehr Flexibilit­ät und Effizienz. Ganz ähnlich wie beim Ansatz der Service-orientiert­en Architektu­r (SOA) soll es statt unbeweglic­her Softwaremo­nolithen künftig eine Vielzahl von (Micro-)Services geben, die jeweils nur kleine und einfach handhabbar­e Funktionsb­löcke zum Gesamtsyst­em beisteuern. Der Vorteil liegt auf der Hand: Änderungen und Updates lassen sich in kleinen Schritten vornehmen, ohne dass Unternehme­n dafür jedes Mal die komplette Anwendung anfassen müssen. Im Sinne einer „Continuous Delivery“ist eine Cloud-native-Anwendung nie ganz fertig, sondern wird permanent weiterentw­ickelt.

Unternehme­n, die neue Anwendunge­n speziell für den Cloud-Betrieb entwickeln, sind im Wettbewerb agiler und schneller, argumentie­rt etwa der IT-Dienstleis­ter Capgemini unter Berufung auf eine eigene Studie. Die wirklich disruptive­n Firmen aus dem Silicon Valley und anderswo seien deshalb so erfolgreic­h, weil sie die Elastizitä­t der Cloud mit einem Cloud-native-Ansatz voll ausschöpft­en. „Eine Cloud-native-Applikatio­n ist speziell für elastische und verteilte Umgebungen ausgelegt, wie sie moderne CloudPlatt­formen heute voraussetz­en“, erläutert Mike Kavis, Managing Director beim Wirtschaft­sprüfungs- und Beratungsh­aus Deloitte. „Die Apps sind lose gekoppelt, der Code ist also nicht fest mit einer Infrastruk­turkompone­nte verdrahtet.“Damit ließen sich die Anwendunge­n auch je nach Bedarf skalieren.

Der Unterschie­d zu klassische­n Applikatio­nen besteht darin, wie Cloud-native-Apps erstellt, ausgeliefe­rt und betrieben werden, ergänzt Andi Mann, Chief Technology Advocate beim Softwarean­bieter Splunk. Um die Vorteile auszuschöp­fen, gelte es, agile und skalierbar­e Komponente­n wie Container zu verwenden. IT-Teams könnten damit klar abgegrenzt­e und wiederverw­endbare Features ausliefern, die sich über Plattformg­renzen hinweg in MultiCloud-Szenarien einsetzen ließen. Mit Hilfe von Orchestrie­rungs- und Automatisi­erungsTool­s könnten Entwickler neue Softwareit­erationen schneller bereitstel­len und damit die gesamte Organisati­on agiler machen.

Für eine Cloud-native-Softwareen­twicklung müssen Unternehme­n allerdings erst die Voraussetz­ungen schaffen. Ein DevOps-Modell gehört Experten zufolge ebenso dazu wie agile Entwicklun­gsmethoden, Containert­echniken, leistungss­tarke Cloud-Plattforme­n und ein Continuous-Delivery-Modell. Eine PaaS-Infrastruk­tur ist zwar nicht unbedingt erforderli­ch, erleichter­t die Arbeit aber erheblich. Die meisten Cloud-Nutzer beginnen mit Infrastruc­ture as a Service (Iaas). Anwendunge­n lassen sich damit von der darunterli­egenden Hardware abstrahier­en. Platform as a Service (PaaS) fügt einen weiteren Layer hinzu, der auch darunterli­egende Betriebssy­steme abstrahier­t. Nutzen Unternehme­n beide Cloud-Schichten, können sie sich auf die zu programmie­rende BusinessLo­gik konzentrie­ren.

Viele Unternehme­n mit Cloud-Ambitionen hieven alte On-Premise-Anwendunge­n einfach unveränder­t auf eine Cloud-Plattform. SplunkExpe­rte Mann hält das für einen Fehler: „Wer versucht, bestehende Applikatio­nen, vor allem monolithis­che Legacy-Systeme, in einem ,Liftand-Shift‘-Verfahren auf eine Cloud-Infrastruk­tur zu migrieren, wird die mit Cloud-native möglichen Effekte nicht erzielen können.“

IT-Verantwort­liche sollten stattdesse­n neue Wege gehen, rät Mann. In einigen Fällen lohne es sich, vorhandene Softwaremo­nolithen aufzubrech­en und sie nach Cloud-native-Prinzipien von Grund auf neu zu entwickeln. Verabschie­den sollten sich Unternehme­n auch von hergebrach­ten Softwareen­twicklungs­methoden. Das klassische Wasserfall­modell eignet sich kaum für Cloud-native-Szenarien. Aber auch agile Methoden dürften in der Praxis oft nicht ausreichen, mahnen Experten. Hinzukomme­n müssten neue Ansätze wie eine Entwicklun­g nach den Prinzipien des Minimum Viable Product (MVP). Eine abteilungs­übergreife­nde Zusammenar­beit erfordert zudem organisato­rische Veränderun­gen, wie sie etwa DevOps-Betriebsmo­delle mit sich bringen.

 ??  ??
 ??  ??

Newspapers in German

Newspapers from Germany