Definition „Cloud-native Entwicklung“

Was ist Cloud Native Development?

| Autor / Redakteur: Pyrocco / Stephan Augsten

Mit Cloud-nativen Anwendungen lässt sich das Cloud-Konzept nicht nur zur Einsparung von IT-Kosten nutzen, sondern auch als Wachstumsmotor.
Mit Cloud-nativen Anwendungen lässt sich das Cloud-Konzept nicht nur zur Einsparung von IT-Kosten nutzen, sondern auch als Wachstumsmotor. (© phonlamaiphoto - stock.adobe.com)

Der Cloud-native-Ansatz sieht vor, dass Software mittels und gleichzeitig für Cloud-Computing-Umgebungen entwickelt wird. Anwendungen, die in der Cloud erstellt und betrieben werden, können schneller bereitgestellt werden und auf Anforderungen reagieren sprich skalieren.

Cloud-Computing hat IT-Infrastrukturen neu definiert. Statt in eigene IT-Systeme zu investieren, mieten Unternehmen Infrastruktur, Plattformen und Dienste bei Cloud-Dienstleistern. Dadurch sind sie sehr flexibel, zahlen nicht mehr als nach momentanen Erfordernissen nötig und minimieren ihren IT-Verwaltungsaufwand.

Geringere IT-Ausgaben bedeuten derweil eine geringere Eintrittsbarriere für die Nutzung komplexer IT, was Wettbewerbsvorteile bringt. Start-ups können auf diese Weise traditionelle Branchen disruptiv angreifen. Unternehmen können mit Cloud-Computing ferner bessere Skalierbarkeit und Verfügbarkeit von Anwendungen erreichen.

Der Anwendungslebenszyklus lässt sich so von der Entwicklung bis hin zur Produktion in hohem Maße automatisieren. Cloud-native Anwendungsentwicklung ermöglicht es, diese Vorteile vollumfänglich auszuschöpfen.

Was sind Cloud-native Anwendungen?

Cloud-native Anwendungen sind speziell für Cloud-Computing-Modelle konzipiert. Plattformen zum Erstellen und Betreiben von Cloud-nativen Anwendungen basieren auf den Cloud-Computing-Konzepten DevOps, Continuous Delivery, Microservices und Container.

DevOps

DevOps ist eine Philosophie der engen Zusammenarbeit von IT-Entwicklung (Development) und IT-Betrieb (Operations) mit dem Ziel höherer Softwarequalität und einer beschleunigten und häufigeren Bereitstellung von Updates. Das Erstellen, Testen und Freigeben von Software kann dadurch schneller, häufiger und zuverlässiger erfolgen.

Die Philosophie drückt sich aus in:

  • Kultur: Teamwork, Verantwortung
  • Praxis: Richtlinien, Rollen, Prozesse
  • Tools: gemeinsame Werkzeuge und Plattformen

Continuous Delivery

Mit Continuous-Delivery-Verfahren (kontinuierliche Bereitstellung) kann eine einzelne Anwendungsänderung sofort freigegeben werden, ohne dass sie erst mit anderen Änderungen gebündelt auf Freigabe warten muss. Mit Continuous Delivery lässt sich eine Freigabe dieser Art zuverlässig realisieren, so dass Unternehmen häufig und mit geringerem Risiko liefern und schneller Feedback von Endbenutzern erhalten können. Die häufige Bereitstellung neuer Versionen kann so ein wesentlicher Bestandteil des Geschäftsprozesses und der Wettbewerbsfähigkeit des Unternehmens sein.

Microservices

Microservices sind die Architektur-Grundlage bei der Cloud-nativen Anwendungsentwicklung. Eine Anwendung entsteht dabei durch die Koppelung von Microservices. Jeder Microservice implementiert eine Geschäftsfunktion, wird in einem eigenen Prozess ausgeführt und kommuniziert über eine HTTP-API.

