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

Was ist die Twelve-Factor App?

Defintion „12-Factor Framework“

Was ist die Twelve-Factor App?

Wenn Software für einen Nutzer individuell hergestellt und über die Cloud geliefert wird, bezeichnet man dies als „Software as a Service“. Die Twelve-Factor App ist eine Methode, mit der diese Softwarelösungen praxisorientiert und passgenau gestaltet werden können. lesen

ABAP- und Security-Analysen auf Knopfdruck

Case Study zu SAP-Sicherheit an der TU Darmstadt

ABAP- und Security-Analysen auf Knopfdruck

Wo SAP-Systeme das Herzstück der IT bilden, ist ein lückenloses Sicherheitsmanagement vonnöten. Die TU Darmstadt setzt Tools ein, die Schwachstellen in Systemeinstellungen, kritische Berechtigungen und ABAP-Eigenentwicklungen aufspüren und beheben. lesen

C#-Programmierung mit .NET-Entwicklungstools

Einstieg in .NET, Visual Studio und Online-Compiler

C#-Programmierung mit .NET-Entwicklungstools

Um C# und .NET für die Entwicklung zu nutzen, sind zunächst keine teuren Tools notwendig. Microsoft stellt die Werkzeuge, die man zum Einstieg in die Programmierung benötigt, kostenlos zur Verfügung. Wir geben einen Überblick. lesen

Simplifier 5.0 mit WYSIWYG und Live-Vorschau

Entwicklung mit Low-Code-Ansatz für Fachabteilungen

Simplifier 5.0 mit WYSIWYG und Live-Vorschau

Mit Version 5.0der Low-Code-Plattform Simplifier soll die Entwicklung von Anwendungen wesentlich vereinfacht werden. Das Produkt bietet einen WYSIWYG-Editor und eine Live-Preview. lesen

Bias-Fehler und Testing in der KI-Entwicklung

Qualitätssicherung bei KI-Algorithmen

Bias-Fehler und Testing in der KI-Entwicklung

In der Industrie gehören auf KI-Algorithmen basierende Systeme inzwischen zum Alltag, zum Beispiel bei der Qualitätssicherung in der Produktion oder beim Betrieb von Anlagen. Aber wie ist es um die Qualität der Algorithmen selbst bestellt? lesen

Leistungsprobleme mit Java in Microservices

Zwei Drittel der Entwickler beklagen Probleme

Leistungsprobleme mit Java in Microservices

Java-Anwendungen, die als Microservice bereitgestellt werden, leiden nicht selten unter Leistungsproblemen. Dies berichten 62 Prozent von 400 Java-Entwicklern im Rahmen einer aktuellen Umfrage. lesen

APIs von Android mit Termux ansprechen

Android-Smartphone als IoT-Gerät nutzen, Teil 2

APIs von Android mit Termux ansprechen

Mit den Apps Termux und Termux:API lässt sich ein altes Android-Smartphone als IoT-Gerät einsetzen – ganz simpel per Shell-Scripting. Hier zeigen wir praktische Beispiele unter Verwendung diverser Hardware- und Android-Features wie Kamera, Sharing und Sensoren. lesen

Drei Entwickler-Trends für das Jahr 2020

Fastly-CTO über Web Development

Drei Entwickler-Trends für das Jahr 2020

Moderne Protokolle und der globale Netzausbau sorgen dafür, dass sich das Internet und die Technik dahinter rapide weiterentwickeln. Fastly-CTO Tyler McMullen nennt basierend auf seinen Erkenntnissen aus der Web-Entwicklung drei wichtige Trends für das Jahr 2020. lesen

Low Code und RPA in einer Plattform

Appian kauft Robotic Process Automation hinzu

Low Code und RPA in einer Plattform

Der Low-Code-Anbieter Appian übernimmt mit Novayre Solutions SL den Entwickler der RPA-Plattform „Jidoka“. Das soll zu einem integrierten Komplettangebot für Workflow, Künstlicher Intelligenz und Robotic Process Automation führen mit dem Ziel: Automatisierung. 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)