Blog

Die Evolution der Anwendungsentwicklung: Cloudnatives Computing 

Frederico Ferreira

31. Oktober 2023

The art challenges the technology, and the technology inspires the art

Der Begriff „Cloud-Computing“ bezeichnet ein Bündel verschiedener Ressourcen, Infrastrukturen und Tools, die von einem Dritten – einem so genannten Cloudprovider – direkt und auf Abruf bereitgestellt werden. Zu den zentralen Merkmalen dieses Modells für die Bereitstellung von Rechenressourcen gehören Einfachheit, Schnelligkeit und geringe Anfangsinvestitionen für die Einrichtung von IT-Architekturen verglichen mit herkömmlichen On-Premises-Modellen. Die Effizienz des Cloudmodells wird dadurch, dass Benutzer die Möglichkeit haben, Computerressourcen je nach Veränderungen der Last elastisch hoch- oder herunterzuskalieren, sowie durch die Möglichkeit der nutzungsabhängigen Kostenabrechnung weiter verbessert. Dank dieses Ansatzes erhalten auch Unternehmen mit einem eher kleinen IT-Team Zugang zu hochwertigen Architekturen, um Funktionalitäten wie die folgenden umzusetzen:

  • Hochverfügbarkeit und Reaktionsschnelligkeit
  • Flexible Rechenleistung (Performance)
  • Einfachere Wartung und Betrieb
  • Hohe Sicherheitsstandards
  • Updates und Unterstützung für Business Continuity (Notfallunterstützung)

Cloudprovider investieren umfassend in Fachkräfte und Infrastruktur, um ein Serviceniveau und Systemausfallsicherheit in einem Maß zu bieten, wie es für die meisten Unternehmen normalerweise unerschwinglich wäre, von dem sie aber im Rahmen eines Cloudmodells profitieren können. Das zugrunde liegende Cloud-Computing-Konzept ist in drei Varianten verfügbar:

  1. Public Clouds
  2. Private Clouds
  3. Hybrid Clouds

Private und Hybrid-Clouds werden dabei immer dann eingesetzt, wenn kunden- oder branchenspezifische Anforderungen berücksichtigt werden müssen.

Aufgrund der Verfügbarkeit von Cloudressourcen und der zunehmenden Komplexität von Anwendungen hat sich ein neues Softwareentwicklungsmodell herausgebildet, das das Problem der Komplexität bewältigt und sich Struktur und Ressourcen des Cloud-Computings zunutze macht. Dieses Modell – das cloudnative Computing – ist ein neuer Ansatz für die Entwicklung von Unternehmenssoftware und die Organisation der IT-Infrastruktur in Unternehmen. Die Softwareentwicklungsmethodik orientiert sich an der Struktur und den Ressourcen der Cloud und zielt darauf ab, verschiedene Themen und Ziele der IT als Beitrag zur Unternehmenseffizienz, zum Wachstum und zur Verbesserung des Kundenerlebnisses zu adressieren. Hierzu gehören:

  • Komplexität
  • Geschäftliche Agilität
  • Dimensionierung (Skalierbarkeit) und Flexibilität
  • Kosteneinsparungen
  • Modernisierung
  • Innovation
  • Sicherheitsbedenken
  • Hochverfügbarkeit
  • Resilienz und Geschäftskontinuität (Notfallorganisation)