Jeder Microservice kann unabhängig von anderen Diensten entwickelt, bereitgestellt, aktualisiert, skaliert und neu gestartet werden, normalerweise als Teil eines automatisierten Systems. Dies ermöglicht häufige Aktualisierungen von ständig in Betrieb befindichen („Live-“) Anwendungen, ohne die Nutzer zu beeinträchtigen.

Durch die Entkopplung der Mircoservices kann sich ein Entwickler auf die Kernfunktionalität eines Dienstes konzentrieren. Dieser Ansatz führt zu einer effizienten Lebenszyklusverwaltung der gesamten Anwendung, da jeder Dienst unabhängig verwaltet wird.

Container

Cloud-native Anwendungen sind eine Sammlung unabhängiger Dienste, die in leichtgewichtige Container verpackt sind. Container haben gegenüber standardmäßigen virtuellen Maschinen (VMs) Effizienz- und damit Geschwindigkeitsvorteile. Bei Betriebssystem-Virtualisierung wird eine einzelne Betriebssysteminstanz dynamisch auf einen oder mehrere isolierte Container aufgeteilt. Jeder Container hat ein eigenes Dateisystem und ein eigenes Ressourcenkontingent. Der geringe Aufwand für das Erstellen und Zerstören von Containern in Kombination mit der hohen Packungsdichte in einer einzelnen VM macht Container zum perfekten Mittel für die Bereitstellung einzelner Mikrodienste.

Vorteile von Cloud-nativen Anwendungen

Auf Microservices basierte Anwendungen können schnell von kleinen Teams zusammengesetzt werden. Durch die einfache Skalierbarkeit und Entkoppelung von Hardware entsteht mehr Flexibilität, Ausfallsicherheit und Portabilität der Anwendungen über verschiedene Clouds hinweg.

Cloud-native Anwendungen können außerdem hochflexibel mit beliebigen Sprachen und Frameworks entwickelt werden. Jeder Dienst einer nativen Cloud-Anwendung wird mit der Sprache und dem Framework entwickelt, die für die Funktionalität am besten geeignet sind.

Flexibilität der Bereitstellung

Unternehmen können Cloud-native Anwendungen ohne Änderungen in jeder Cloud-Umgebung bereitstellen. Cloud-native Anwendungen sollten dafür nach Prinzipien wie der sog. 12-Faktoren-Methode für Software-as-a-Service konstruiert sein. Beispielsweise müssen die Anwendungen mit Blick auf Redundanz geplant werden, um robust gegenüber Hardwareausfällen zu sein.

Die Anwendungen haben daher keine Affinität für ein bestimmtes Betriebssystem oder eine bestimmte Hardware. Sie arbeiten auf einer höheren Abstraktionsebene. Anwendungen können dann über mehrere Cloud-Anbieter und private Clouds hinweg migrieren, also schnell verschiedenen Kunden zur Verfügung gestellt werden.

Monolithische vs. Cloud-native Anwendungen

Traditionelle, monolithische Anwendungen erschweren es Entwicklern, sie für eine Vielzahl von Bereitstellungsinfrastrukturen weiterzuentwickeln. Traditionell eng statt lose gekoppelte Komponenten einer Anwendung bedeuten für Updates, dass die gesamte Anwendung neu kompiliert werden und an die Benutzer verteilt werden muss. Dies macht den monolithischen Ansatz ineffizient und umständlich. Mit Cloud-nativer Entwicklung werden Anwendungen möglich, die mit vergleichsweise geringem Aufwand besser wartbar und portabel sind.

Native Cloud-Entwicklung als Wettbewerbsvorteil

Mit Cloud-nativen Anwendungen kann das Cloud-Konzept nicht nur für IT-Kosteneinsparungen genutzt werden, sondern auch als Motor für das Unternehmenswachstum. Unternehmen, die schnell Anwendungen erstellen und wandlungsfähig bereitstellen können, um auf Kundenanforderungen zu reagieren, haben Wettbewerbsvorteile.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Welche Entwickler-Plattformen in der Cloud gibt es?

