Virtuelle Datenwolken schweben über den geöffneten Händen eines Anzugträgers.
Cloud & Hosting

Was ist Cloud Native?

„Cloud-native“ beschreibt die Entwicklung von Diensten für den ausschließlichen Einsatz in der Cloud. In diesem Zusammenhang ist häufig von sogenannten Native-Cloud-Applications (NCA) die Rede. Sie beruhen auf „kleinen Diensten“, den sogenannten Cloud-Microservices. Diese Struktur und die vollständige Fokussierung auf die Cloud ermöglichen einen hohen Grad an Flexibilität und Dynamik bei der Entwicklung und Steuerung von Anwendungen.

Cloud-native-Anwendungen kommen teilweise unbemerkt schon jetzt in vielen Cloud-Umgebungen von Unternehmen zum Einsatz. Diese umfassen sowohl Private Clouds und Public Clouds als auch die Mischformen der Hybrid-Clouds und Multi-Clouds. Hier erfahren Sie, wie Cloud-native-Dienste arbeiten und welche Vorteile sie Ihrem Unternehmen bringen können.

Inhaltsverzeichnis

Was bedeutet Cloud-native?

Der Begriff Cloud-native setzt sich aus den englischen Wörtern „cloud“ („Wolke“) und „native“ („gebürtig“) zusammen. Daraus geht hervor, dass die Daten-Cloud den „Geburtsort“, also die Grundlage für alle Dienste und Prozesse einer Anwendung darstellt – im Gegensatz zu lokalen Umgebungen, also Servern vor Ort (On-Premises).
Die sogenannte Cloud-native-Landscape hilft dabei, eine Übersicht der damit verbundenen Technologien zu generieren. Dabei handelt es sich um eine interaktive Übersichtskarte der „Cloud Native Computing Foundation“, einem Zusammenschluss zahlreicher Unternehmen. Sie führt auf, welche Firmen Microservices für die unterschiedlichen Teilbereiche von NCAs anbieten.

Cloud-native-Definition der „Cloud Native Computing Foundation“

„Cloud-native-Technologien ermöglichen es Unternehmen, skalierbare Anwendungen in modernen, dynamischen Umgebungen zu implementieren und zu betreiben. Dies können öffentliche, private und hybride Clouds sein. Best Practices wie Container, Service-Meshs, Microservices, immutable Infrastruktur und deklarative APIs unterstützen diesen Ansatz (siehe unten). Die zugrundeliegenden Techniken ermöglichen die Umsetzung von entkoppelten Systemen, die belastbar, handhabbar und beobachtbar sind. Kombiniert mit einer robusten Automatisierung können Softwareentwickler mit geringem Aufwand flexibel und schnell auf Änderungen reagieren.”
(Quelle: Cloud Native Computing Foundation)
NCAs bieten also innerhalb ihrer Architektur neben flexiblen Lösungen wie Microservices und Containern auch die Möglichkeit, deklarative Programmiersprachen an entsprechenden Programmierschnittstellen (APIs) einzusetzen. Bei diesen steht die Problembeschreibung im Fokus. Die Applikation ermittelt darauf aufbauend automatisch einen Lösungsweg, und Service-Meshs organisieren den Datenaustausch zwischen den einzelnen Teilen der Applikation (vor allem zwischen den Microservices).
Eine immutable (unveränderliche) Infrastruktur beschreibt den Grundriss, auf dem eine NCA aufgebaut ist: Diese wird bei Ereignissen oder Änderungen immer wieder neu mit den benötigten Funktionen bestückt. Die Vorteile eines solchen Aufbaus liegen in der geringen Komplexität, einfachen Wartung und hohen Sicherheit. Die Geschäftsprozesse eines Unternehmens müssen allerdings sehr ausgereift sein, um eine „unveränderliche” Infrastruktur zu nutzen.

Ortsunabhängig, nichtlinear, skalierbar – die Prämissen des Cloud-native-Konzepts

