Blog

Die 5 wichtigsten Zutaten für die Entwicklung Cloud-nativer Anwendungen

Tom Höfte

Aktualisiert Oktober 21, 2025
9 Minuten

Cloud Native Applications ist ein Trend in der IT, der verspricht, Anwendungen in großem Maßstab schnell und kostengünstig zu entwickeln und bereitzustellen, indem Cloud-Dienste genutzt werden, um Plattformfunktionen zur Laufzeit wie Leistung, Skalierbarkeit und Sicherheit von Anfang an zu erhalten. Die Teams können sich auf die Bereitstellung von Funktionen konzentrieren, um das Innovationstempo zu erhöhen. Alles mit dem Ziel, der Konkurrenz voraus zu sein. Unternehmen wie Netflix und Uber mischen ihre Märkte auf, indem sie Cloud-native Funktionen nutzen, um ihre Produkte schnell und weltweit einzuführen. Passen Sie sich an oder sterben Sie. Dieser Artikel ist der Beginn einer Reihe von Artikeln. Ziel dieses ersten Artikels ist es, das "Warum" und "Wie" von Cloud Native Applications zu erklären, indem ich die 5 wichtigsten Bestandteile und ihre Beweggründe definiere. In den Folgeartikeln werde ich die Bestandteile ausführlicher erläutern.

Warum Cloud Native Anwendungen

Die Welt wird in einem rasanten Tempo digitalisiert, und Software frisst die Welt. Unternehmen brauchen eine leistungsstarke IT-Organisation, um in dieser softwaregesteuerten Welt zu überleben. Die Menschen und Organisationen, die an der Bereitstellung dieser Software beteiligt sind, suchen ständig nach Möglichkeiten, die Bereitstellung neuer Softwareprodukte zu beschleunigen, um den geschäftlichen Anforderungen gerecht zu werden. In den letzten 2 Jahrzehnten haben sich sowohl die Technologie als auch die Menschen und die Kultur weiterentwickelt, alle mit dem Ziel, Software schneller bereitzustellen und IT-Verschwendung zu eliminieren. Build-Automatisierung, kontinuierliche Integration und Bereitstellung bis hin zu DevOps, der Aufstieg von Microservice-Architekturmustern und unterstützenden Tools und Frameworks - all das zielt darauf ab, Software schneller bereitzustellen. Aber die Lieferfristen sind immer noch zu lang, weil die Teams auf die Verfügbarkeit der Infrastruktur warten müssen. Sie können die Bereitstellung der Infrastruktur automatisieren oder versuchen, DevOps zu betreiben, aber wenn die Hardware nicht verfügbar ist oder die Bereitstellung der Infrastruktur von einer externen Abteilung abhängt, die nicht in Ihrem Tempo liefern kann, hilft die automatisierte Bereitstellung der Infrastruktur nicht weiter. Mit dem Aufschwung des Cloud Computing, der durch die Einführung von Amazon Web Services gefördert wurde, kann Infrastruktur sofort in nahezu unbegrenztem Umfang zur Verfügung gestellt werden. Teams können ihre eigene Infrastruktur genauso schnell bestellen und bereitstellen, wie sie einen Flug buchen oder Bücher auf Amazon kaufen. Darüber hinaus ist die Cloud-Infrastruktur kosteneffizient, da sie keine großen Vorabinvestitionen erfordert. Sie wird nach dem Prinzip "pay-as-you-go" bezahlt. Deshalb ist die Cloud-Infrastruktur bei Start-ups oder Innovationsabteilungen beliebt, die eine Infrastruktur benötigen, um schnell und kostengünstig neue Produkte auszuprobieren. Durch die Nutzung von Cloud-Infrastruktur und -Services kann ein Unternehmen Cloud-native Anwendungen entwickeln, die kosteneffizient bereitgestellt werden können und den heutigen Anforderungen an Geschwindigkeit und Skalierbarkeit entsprechen. Die Umstellung auf Cloud Native ermöglicht es einem Unternehmen, eine wirklich leistungsstarke IT-Organisation zu werden, die gewinnen kann. Die IT hat ihre eigene industrielle Revolution erlebt.

