Mit Cloud-Native zu höherer Reaktionsgeschwindigkeit und Verfügbarkeit in der Softwareentwicklung

Die IT muss heute Software mit nutzbringenden Funktionalitäten nicht nur in kurzen Zyklen, sondern auch in hoher Qualität entwickeln und für den produktiven Einsatz bereitstellen. Der agile Cloud-Native Ansatz unterstützt dabei, diesen Anforderungen gerecht zu werden. Dafür werden im Zuge dieses Ansatzes von Anfang an alle für die Entwicklung und den Betreib notwendigen Beteiligten eingebunden und die entsprechenden Anwendungen vollständig in der Cloud entwickelt und betrieben. Das Besondere ist somit die Konzeption der Anwendungen nur für die Cloud. Es geht hierbei darum, in welcher Form Anwendungen erstellt und bereitgestellt werden, nicht an welchem Ort. Im Rahmen dieser Methode wird zudem eine konsequente Kombination der Konzepte des DevOps Zyklus‘ mit Continuous Delivery und der Anwendungsmodularisierung mittels in Containern gekapselten Microservices umsetzt.

Entwicklung (Dev) und Betrieb (Ops) arbeiten von Anfang an eng zusammen und sorgen damit dafür, dass die für den Kunden optimale Lösung zeitgerecht geliefert wird. Es wird eine fortlaufende Iteration der Entwicklungspipeline einschließlich vollautomatisierter QA-Tests und Inbetriebnahmen von neuen Releases, sowie einer lastabhängigen Skalierung der Services ohne die Notwendigkeit manueller Eingriffe ermöglicht. Im Ergebnis können die Entwickler schneller neue Features und Produkte deployen und mit geringem Aufwand flexibel und schnell auf Änderungen reagieren.

Anwendungen im Cloud-Native Kontext werden als voneinander unabhängige und für eine Skalierung in der Cloud optimierte Microservices entwickelt. Hierdurch können komplexe Aufgaben in beherrschbare funktionale Einheiten aufgeteilt werden. Der Vorteil besteht darin, dass ein Microservice jederzeit unter Beibehaltung der Anwendungsintegrität verändert oder ausgetauscht werden kann. Eine kontinuierliche Bereitstellung ist damit gesichert. Die technische Auslieferung der Microservices erfolgt mittels Containerisierung, beispielsweise in Docker-Containern. Dabei werden alle Komponenten, die zur autarken Lauffähigkeit notwendig sind, in einem Anwendungscontainer zusammengefasst und in der gemanagten Container-Serviceumgebungen eines Cloudanbieter vollautomatisch bereitgestellt. Mittels Kubernetes werden die einzelnen Container orchestriert.

Konsequenterweise werden schon bei der Entwicklung von Cloud-Native Anwendungen cloudbasierte Entwicklungsumgebungen eingesetzt, die eine zyklische Arbeitsweise nach DevOps-Strategien und ein Continuous Delivery unterstützt. 

Unser Weg zur Cloud-Native Architektur

Mit Hilfe des Cloud-Native Ansatzes führen wir bei unseren Kunden bewährte Strategien der agilen Anwendungsentwicklung zur Erhöhung der Geschwindigkeit und der Qualität effizient zusammen. Unsere Software-Architekten prüfen bei der Beratung von Softwareprojekten immer die Option des Cloud-Native Ansatzes und sind in der Lage, eine Entscheidungsvorlage für deren Einsatz zu liefern.

Unsere Erfahrung zeigt, dass sich der Cloud-Native Ansatz insbesondere bei Greenfield- und Replatforming-Projekten anbietet, da er die Bindung an eine bestimmte Infrastruktur aufhebt und damit die Flexibilität ermöglicht. Services sind jederzeit zwischen unterschiedlichen Plattformen verschiebbar, solange die Kommunikation zueinander möglich ist. Die von uns bevorzugt eingesetzte Softwaremodellierungsmethode Domain-Driven Design eignet sich hervorragend, um die Komplexität von Geschäftsanforderungen in beherrschbare Teile zu trennen, Kontextgrenzen zu definieren und geeignete Microservices und Schnittstellen zu entwickeln.

Unsere erfahrenen Berater unterstützen Sie gerne bei der Beratung und Realisierung von Cloud-Native Anwendungen!

Die Vorteile von Cloud-Native im Überblick

Der Cloud-Native Ansatz bietet für die Entwicklung, den Betrieb und die Bereitstellung von Anwendungen viele Vorteile. Er gestattet Unternehmen eine hohe Flexibilität und Agilität. Die Applikationen sind von spezifischer Hardware und von bestimmten Betriebssystemen entkoppelt und lassen sich auf beliebige Cloud-Plattformen portieren. Dank einer schnelleren Reaktion auf Markt- und Kundenanforderungen ergeben sich erhebliche Wettbewerbsvorteile. Auch die Verfügbarkeit der Anwendungen und Services steigt durch den Cloud-Native Ansatz. Unabhängig davon, ob eine spezifische Hardware oder eine lokale IT-Infrastruktur zur Verfügung stehen, ist die Cloud-Native Applikation an beliebigen Orten bereitstellbar.

Dank des Cloud-Native Ansatzes laufen die Applikationen ohne größere Anpassungen auf unterschiedlichen Privaten oder Public Cloud-Umgebungen verschiedener Serviceanbieter. Dies versetzt die Organisationen in die Lage, Cloud-Umgebung und -Anbieter so auszuwählen, dass das beste Preis-Leistungsverhältnis erzielt wird. Gleichzeitig binden sich Unternehmen nicht an einen bestimmten Provider und bleiben bei der Wahl ihrer zukünftigen Partner und Dienstleister frei. Ein weiterer Vorteil ergibt sich durch den hohen Grad der Automatisierung in der Bereitstellung von Cloud-Native Applikationen. Das Risiko von menschlichen Bedien- und Konfigurationsfehlern lässt sich senken und die Verfügbarkeit der Services oder Anwendungen steigt.

Zusammenfassend profitieren Sie durch den Einsatz von Cloud-Native also von:

  • Der Kombination der modernsten und effektivsten Methoden der Softwareentwicklung
  • Einem bestmöglichen Automatisierungsgrad
  • Der Reduktion von Komplexität durch die Fokussierung auf einzelne Microservices
  • Einer maximalen Verfügbarkeit durch die gemanagten Containerservices der Cloud-Anbieter
  • Einer nahezu unbegrenzt möglichen flexiblen Skalierung einer Anwendung
  • Einer sehr schnellen Bereitstellung neuer Versionen eines Microservice durch die Automatisierung

Leistungspakete

  • Machbarkeitsstudie für Vorhaben
  • Healthcheck für bestehende Cloud-Native Anwendungen
  • Architekturberatung für neue Cloud-Native Anwendungen
  • Implementierung Cloud-Infrastruktur
  • Implementierung DevOps-Pipeline
  • Replatforming bestehender Anwendungen
  • Full-Stack: Von Event Storming bis zur fertigen Anwendung

Ansprechpartner

Thomas Pröpper

Thomas Pröpper

Bereichsleiter Application Development