Wichtig für das Verständnis von Cloud-native-Entwicklung ist die Prämisse, in welcher Form Anwendungen erstellt und zur Verfügung gestellt werden. Der Ort ist zweitrangig – ein feststehender physischer Platz, beispielsweise in einem hauseigenen Rechenzentrum, ist nicht nötig. Deshalb ist Cloud-Computing die perfekte Umgebung, um derartige Dienste bereitzustellen und zu verwalten.
Ein weiteres Kennzeichen von Cloud-native-Anwendungen ist der zeitliche Aspekt: Cloud-native-Entwickler:innen erschaffen Dienste und Anwendungen nicht auf lineare Weise wie bei herkömmlichen Programmen. Stattdessen zerlegen sie die Software in viele verschiedene Komponenten, die sie unabhängig voneinander entwickeln und updaten können. Diese zahlreichen Microservices ergeben am Ende das große Ganze einer kompletten Webanwendung.
Vor allem der Entwicklungsprozess profitiert vom Cloud-native-Konzept, da er wesentlich modularer und flexibler abläuft als bei On-Premises-Lösungen. Auch die Integration von Updates, Bugfixes und neuen Features geschieht ohne Eingriffe in die fundamentale Infrastruktur der Anwendungen. Aus diesem Grund stehen Veränderungen an der Applikation den Auftraggeber:innen und Anwender:innen in der Regel sehr schnell zur Verfügung.
Empfohlener externer Inhalt
Hier ist ein Video-Inhalt von YouTube. Er ergänzt die Informationen auf dieser Seite.
Sie können ihn mit einem Klick anzeigen und wieder ausblenden.
Ich bin einverstanden, dass externe Inhalte angezeigt werden. So können personenbezogene Daten an Drittplattformen übermittelt werden. Mehr in unserer  Datenschutzerklärung.
Datenschutzerklärung

Die fundamentalen Säulen von Cloud-native-Anwendungen

Microservices

Microservices können auf jeder aktuellen Entwicklungsplattform erstellt werden und sind zu einem beliebten Stil in der Architektur moderner Webanwendungen geworden. Bei Microservices handelt es sich um kleine, unabhängige Dienste, die an verschiedenen Stellen in der Applikation arbeiten. Innerhalb eines größeren Domänenkontextes bringen sie jeweils eine bestimmte Geschäftsfunktion ein.
Entwickler:innen erstellen und implementieren die Microservices unabhängig voneinander. Jeder Microservice wird in einem eigenen Prozess ausgeführt und kommuniziert mit anderen Diensten über Standardprotokolle (wie zum Beispiel HTTP/S, gRPC und WebSockets). Alle Microservices bilden gemeinsam eine einzige Anwendung.

Container

Container dienen der Zusammenführung von Datenströmen mit unterschiedlichen Formaten zu einem einzigen Datenstrom. Entwickler:innen von Cloud-native-Anwendungen legen Microservices zu diesem Zweck in einem Container-Image ab. Diese Datei enthält den Code sowie seine Abhängigkeiten und seine Laufzeit.
Die Images sind in einer Container-Registrierung gespeichert, die als Bibliothek fungiert. Sie kann theoretisch überall abgelegt werden: auf dem lokalen Entwicklungscomputer, im Rechenzentrum eines Unternehmens oder in der Cloud. Programme wie Docker sorgen dabei für die intelligente Verwaltung dieser Container-Bibliotheken. Container und deren Verwaltung können zudem als Containers-as-a-Service (CaaS) gebucht werden.
Diagramm der Elemente von Cloud-native-Anwendungen
Systeme im Cloud-native-Umfeld basieren auf den folgenden vier grundlegenden Säulen.

Automatisierung

Automatisierung beschreibt die Bereitstellung von Cloud-Umgebungen für die Ausführung der Microservices. Das Prinzip Infrastructure-as-Code (IaC) stellt automatisch Plattformen und Anwendungen bereit. Damit entfällt für Entwickler:innen die manuelle Konfiguration von Umgebungen.
Die Updates der Microservices erfolgen auf diese Weise kontinuierlich und sind ebenfalls Bestandteil der Automatisierung. Die Auslieferung erfolgt somit ohne Zeitverzug. Man spricht in diesem Zusammenhang von Continuous Delivery (frei übersetzt: „durchgängige Auslieferung”), denn Anwender:innen müssen bei der Automatisierung von Cloud-native-Anwendungen nicht auf die Fertigstellung der gesamten Software („Monolith”) warten.

DevOps (Developers & Operations)

