Der Cloud Native Begriff
Laut einer im Oktober 2021 veröffentlichten Studie über den Cloud Native Markt in Deutschland haben circa drei Viertel der befragen CTOs ein unterschiedliches Verständnis davon, wofür der Begriff „Cloud Native“ steht.
Circa 18 Prozent der Teilnehmer verwenden den Ausdruck als eine andere Bezeichnung für Public Cloud. In Anlehnung an den Begriff „Digital Native“ haben 8% der Befragten geantwortet, dass es sich bei Cloud Native um Menschen handelt, die im Cloudzeitalter aufgewachsen sind.
Die unterschiedlichen Antworten sind nicht überraschend, schließlich gibt es auch in der deutschen Version von Wikipedia bis zum Zeitpunkt der Veröffentlichung dieses Artikels keinen Eintrag zum Cloud Native Begriff, obwohl bereits 2015 bei der Gründung der Cloud Native Computing Foundation (CNCF) eine Definition formuliert wurde.
Immerhin mehr als ein Viertel der Studien-Teilnehmer und damit die größte Gruppe der Befragten konnte den Begriff korrekt zuordnen. Tatsächlich wird von vielen IT-Experten der Cloud Native Ansatz als der wichtigste Trend für die Zukunft der Software-Entwicklung eingestuft. Aber was genau versteht man unter „Cloud Native“?
Die Definition von Cloud Native
Unter Cloud Native versteht man den Ansatz in der Softwareentwicklung, von Beginn an skalierbare Applikationen für den Einsatz in Private-, Public- oder Hybrid Cloud Umgebungen zu konzeptionieren, agil zu entwickeln und plattformunabhängig auf unterschiedlichen Servern an verschiedenen Standorten dynamisch auszuführen.
Die grundlegenden Elemente des Cloud-Native Konzepts sind Microservices und Container Technologien. Alle für eine Cloud Native Applikation notwendigen Abläufe, Prozesse und Dienste werden dabei in vielen kleinen Einzelaufgaben aufgeteilt, die jeweils als Microservice entwickelt werden. Jedes Microservice erledigt nur eine einzelne, spezifische Aufgabe und wird mit den für die Ausführung notwendigen Bibliotheken und Konfigurationsdateien in einem Container zusammengefasst. Die Container stellen auf diese Weise die komplette Laufzeitumgebung der Applikation bereit und können nach Belieben zwischen verschiedenen Umgebungen verschoben werden. Über exakt definierte Programmierschnittstellen (APIs) werden die Microservices schließlich miteinander verbunden, um ihre Daten und Informationen untereinander auszutauschen.
Welche Vorteile haben Cloud Native Applikationen?
Microservices sind hoch standardisiert, defragmentiert und gleichzeitig automatisiert und skalierbar. Sie werden in einer virtuellen, elastischen Infrastruktur bereitgestellt und nutzen nur so viel Leistung der zugewiesenen Cloud Computing Ressourcen, wie sie in Echtzeit für Ihre Aufgaben benötigen. Eine automatische, intelligente Orchestrierung der Container gewährleistet ein optimales Zusammenspiel aller Microservices und somit die volle Funktionalität der Applikation.
Auf diese Weise entstehen fehlertolerante Software-Lösungen, die sich dynamisch an den momentanen Bedarf und an die aktuelle Auslastung anpassen. Speziell stark wachsende Unternehmen profitieren davon, dass ihre Anwendungen unabhängig vom Betriebssystem oder von spezifischer Hardware erstellt werden und problemlos portierbar sind. Zusätzlich wird mit dem Cloud Native Ansatz auch das übergeordnete Ziel erreicht, die Entwicklung der Applikationen schneller, flexibler und agiler zu machen, wodurch die Unternehmen auch rascher, flexibler und dynamische auf Veränderungen in ihrem Marktumfeld reagieren können.
Wie werden Cloud Native Applikationen entwickelt?
Durch die modulare Architektur ist es möglich, dass mehrere Entwicklerteams unabhängig voneinander arbeiten und ihre Microservices, mit dem jeweils für die Lösung der Aufgabe am besten geeigneten Tool, erstellen. Gleichzeitig wird besonders viel Wert daraufgelegt, den Code so schlank und minimalistisch wie möglich zu halten, um unnötige Komplexität zu vermeiden.
Jedes Microservice verfügt über einen eigenen, unabhängigen Lebenszyklus, der von einem agilen DevOps Prozess beaufsichtigt wird. Um die Cloud Native Anwendung bereitzustellen und zu verwalten, arbeiten in der Regel mehrere automatisierte Test-, Build- und Delivery-Pipelines (CI/CD = Continuous Integration/Continuous Delivery) zusammen. Dabei werden die einzelnen Dienste in kurzen Zeitabständen entwickelt, getestet und in Betrieb genommen oder gegebenenfalls korrigiert und wiederholt getestet, bis schließlich eine fehlerfreie Version entstanden ist. Sollte ein Microservice während der Laufzeit dennoch einen Fehler aufweisen, beeinträchtigt dieser zwar die Funktionalität der Applikation, führt aber nicht zu einem Totalausfall.
Monolithische Applikationen vs. Cloud Native Anwendungen
Im Gegensatz dazu ist bei monolithischen Applikationen bei einem Fehler oft die Funktionalität der ganzen Applikation betroffen, von dessen Auswirkungen oft das ganze Unternehmen beeinträchtigt ist. Der Aufwand für die Fehlerbehebung und das Deployment der gepatchten Version ist im Regelfall sehr zeit- und ressourcenaufwendig.
Kurzfristige Anpassungen oder Änderungen, die aufgrund von Veränderungen am Markt oder Kundenanforderungen entstehen, bedürfen einer langfristigen Planung und sind nur sehr schwierig innerhalb eines Release zu implementieren. Die Summe dieser starren Eigenschaften führt dazu, dass jene Unternehmen, die monolithische Applikationen einsetzen, nicht rasch und flexibel auf veränderte Marktanforderungen reagieren können und dadurch einen Wettbewerbsnachteil erleiden.
Ergebnis der Studie
Nachdem im weiteren Verlauf der Studie die anfängliche Begriffsverwirrung geklärt wurde, zeigte sich eine große Affinität der IT-Entscheider für die Umsetzung von Cloud-Native Projekten. Circa ein Viertel der Teilnehmer gaben an, bereits den Cloud Native Ansatz in ihrem Unternehmen umzusetzen. Ein weiteres Viertel plant in den nächsten zwölf Monaten die Einführung. Als häufigster Beweggrund wurde der Wunsch nach stabileren Systemen und optimierten Prozesse angegeben.
Überraschenderweise wurden die Vorteile der Flexibilisierung und die automatische Skalierung nur nachrangig genannt. Daraus lässt sich ableiten, dass viele Unternehmen noch nicht richtig abschätzen können, welche positive Auswirkungen die Einführung von Cloud Native-Lösungen auf ihre Wettbewerbsfähigkeit haben werden.
Auf jeden Fall handelt es sich beim Cloud Native Ansatz nicht um einen kurzlebigen Hype, sondern um einen richtungsweisenden Trend, der gekommen ist, um zu bleiben. Nicht nur bei der Entwicklung von neuen Geschäftsmodellen, sondern auch für bestehende Unternehmen bei der Bewältigung von dynamischen Marktentwicklungen werden sich Cloud Native-Applikationen immer stärker durchsetzen.
Weiterführende Informationen
Die zitierte Studie zum kostenlosen Downloaden findest du hier: „ISG Pulse Check: Status quo des Cloud-Native-Markts in Deutschland“.