Bestandteile von nativen Cloud-Anwendungen

Nachdem ich die Notwendigkeit nativer Cloud-Anwendungen erläutert habe, kann ich nun definieren, was ich unter nativen Cloud-Anwendungen verstehe. Die grundlegendste Definition von nativen Cloud-Architekturen finden Sie, wenn Sie die Definition des Adjektivs nativ nachschlagen:

Bezieht sich auf das Geburtsland oder den Geburtsort von jemandem oder beschreibt jemanden, der in einem bestimmten Land oder Ort geboren wurde
[Quelle: https://dictionary.cambridge.org/dictionary/english/native]

Anhand dieser Definition kann ich Cloud Native Applications als Anwendungen definieren, die in der Cloud leben und die Vorteile der Ausführung in der Cloud voll ausschöpfen. Wie bei den meisten IT-Trends reicht eine einzige Definition nicht aus. Daher ziehe ich es vor, die Bestandteile zu definieren, mit denen Cloud Native Umgebungen geschaffen werden. Abbildung 1 zeigt die 5 wichtigsten Bestandteile - mit Ausnahme der Cloud Native Application selbst - für die Erstellung von Cloud Native Application-Architekturen.

Abbildung 1 Die 5 wichtigsten Zutaten für die Entwicklung nativer Cloud-Anwendungen

Die Zutaten sind in die Kategorien Technologie und Menschen & Kultur unterteilt. Der Aufbau und Betrieb nativer Cloud-Anwendungen ist nicht nur technologiegetrieben. Die Zutaten Mensch und Kultur sind der Schlüssel zum Erfolg bei der Nutzung der Cloud zur Beschleunigung von Innovationen. Zweitens können native Cloud-Anwendungen aus einer Kombination von Microservices und serverlosen Funktionen bestehen, die durch Ereignisse ausgelöst oder über APIs bereitgestellt werden. Gartners definiert diese Art von Anwendungen in ihrem Tech Report 2017 als Mesh Application Service Architectures, MASA. In den folgenden Unterabschnitten werden die 5 wichtigsten Bestandteile kurz vorgestellt.

Zutat Nr. 1: Automatisierung der Cloud-Plattform

Natürlich ist dies ein wesentlicher Bestandteil, da Cloud-native Anwendungen in der Cloud geboren werden und dort leben. Eine Cloud-Plattform bietet Plattformdienste für die Ausführung Ihrer Anwendungen, die Verwaltung Ihres Netzwerks und die Verwaltung von Sicherheit und Identitätszugriff in Ihrer Cloud-Umgebung. Wie bereits erwähnt, ist die Cloud auch kosteneffizient. Die Cloud erfordert keine großen Vorabinvestitionen für den Aufbau und die Verwaltung eines Rechenzentrums. Die Elastizität einer Cloud-Plattform ermöglicht es Unternehmen, klein anzufangen und grenzenlos zu wachsen, aber nur für die Infrastruktur zu zahlen, die sie benötigen. Das macht die Cloud sehr kosteneffizient. Eine Cloud-Plattform, die nicht vollautomatisch bereitgestellt werden kann, bietet nicht die Geschwindigkeit und Agilität, die der Betrieb nativer Cloud-Anwendungen verspricht. Sie sollten dem Infrastructure-as-Code-Paradigma folgen, das vorschreibt, dass Sie Ihre Infrastruktur auf die gleiche Weise definieren, wie Sie Softwareprogramme in Code schreiben. Auf diese Weise können Sie alle weit verbreiteten Best Practices für das Testen, die Versionskontrolle, die Dokumentation und die Verwaltung des Software-Lebenszyklus wiederverwenden. Versionieren Sie die Infrastruktur in der Versionskontrolle und stellen Sie neue Umgebungen mit den richtigen Anforderungen unter Verwendung einer bestimmten Version bereit. Korrigieren Sie die Infrastruktur zuerst im Code, testen Sie die Korrektur in einer Testumgebung und übergeben Sie sie nach Abschluss der Tests an die Versionskontrolle, woraufhin die betroffene Umgebung sofort von Grund auf neu erstellt werden kann. Anstatt Probleme in einer laufenden Umgebung zu beheben, was das Risiko von Nebeneffekten oder einer Abweichung der Umgebungskonfiguration birgt. Auf dieselbe Weise können Sie auch neue Funktionen zu Umgebungen hinzufügen. Mit Infrastructure-As-Code und der Anwendung von Best Practices für die Softwareentwicklung werden Umgebungen wirklich unveränderlich, widerstandsfähiger und einfacher zu verwalten. Wenn Sie dies weiterverfolgen, möchten Sie Ihre Anwendung auch mit einem Minimum an menschlicher Interaktion erstellen, testen und bereitstellen. Wenn Sie dies mit Infrastructure as Code in einer Continuous Delivery Pipeline kombinieren, erhalten Sie die nötige Bereitstellungsgeschwindigkeit, um die Versprechen der Cloud Native Applications zu erfüllen. Stellen Sie sich vor, dass Sie Ihr Produkt über Nacht mit einem einzigen Klick auf einer neuen Infrastruktur in einem neuen geografischen Markt einführen können.

Zutat #2 Serverlose Funktionen

Serverlose Funktionen sind kleine Einzweckfunktionen, die durch Ereignisse ausgelöst werden, ohne dass eine Laufzeitumgebung verwaltet werden muss. Mit Serverless Functions ist es möglich, asynchrone ereignisgesteuerte Architekturen mit Einzweck-Microservices aufzubauen. Die Funktionen werden in der Regel in einer gängigen Sprache wie Java oder Node.js entwickelt. Der Name Serverless ist etwas irreführend, da Ihr Code auch auf Servern ausgeführt wird. Der entscheidende Unterschied besteht darin, dass der Cloud-Anbieter sich um das Aufsetzen von Instanzen zur Ausführung Ihres Codes und die Skalierung bei Auslastung kümmert. Daher ist Function-As-A-Service (FAAS) ein häufig verwendetes Synonym. Typische Anwendungsfälle für FaaS sind Anwendungsfälle, die durch ein Ereignis in der Cloud ausgelöst werden, wie z.B. das Eintreffen eines Ereignisses in einer Warteschlange, die Medienverarbeitung beim Eintreffen einer neuen Mediendatei an einem Speicherort, die Verarbeitung von Log-Ereignissen oder die Ausführung geplanter Aufgaben. Neben FaaS bieten Cloud-Anbieter heute viele andere serverlose Funktionen an, die von Ihrer Cloud-nativen Anwendung genutzt werden können. Denken Sie an Dienste für Big Data, Datenspeicherung in großem Umfang, Spracherkennung, IoT-Dienste und Stream-Analyse-Dienste. In der Regel basieren diese Dienste auf Open-Source-Lösungen. Der Vorteil der Nutzung dieser Cloud-Services in Ihren nativen Cloud-Anwendungen besteht darin, dass Sie die Plattform für diese Services nicht verwalten müssen, was oft von Natur aus komplex ist und spezielle Kenntnisse erfordert. Diese Cloud-Angebote ermöglichen es Ihnen, sich auf die Funktionalität zu konzentrieren, ohne sich um die Installation, Konfiguration und Ausführung der Software kümmern zu müssen.

Bestandteil #3 Microservices-Architektur-Muster

Das Versprechen einer Microservice-Architektur besteht darin, in sich geschlossene Softwareprodukte zu liefern, die eine einzelne Geschäftsfunktion implementieren, die individuell entwickelt, getestet und bereitgestellt werden können, um die Markteinführung und die Agilität des Endprodukts zu beschleunigen. Dies passt perfekt zu den Versprechungen von Cloud Native Applications. Bei der Entwicklung Ihrer Microservices ist es wichtig, sie so zu gestalten, dass sie Cloud Native laufen. Eine der größten Herausforderungen bei der Entwicklung nativer Cloud-Anwendungen ist die Fähigkeit, Ihre Anwendung in einer verteilten Umgebung auf verschiedenen Anwendungsinstanzen auszuführen. Die 12-Faktor-App-Designprinzipien helfen Ihnen bei der Entwicklung verteilter Microservices, die nativ in der Cloud ausgeführt werden können. Es gibt mehrere Frameworks für verschiedene Sprachen, die Ihnen bei der Entwicklung von Microservices helfen, die den 12-Faktoren-App-Designprinzipien entsprechen, wie z.B. das Framework Lagom von Lightbend oder Spring Boot in Kombination mit Spring Cloud

Zutat #4 DevOps Kulturwandel

Die Umstellung auf Cloud-native Anwendungen ist nicht nur eine technologiegetriebene Veränderung, sondern erfordert auch einen Kulturwandel. Die Automatisierung Ihrer gesamten Softwarebereitstellungspipeline ist nur möglich, wenn Entwicklung und Betrieb nicht in Silos arbeiten, sondern als Team mit einer gemeinsamen Verantwortung zusammenarbeiten: ein Softwareprodukt vom Konzept bis zum fertigen Produkt zu liefern. In der Praxis werden Sie sehen, dass der Betrieb aus Plattformingenieuren besteht, die für die Entwicklung, die Automatisierung und den Betrieb der Cloud-Plattform verantwortlich sind, und die Entwicklung aus Entwicklern, die für die Erstellung der Anwendung verantwortlich sind, die auf der Cloud-Plattform ausgeführt werden kann. Die Übernahme von DevOps-Prinzipien ist ein weiterer wichtiger Bestandteil für Cloud-native Anwendungen. Multidisziplinäre Produktteams, bestehend aus Entwicklung und Betrieb, sorgen dafür, dass die Software- und Plattformbereitstellungspipeline mit der richtigen Geschwindigkeit läuft.

Zutat Nr. 5: Cloud Reliability Engineering

Die letzte Zutat für native Cloud-Anwendungen ist das Cloud Reliability Engineering, das sich aus dem Konzept des Site Reliability Engineering von Google ableitet. Das gesamte Konzept des Site Reliability Engineering basiert auf der Idee, die System- oder Plattformadministration als Software-Engineering zu betrachten. Die Übernahme des Konzepts Infrastructure as Code, wie bereits erwähnt, automatisiert nicht nur die Plattformbereitstellung und Anwendungsimplementierung vollständig, sondern kann Ihre Plattform auch selbstheilend und zuverlässig machen. Die Umwandlung Ihres Ops-Teams in ein Plattform-Engineering-Team, das kontinuierlich an der Verbesserung der Plattformzuverlässigkeit arbeitet und dabei die vom Site Reliability Engineering definierten Prinzipien anwendet, ist für das Erreichen dieses Ziels entscheidend. Dies erfordert Software-Engineering-Fähigkeiten innerhalb Ihres Ops-Teams.

Fazit

Cloud-native Anwendungen helfen Ihnen, der Konkurrenz voraus zu sein, indem sie es Ihrer IT-Organisation ermöglichen, Innovationen schneller und kostengünstiger zu entwickeln. In diesem Artikel habe ich versucht, die 5 wichtigsten Bestandteile für die Entwicklung von Cloud Native Applications zu definieren. In den nächsten Artikeln werde ich auf die einzelnen Bestandteile näher eingehen. Um diesen Artikel zusammenzufassen. Die richtige Entwicklung von nativen Cloud-Anwendungen bedeutet nicht, dass Sie nur die richtige Technologie und die richtigen Tools auswählen müssen und schon sind Sie fertig. Die Aspekte Mensch und Kultur sind noch wichtiger. Machen Sie sich DevOps zu eigen und Ihre IT-Organisation wird effektiver. Befolgen Sie die Cloud Engineering-Prinzipien von Google, um Ihre Plattform belastbar und zuverlässig zu machen, und verwalten Sie schließlich sorgfältig die Talente in Ihrem Team, um ein erfolgreiches Cloud Native-Unternehmen zu werden.

 

Verfasst von

Tom Höfte

Contact

Let’s discuss how we can support your journey.