DevOps (Developers & Operations) bezieht sich auf die enge Zusammenarbeit von Entwickler:innen (Developers) und Anwender:innen aufseiten des Unternehmens oder der Kunden (Operations). Deren ständiger Austausch bei der Entwicklung von Cloud-Anwendungen sorgt dafür, dass die Anwendungen die Bedürfnisse des Unternehmens erfüllen und bei veränderten Bedingungen zielgerichtet modifiziert werden können. DevOps streben dabei die reibungslose Zusammenarbeit aller Microservices von Cloud-native-Anwendungen an, da nur so eine Continuous Delivery gewährleistet werden kann.
Gut gelaunter Mann mit einem Headset vor einem Notebook.

Microsoft Azure: Backup, SharePoint und Virtual Desktops

Sichern und archivieren Sie wertvolle Daten jetzt noch einfacher.

Mit Single-Sign-on für IT-Anwendungen und SharePoint-Integration stellen Sie Desktop-Anwendungen jetzt noch schneller bereit.

Und mit dem Azure Virtual Desktop konzentrieren Sie sich auf Strategie und Management – statt um die Verwaltung Ihrer Infrastruktur.

Funktionsweise und Merkmale des Cloud-native-Konzepts

Die vier Cloud-native-Säulen greifen ineinander und sind voneinander abhängig. Auf der Entwicklungsseite stellen die Microservices und Container-Funktionen die Basis für Cloud-native-Anwendungen dar. Auf der strategischen Seite befinden sich hingegen die Continuous Delivery im Rahmen der Automatisierung sowie die DevOps-Prozesse. Sind diese perfekt aufeinander abgestimmt, entsteht bei der (Weiter-)Entwicklung einer Anwendung ein kontinuierlicher Austausch zur Verbesserung von Inhalt und Struktur.
Das besondere Merkmal einer Cloud-native-Architektur besteht in der bereits genannten Kombination vieler Microservices, die nur lose miteinander gekoppelt werden. Erst dies ermöglicht eine Registrierungsstruktur auf Grundlage einzelner, portabler Container. Durch die standardisierten APIs (Programmierschnittstellen) sind die Dienste jedoch so reibungslos miteinander verknüpft, dass Anwender:innen nicht bemerken, dass sie nicht mit einer einzigen, sondern mit einer aus vielen separaten Services bestehenden Applikation arbeiten.
Die Skalierbarkeit ist ein weiteres Merkmal von Cloud-native-Anwendungen: Im Gegensatz zu lokal gehosteten Lösungen (On-Premises) passt sich eine Cloud-native-Anwendung immer exakt an den herrschenden Bedarf an. Die Leistungsfähigkeit erhöht sich durch Upgrades einzelner Microservices und nicht durch eine Aufrüstung der kompletten Anwendung. Dies passiert ereignisgesteuert und läuft bei vielen Cloud-native-Lösungen automatisiert ab.
Die Integration neuer Programmfeatures durch Entwickler:innen geschieht zudem in Echtzeit. Während On-Premises-Anwendungen für den Zeitraum der Integration individueller Updates deaktiviert werden müssen, ist dies bei NCAs nicht notwendig. Der Rollout geschieht ohne Downtime des Programms.

Cloud-native im Vergleich zu On-Premises-Systemen

Der Unterschied von Cloud-native-Anwendungen und On-Premises-Lösungen liegt vor allem in deren Architektur.
Während On-Premises-Anwendungen für die Ausführung auf lokalen Servern eines Unternehmens auf klassischen Programmiersprachen wie C/C++, C# und Java Enterprise aufbauen, wird Code für Cloud-native-Applikationen in webzentrierten Sprachen geschrieben (zum Beispiel HTML, PHP, CSS, JavaScript und Python).
In Kombination mit den frei wählbaren Plattformen und flexiblem Programmierschnittstellen folgt dies einem moderneren Ansatz, der Unternehmen im Hinblick auf die Zukunft hilfreich sein kann. Die Klassiker C++ und Java bieten dagegen mehr Möglichkeiten für Programmierer:innen.
Vergleich zwischen Cloud-native und On-Premises
Vergleich zwischen Cloud-native und On-Premises

So bereiten Sie sich auf eine Cloud-native-Umstellung vor