Cloudnatives Computing bedient sich verschiedener Technologien und Ansätze, darunter Virtualisierung, Container, Microservices, APIs und DevOps. Container stellen dabei eine zentrale Funktion dieses Ansatzes dar. Es handelt sich bei ihnen um Codepakete, die jeweils unabhängig voneinander in der Cloud ausgeführt werden. Der Zugriff auf die Funktionen eines Containers durch externe Software und auch durch andere Container erfolgt exklusiv über APIs. Verwaltet werden Container von einem so genannten Orchestrator (z. B. Kubernetes), der einen Container auslösen, ihn auf einen anderen Server verschieben, bei Bedarf zusätzliche Instanzen (Replikate) auslösen oder ihn sogar ersetzen kann, wenn er nicht mehr reagiert. Da Container technisch vollständig voneinander entkoppelt sind, können sie unter Verwendung unterschiedlicher Programmiersprachen und Frameworks entwickelt, auf verschiedenen Betriebssystemen ausgeführt und als cloudfähige Komponenten implementiert werden. Dieser Ansatz vereinfacht die Erweiterung und Aufrüstung bestehender Software enorm, da der Zugriff auf die Funktionalität ausschließlich über APIs erfolgt. Demzufolge besteht eine Anwendung typischerweise aus dem Zugriff auf verschiedene Container, die unabhängig voneinander ausgeführt werden und unterschiedlich schnell entwickelt und in die Produktion überführt werden können. Die zugrundeliegende Architektur für die Entwicklung von Anwendungen in dieser Weise heißt Microservices. Microservices fördern die Wiederverwertung von Software und ermöglichen die Fortentwicklung sowie die Erweiterung und Aufrüstung von Anwendungen mit unterschiedlicher Geschwindigkeit durch verschiedene Teams.

Container und Microservices sind zentral für Verbesserungen in den folgenden Bereichen:

  • Entwicklungsgeschwindigkeit
  • Wiederverwertung von Software
  • Schnelle Integration mit Best-in-Class- und externen Lösungen
  • Skalierbarkeit und Hochverfügbarkeit
  • Kürzere Entwicklungslebenszyklen bis hin zur Inbetriebnahme durch Unterstützung von Praktiken wie Continuous Development, Continuous Integration und DevOps (d. h. das Team und die Verfahren, mit denen entwicklungsphasenübergreifend eine schnelle Überführung des Codes bis zur Produktionsreife gefördert wird).

Microservices sind der nächste Schritt zur Bewältigung der Komplexität moderner Anwendungen, die reibungslos im mehrkanaligen Evergreen-Modus ausgeführt werden müssen, um das Kundenerlebnis zu optimieren und eine langfristige Rentabilität sicherzustellen.

Die Vorteile des cloudnativen Computings als neuer Ansatz für Softwareanwendungsarchitekturen lassen sich mit hochproduktiven, speziell für diesen Kontext entwickelten Tools leichter erreichen. Ein Beispiel dafür ist die neue ODC-Plattform (OutSystems Developer Cloud). Die ODC-Plattform kommt der Anwendungsentwicklung zugute, denn sie nutzt Low-Code-Technologie und steigert dadurch den Umsatz, senkt Kosten und begrenzt Risiken auf der Internetebene. ODC reduziert die Bereitstellungskomplexität bei containerisierten Anwendungen und versetzt Unternehmen in die Lage, die Vorteile des cloudnativen Computings zu nutzen, ohne auf Geschwindigkeit und Flexibilität verzichten zu müssen. Aus diesen Gründen wird OutSystems auch in Zukunft unsere erste Wahl sein, wenn es um eine schlanke IT, den geschäftlichen Erfolg und die Agilität unserer Kunden geht.

Zusammenfassend lässt sich festhalten, dass die meisten Unternehmen Cloud-Computing als bevorzugte Rechenplattform nutzen. Der nächste Schritt bei der Anwendungsentwicklung ist die Umstellung auf cloudnatives Computing, wofür eine neu konzipierte Anwendungsarchitektur erforderlich ist. OutSystems ermöglicht diesen Übergang mit seiner neuen OutSystems Developer Cloud-Plattform (ODC), einer integrierten Suite mit Tools zum einfacheren Entwickeln, Integrieren, Assemblieren und Implementieren moderner cloudnativer Anwendungen.

Interesse geweckt?

Weitere Informationen erhalten sie über den Link.

Mehr erfahren Mehr erfahren

Nichts verpassen.
Blogartikel abonnieren.

Anmelden