Skip to content
Alle Beiträge

Architekturarbeit im Zeitalter Cloud-nativer Architekturen und DevOps Teams - Teil 3

Design ohne Titel

Cloud-native Technologie schafft neue Möglichkeiten

Zur Erreichung der anvisierten Qualitätsziele eines Systems spielt die Wahl der richtigen Technologien eine entscheidende Rolle. Ganz konkret schaffen z.B. Technologien, die unter der Schirmherrschaft der Cloud Native Computing Foundation (kurz CNCF) beherbergt werden, neue Möglichkeiten, wie man flexible Architekturen schaffen und geeignete Plattformen finden kann.

CNCF Technologien sind allesamt Open-Source und durchaus auch auf Extrembedingungen ausgerichtet. Bis vor ein paar Jahren galten verteilte Systeme und dynamische Infrastrukturen noch als Spielwiese für Nerds, die auf neue Herausforderungen stehen. Heute ist dies eine seriöse und notwendige Arbeitsbasis für Softwarearchitekten. Die Ausrichtung des CNCF lässt sich wie folgt zusammenfassen:

  • Empowerment von Software Engineers und DevOps-Teams durch Self-Services und einen hohen Standardisierungsgrad
  • Unterstützung beim Design und bei der Auswahl von Technologien, die es ermöglichen kritische Änderungen an verteilten Systemen häufig und mit einer großen Sicherheit bzw. Qualität durchzuführen - Stichwort 12-Faktoren
  • Tools und "Good Practices" bezüglich des Betriebs von komplexen verteilten Softwaresystemen unter den Aspekten Überwachung, Management und Stabilität
  • Lauffähig in modernen dynamischen Umgebungen, insbesondere Private, Hybrid und Public Clouds
  • Eine starke und sehr aktive Community für Erfahrungsaustausch, Fallstudien, Online Programmen und speziellen Community Groups, die einen regionalen Austausch zu Cloud Native Themen ermöglichen

Die Qual der Wahl

Bei der Wahl einer konkreten Technologie kommen Softwarearchitekten mit einer äußerst anspruchsvollen Aufgabe in Berührung. Entweder man pflückt und genießt die Low-Hanging-Fruits des präferierten Cloud-Anbieters, nimmt den Lock-In in Kauf und freut sich über einen besseren Time-To-Market auf Kosten der Portierbarkeit eines Systems. Oder man setzt auf „Standards“.

Bei der Auslegung des Begriffs „Standard“ scheiden sich durchaus die Geister. Welche Bedeutung hat der Begriff Standard in diesem Umfeld? „Innovative Open Source Frameworks und Werkzeuge mit sehr großen Entwickler-Communities, die von den fünf größten Technologieherstellern nur so lange am Leben erhalten werden, wie auch Bedarf dafür existiert“ oder „Langfristig abwärtskompatible Frameworks, die in häufig langwierigen Standardisierungsprozessen von den fünf größten Technologieherstellern geprägt werden“.

Egal wie man das Blatt wendet und dreht, man wird am Ende Technologie verwenden und gegebenenfalls auch bezahlen müssen. Bei der Bewertung der gesuchten Technologie sollte insgesamt der Fokus auf folgenden Fragestellungen liegen:

  • Welche Abstraktion der Infrastruktur (Serverless, PaaS, Container as a Service, Infrastructure as Code) passt zu den Fähigkeiten und dem Delivery-Prozess des Teams?
  • Wie ist es um die Offenheit gegenüber Technologie bestellt und wie stark ist die Community in Bezug auf Support, Dokumentation, Blueprints/Beispiele, angrenzende Ökosysteme mit teilweise komplexen APIs und neue Werkzeuge?
  • Was sind die Rahmenbedingungen bezüglich des Reifegrades der Lösung und der Vision und Marktdurchdringung des Herstellers?
  • Mit welchen Technologiekosten (kostenlos, skalierend auf Basis der Last oder langfristig mit Rahmenvertrag) ist zu rechnen?

Das nächste Kapitel "Eigenschaften einer Cloud-native Architektur" erhältst Du im nächsten Blogbeitrag am 8. Dezember 2022.

Weitere Beiträge