Wenn Sie mit dem Gedanken spielen, Cloud-native-Webanwendungen zu nutzen, sollten Sie im Vorfeld einige Dinge beachten. Wichtig zu wissen ist in diesem Zusammenhang, dass Sie bestehende On-Premises-Lösungen nicht einfach so auf Cloud-native umstellen können, da die beiden Architekturen so unterschiedlich sind.
Im Vorfeld der Einführung oder Umstellung auf Cloud-native-Entwicklung sollten folgende Dinge eine Rolle spielen:
  • Bestimmung eines passenden Qualifikationsmixes unter Ihren Mitarbeiter:innen
  • Etablierung eines Cloud-zentrierten Sicherheitsmodells
  • Auflösung monolithischer Anwendungen in Microservices
  • Erstellung eines geänderten Kostenprofils
Aufbauend auf diesen Punkten sollte sich der Wandel der Entwicklungs- und Projektarbeit nicht nur auf die Einführung von NCAs beschränken. Stattdessen sollten Sie den Cloud-native-Ansatz als Vorbild für das grundlegende Organisationsprinzip bei der Projektarbeit und -koordination in Ihrem Unternehmen ansehen.
Statt Silodenken, bei dem Teams und Abteilungen nebeneinander arbeiten und Projekte nach dem Wasserfallprinzip umsetzen, sollten agile und kooperative Organisationsformen Einzug halten. Die Entwicklung von Cloud-native-Anwendungen mit ihrer Automatisierung und dem DevOps-Modell kann erst dann ihre Stärken richtig ausspielen, wenn sich die Zusammenarbeit in Ihrem Unternehmen diesen Prinzipien angleicht.
Drei Männer und eine Frau betrachten Code auf einem Bildschirm
Das Cloud-native-Konzept kann die Arbeit von Projektteams in Ihrem Unternehmen agiler, flexibler und leistungsfähiger machen.

Vorteile von Cloud-native-Anwendungen

Der Einsatz von Cloud-native-Anwendungen bietet gegenüber On-Premises-Lösungen verschiedene Vorteile:
  • Geschwindigkeit: Die Anwendungen werden speziell für den Einsatz in der Cloud entwickelt und lassen sich aufgrund ihrer auf Microservices basierenden Architektur jederzeit anpassen. Veränderte Marktbedingungen, gestiegene Kundenanforderungen und Updates können ohne Zeitverzug implementiert werden.
  • Verlässlichkeit: Cloud-native-Anwendungen bleiben auch dann funktionsfähig, wenn es in ihrer Umgebung oder bei einzelnen Diensten zu Problemen kommt. Diese können behoben werden, ohne dass die komplette Plattform offline gehen muss und für Ihr Unternehmen oder Kund:innen nicht mehr erreichbar ist.
  • Flexibilität: Der Umfang von Cloud-native-Anwendungen ist jederzeit anpassbar – sowohl hinsichtlich der Funktionen und Services als auch in Bezug auf die Kapazität bei unterschiedlicher Last und größerem Speicherbedarf.
  • Verfügbarkeit: Cloud-Anwendungen sind jederzeit für alle Mitarbeiter:innen Ihres Unternehmens verfügbar – unabhängig vom genutzten Gerät.
  • Kosten: Cloud-native-Anwendungen basieren meist auf einem Abomodell, für das regelmäßige, allerdings relativ geringe Gebühren anfallen. Auch diese sind nach Funktions- und Leistungsumfang anpassbar. Bei On-Premises-Lösungen müssen Sie dagegen in der Regel eine teure Lizenz erwerben, um die Software nutzen zu können.

Herausforderungen von Microservices

Microservices bieten zwar wie erwähnt eine einfache Handhabung, hohe Geschwindigkeit und gute Skalierbarkeit, bergen aber auch Herausforderungen für den Einsatz in Unternehmen. Folgende Fragen sollten Sie beantworten, bevor Sie eine eigene Cloud-native-Architektur auf der Basis von Microservices nutzen:
  • Kommunikation: Sind Anwendungen im Frontend in der Lage, mit Microservices im Backend direkt zu kommunizieren? Oder ist stattdessen ein zusätzliches Gateway nötig, das Kontrolle, Flexibilität und Sicherheit garantiert? Daneben sollte ebenfalls geklärt sein, wie die Microservices im Backend miteinander kommunizieren und ob dort zum Beispiel Warteschlangen zur Kategorisierung und Priorisierung bei hohem Lastaufkommen notwendig sind.
  • Resilienz: Die Netzwerkkommunikation in der Microservice-Architektur geschieht gewöhnlich eventgesteuert. Dabei sind die Dienste miteinander gekoppelt und oft voneinander abhängig. Doch was passiert, wenn Dienst A auf den Aufruf von Dienst B keine Antwort erhält? Oder wenn Dienste nicht verfügbar sind und somit andere Dienste, die diese aufrufen, blockieren?
  • Verteilung: Microservices speichern ihre benötigten Daten separat ab und trennen diese von öffentlichen Schnittstellen. Wie fragen Sie diese Daten von außerhalb ab und wie realisieren Sie einen Datentransfer über mehrere Microservices hinweg?
  • Sicherheit: Welchen Sicherheitsanforderungen unterliegen Ihre Microservices in Bezug auf Ihre Geschäfts- und Kundendaten? Sind die Dienste dazu in der Lage, vertrauliche Daten sicher zu speichern und zu verwalten?
