X

Neuste Trends, Tipps, Strategien &
Events rund um das Thema Cloud

Cloud Native Applications – die Zukunft in Sachen Softwareentwicklung

Cloud Native, heftig diskutiert in der Softwareentwicklung, steht bei einigen Entwicklern im Ruf eines Hypes, der sich schon bald wieder verziehen wird. Andere halten das Ganze für die Zukunft in Sachen Softwareentwicklung und eine unverzichtbare Strategie, um auch künftig wettbewerbsfähig zu bleiben.

Was bedeutet Cloud Native?

 

Native Cloud Anwendungen (NCA) sind Programme und Dienste, die speziell für eine Cloud-Computing-Architektur entwickelt wurden, um das reibungslose Funktionieren der Cloud zu ermöglichen. Dabei geht es vor allem um Microservices, daneben aber auch um selbsterhaltende Systeme oder Big-Data-Anwendungen. 

 

Bei den Microservices werden Entwicklungsaufgaben in getrennte Dienste unterteilt und dann auf mehreren Servern an unterschiedlichen Standorten ausgeführt. Die Microservices konzentrieren sich häufig auf eine einzige spezifische Funktion, z. B. das Sammeln von Daten, der Versand von Nachrichten oder das Auslesen von Sensoren. Zusammengefasst:

•       Cloud Native Anwendungen basieren auf diesen Microservices und nutzen konsequent die von der Cloud bereitgestellten Services.

•       Sie werden als ein System von Microservices, die miteinander verbunden sind, aufgebaut.

•       Jeder Microservice steht wie erwähnt für exakt eine Funktionalität mit einer klar definierten Grenze sowie einer API (Application Programming Interface).

•       Das erleichtert die Reproduzierbarkeit, optimiert die Ressourcen und sorgt für Transparenz! 
 

Eine Cloud Native Definition geht also von all jenen Anwendungen aus, die bereits bei ihrer Konzeption auf die Nutzung in der Cloud gestaltet wurden. Oberster Hüter dieses Programmierparadigmas ist die Cloud Native Computing Foundation (CNCF), eine Stiftung, die sich dafür einsetzt, Cloud Native Computing nachhaltig und universell zu machen.
 

Die Hauptvorteile des Cloud Native Ansatzes

Grundlegend ist die Strategie, dass alle Anwendungen als System miteinander korrespondierender Microservices konzipiert sind. Die Microservices inklusive aller zur Ausführung erforderlicher Elemente packt man in einen Container. Das bringt Flexibilität: Die Container sind hochgradig portabel; Anwendungen lassen sich in jeder Umgebung ausführen. Wenn das Design der Anwendung eine horizontale Skalierung unterstützt, können mehrere Container-Instanzen gleichzeitig gestartet oder gestoppt werden. Um die Überwachung des Systems und die Balance der Last zwischen den Anwendungsinstanzen zu steuern, wurden Kubernetes, Apache Mesos und andere Orchestrierungslösungen konzipiert, da eine manuelle Steuerung zwar möglich, aber zeitraubend und aufwändig ist. 

Cloud Native Applications - die Zukunft in Sachen Softwareentwicklung


Großes Plus: Entwicklerteams werden mit Cloud Native Anwendungen agiler, da dieser Ansatz Anwendungen in kleinere Teile aufsplittet. Die wiederum werden nicht nur unabhängig erstellt, sondern auch automatisch getestet und bereitgestellt. Das Ganze wirkt sich also nicht auf andere Anwendungsteile aus. In einer monolithischen Anwendung dagegen lassen sich Teile des Codes meist nicht ändern, ohne dass auch andere Teile geändert werden müssen. Koppelt man Funktionen in einer einzigen Codebasis eng miteinander, führt das oft zu weniger und riskanteren Software-Releases.

 

Cloud Native Anwendungen interagieren intelligent

Obwohl die Anwendungen aus mehreren Diensten zusammensetzt bereitgestellt werden, sehen etwa ein Streaming-Musikdienst oder eine SaaS-Personalanwendung für den Endbenutzer wie eine einzige Anwendung aus. Die Interaktion läuft über die Anwendung als Ganzes und in der Regel auch nur über eine einzige API. Dabei ist aber zugleich jeder Dienst elastisch und lässt sich unabhängig von anderen Diensten skalieren – im Idealfall automatisch auf der Basis definierter Trigger wie der Last. Das erlaubt eine kostenoptimierte und effiziente Nutzung der eingesetzten Ressourcen. 

Zudem ist jeder Service hoch verfügbar, belastbar und in der Lage, Ausfälle der Infrastruktur zu überstehen. Fehler, die aus Hardware- oder Softwareproblemen resultieren, gibt es damit weniger. Und: Die Dienste sind so aufgebaut, dass sie als Teil einer anderen Anwendung fungieren können. Jeder Dienst besitzt zumindest eine API, die erkennbar und einheitlich ist und zudem über definierte Verhaltensweisen für die Erkennung, Registrierung und Anforderungsverwaltung verfügt.

 