Marktübersicht zu Cloud Native Development

Welche Entwickler-Plattformen in der Cloud gibt es?

Vor der Cloud-Native-Entwicklung steht die Auswahl einer entsprechenden Plattform. Neben den großen Playern Amazon, Google und Microsoft gibt es eine Reihe Alternativen, die durchaus einen Blick wert sind. lesen

6 Cloud-Native-Versprechen

Vorteile in der Cloud entwickelter Software

6 Cloud-Native-Versprechen

Cloud Native Development verspricht robuste und agile Softwareentwicklung mit leistungsstarken Ergebnissen. Statt sich um die Infrastruktur und ihre Eigenheiten zu kümmern, können Entwickler sich voll und ganz auf die eigentliche Softwareentwicklung konzentrieren. lesen

Sicherheit beim Cloud Native Development

Snyk sichert sich Finanzierung von 150 Millionen US-Dollar

Sicherheit beim Cloud Native Development

Entwickler sollten für die Sicherheit ihrer Anwendungen verantwortlich sein, Security-Teams für die Kontrolle und Transparenz. Mit dieser Überzeugung konnte sich Snyk eine Finanzspritze von 150 Millionen US-Dollar sichern, die unter anderem die DACH-Aktivitäten vorantreiben soll. lesen

Cloud-native Entwicklung mit neuen Tools

Red Hat CodeReady Workspaces 2

Cloud-native Entwicklung mit neuen Tools

Red Hat CodeReady Workspaces 2 bietet neue Funktionen wie Air-Gap-Installationen, Unterstützung für Visual-Studio-Code-Erweiterungen und einer aktualisierten Benutzeroberfläche. lesen

20% Rabatt auf „DevOps World | Jenkins World 2019“-Tickets

Dev-Insider ist Medienpartner der Jenkins-Konferenz

20% Rabatt auf „DevOps World | Jenkins World 2019“-Tickets

Die Jenkins Community und CloudBees haben das Programm für die DevOps World | Jenkins World 2019 Lissabon auf die Beine gestellt. Unter dem Motto „Deliver“ sprechen Fachexperten in insgesamt 78 Sessions über aktuelle Themen der digitalen Transformation und Softwarebereitstellung. lesen

Läuft Go bald Java den Rang ab?

Golang für Cloud-native Entwicklung

Läuft Go bald Java den Rang ab?

Verteilte Anwendungsarchitekturen überfordern traditionelle Programmiersprachen. Entwickler von Microservices suchen händeringend nach besseren Alternativen. Kann Go die Platzhirsche ablösen? lesen

DevOps-Fokus auf erstem GitLab Commit

GitLab gibt vorläufiges Konferenzprogramm bekannt

DevOps-Fokus auf erstem GitLab Commit

Die „Source Code Management“-Spezialisten von GitLab laden im Oktober erstmals zum GitLab Commit in London. Das Thema DevOps steht dabei im Vordergrund, Entwickler sowie Operations- und Security-Experten sollen hierzu ihre Erfahrungen austauschen. lesen

Cloud Native Development – grenzenloses Potenzial

Programmieren in der und für die Cloud

Cloud Native Development – grenzenloses Potenzial

Statt die Cloud nur zu nutzen, wird im Zuge des Cloud-native Development direkt für die Nutzung programmiert. Im Endergebnis stehen leistungsstarke und skalierbare Lösungen, die Entwicklern erlauben, sich auf die eigentliche Anwendung zu konzentrieren. lesen

VS-Code und IntelliJ-Plug-in von Google

Cloud-Native-Development mit Cloud Code

VS-Code und IntelliJ-Plug-in von Google

Google hat mit Cloud Code eine Reihe neuer Plug-ins für IntelliJ- und Visual Studio Code für die Entwicklung Cloud-nativer Anwendungen bereitgestellt. In der ersten Version lag der Fokus auf Applikationen, die auf Kubernetes laufen, einschließlich der Google Kubernetes Engine. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46270930 / Definitionen)