Mann steht inmitten einer Server-Racklandschaft in einem Rechenzentrum

Vodafone Total Cloud Professional Services

Wir beraten Sie in jeder Phase Ihres Cloud-Projekts und erarbeiten mit Ihnen, welche IT-Ressourcen Sie haben – und welche Sie brauchen. Zusammen entwerfen wir in unserer Roadmap das Design und den Aufbau Ihrer optimalen IT-Landschaft.

  • Effiziente Beratung auf den Punkt
  • Alles aus einer Hand

Das Wichtigste zu Cloud-native-Systemen im Überblick

Der Cloud-native-Ansatz hat wie erwähnt viele Vorteile – Beispiele dafür sind die flexible Infrastruktur, die große Zahl an nutzbaren Microservices, die Geschwindigkeit und die hohe Resilienz von Anwendungen. Für Unternehmen, die ihre Geschäftsprozesse in die Cloud bringen möchten, steht mit der Cloud-native-Entwicklung eine zukunftsweisende Technologie bereit, die stetig weiterentwickelt wird.
Allerdings sollten Sie sich solch einen Schritt gut überlegen: On-Premises-Lösungen können nicht einfach in Cloud-native-Prozesse umgewandelt werden, und für den grundlegenden Aufbau benötigen Ihre Unternehmensprozesse und IT-Strukturen einen hohen Reifegrad. Die Etablierung agiler und kooperativer Arbeitsprozesse innerhalb Ihres Unternehmens sollte die Änderungen bei Ihrer Entwicklungsarbeit begleiten.
Können Sie diese Punkte gewährleisten, steht Ihnen mit Cloud-native-Anwendungen eine leistungsstarke Alternative gegenüber reinen On-Premises-Lösungen zur Verfügung.
Das könnte Sie auch interessieren:
Digitalisierung
Ein stilisiertes Zahnrad in dem die Buchstaben SOA stehen. Links und rechts daneben Zahnräder mit stilisierten IT-Symboliken. Im Hintergrund sind andeutungsweise Teile von Verbindungs-Meldungen zu lesen.

SOA: Serviceorientierte Architektur verstehen und richtig nutzen

Die serviceorientierte Architektur (SOA) ermöglicht es Unternehmen, maßgeschneiderte Produkte und Dienstleistungen effizient anzubieten, ohne sie jedes Mal von Grund auf neu programmieren zu müssen. Im Folgenden erfahren Sie, was genau SOA ist und wie dieser Ansatz von der Bestellung bis zur Abwicklung Ihre Geschäftsprozesse optimieren kann. SOA kann als Schlüssel zur Bewältigung der wachsenden Komplexität in der heutigen Geschäftswelt kleiner und großer Unternehmen dienen. Wir bieten einen umfassenden Einblick in die serviceorientierte Architektur und zeigen, wie sie Unternehmen dabei unterstützt, effizienter zu arbeiten und sich den ständig ändernden Marktanforderungen anzupassen. Folgende Fragen stehen dabei im Fokus: Was ist (eine) SOA überhaupt? Welche Vorteile und Ziele hat dieser Ansatz? Welche Unterschiede bestehen zwischen SOA und Microservices? Wie kann SOA im unternehmerischen Alltag angewendet werden?

Telefon

Digitalisierungs-Beratung

Sie haben Fragen zur Digitalisierung? Jetzt kostenlos beraten lassen. Montag-Freitag von 8-20 Uhr, außer an Feiertagen.

0800 505 4512

Hilfe und Service

Montag bis Freitag von 8 bis 20 Uhr, außer an Feiertagen.

0800 172 1234
Online
Vor Ort