Zuversicht auf dem Markt rund um das Thema Cloud Native

Cloud Native Anwendungen werden immer beliebter. Laut einer Umfrage von Longitude Research im Auftrag von Capgemini soll ihr Potential noch zulegen: Bereits jetzt sind rund 15 Prozent sämtlicher neuer Anwendung Cloud Native. Capgemini erwartet nun mehr als eine Verdoppelung dieses Anteils bis 2020. Experten rechnen damit, dass Cloud Native bei Anwendungen für den Kundenkontakt bis 2020 Standard werden. Hintergrund dafür: die immer kürzeren Innovations- und Produktzyklen, auf die Unternehmen mit Hilfe der Cloud rasch und effektiv reagieren können. 

Die Studie unterscheidet Unternehmen nach ihrem Entwicklungsgrad in Sachen Cloud Native: Für jene, die bereits intensiver auf Cloud Native Anwendungen setzen, ist laut den Studienautoren eine positive Entwicklung des Umsatzes doppelt so wahrscheinlich wie für Unternehmen, die in dieser Hinsicht weniger engagiert sind. Dabei zeigen sich zwischen den Branchen große Unterschiede. Etwa 25 Prozent der High-Tech-Unternehmen und annähernd ein Drittel der herstellenden Betriebe setzen stark auf Cloud Native, aber nur 11 Prozent der Bankdienstleister und 18 Prozent der Versicherer. Die Lücke dürfte sich jedoch bald schließen – alle diese Branchen wollen in den kommenden Jahren deutlich mehr in diesem Bereich investieren.

 

Cloud Native fordert heraus – wo sind die kritischen Punkte?

Unternehmen müssen alte Muster und Gewohnheiten aufbrechen und viele neue Fähigkeiten erwerben. Die IT zum Beispiel rückt durch Cloud-Native plötzlich enger an die Produktentwicklung heran und kann einen essentiellen Teil zur Wettbewerbsdifferenzierung beitragen. Eine weitere Herausforderung ergibt sich auch aus den für den Kulturwandel anfallenden Kosten. 

Sorgen bereitet den Verantwortlichen zudem der Mangel an Operatoren und Entwicklern mit dem nötigen Know-how, die ja durch moderne, cloud-native Anwendungen stark gefordert werden. Experten schätzen, dass sich die Zahl der unbesetzten Stellen in diesem Bereich innerhalb nur eines Jahres verdoppelt hat. Zudem herrscht in den Unternehmen selbst oft große Unsicherheit hinsichtlich der spezifischen Anforderungen bzw. der geforderten Ausbildung. Wer hier erfolgreich sein will, muss eine durchdachte Strategie zur Anwerbung von Cloud-Native-Talenten entwickeln. „Cloud First“ sollte dabei als Devise derzeit noch im Vordergrund stehen, längerfristig aber „Cloud Only“.

 

Cloud Native Applications - die Zukunft in Sachen Softwareentwicklung

Ein Blick in die Zukunft

Cloud Native Computing wird Mainstream werden, darauf deutet alles hin. Viele Unternehmen aus unterschiedlichsten Bereichen, auch kleine und mittlere Betriebe, setzen auf Technologien wie etwa Docker, K8s etc., und zwar häufig bereits in der Produktion. Der geschäftliche Nutzen ist offensichtlich; es ist also damit zu rechnen, dass Cloud Native Technologien für fast alle Anwendungen ohne Alternative sind. Noch ist allerdings viel im Fluss, und eine Flut von Begriffen und entsprechende Hypes sorgen bisweilen für Konfusion. Doch die Realität ist bereits cloud native: Das zeigt eindrucksvoll der Siegeszug von Docker und der umfangreiche Einsatz von Cloud Native Technologien bei zahlreichen Unternehmen – vom Start-up-Betrieb bis hin zum DAX-Konzern. 

Die Nachfrage nach Instrumenten, die Stabilität, Skalierbarkeit und vor allem Geschwindigkeit sicherstellen, wird weiter wachsen. Hier spielen Cloud Native Technologien wie Docker ihr Können aus, besonders wenn es um maximale Flexibilität und Anpassungsfähigkeit durch eine kontinuierliche Skalierbarkeit der Software-Infrastruktur geht. Hinzu kommt: Andere, klassische Systeme profitieren ja ebenfalls von Cloud Native Prinzipien: Sie werden meist fehlertoleranter, wartungsfreundlicher und robuster – ein Vorteil, den sich viele nicht entgehen lassen werden, auch wenn sie gar nicht vorhaben, die Systeme jemals in die Cloud zu bringen.

 

Kontakt:

Wenn Sie noch mehr darüber wissen möchten, dann sind wir gerne für Sie da, per LinkedIn, Facebook oder Twitter.

Kommentieren

Kommentare ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.