Freitag, 18. Oktober 2024

Was ein Cloud-Architekt ist und warum Ihre Firma womöglich einen braucht

Quelle: Wikipedia

In der heutigen digitalen Welt, in der Cloud-Technologien zunehmend den Kern von IT-Infrastrukturen bilden, wächst die Bedeutung des Cloud-Architekten stark. Doch was genau macht ein Cloud-Architekt, und warum könnte Ihre Firma von dieser Rolle profitieren? Um das zu verstehen, ist es wichtig, einen Blick auf die klassischen Architekturrollen zu werfen und zu analysieren, wie sich diese in der Cloud-Ära weiterentwickeln.


Die Rolle eines Cloud-Architekten: Eine Verschmelzung von Kompetenzen

Es gibt sie schon lange und es gibt etliche Modelle und Frameworks, welche IT- und allgemein Unternehmensarchitektur (oft auch im Deutschgen Englisch Enterprise Architectur genannt) beschreiben oder besser definieren, wie man solche definiert. Traditionell definiert bspw. das verbreitete TOGAF (The Open Group Architecture Framework) verschiedene Rollen im Bereich der Unternehmensarchitektur, darunter:

Enterprise Architect:
Verantwortlich für die Gesamtarchitektur eines Unternehmens, um sicherzustellen, dass IT und Geschäft im Einklang stehen.

Business Architect:
Fokussiert auf die Geschäftsprozesse und wie die IT diese unterstützen kann.

Data Architect:
Zuständig für die Datenarchitektur und -verwaltung innerhalb der Organisation.

Application Architect:
Beschäftigt sich mit der Architektur der Anwendungen im engeren Sinn und ihrer Integration.

Technology Architect:
Fokussiert auf die technische Infrastruktur, darunter Netzwerke, Server und Speicher etc. Manchmal auch breiter gefasst und ebenfalls zuständig für den Software-Technologie-Stack mit verwendeten Sprachen, Frameworks und Speichersystemen, insb. Datenbanken.

Andere (gängige) Modelle und Frameworks definieren häufig ähnliche oder vergleichbare Rollen.

Mit dem Aufstieg der Cloud-Technologien – von IaaS (Infrastructure as a Service) über PaaS (Platform as a Service) bis hin zu SaaS (Software as a Service) – verschmelzen die Grenzen zwischen diesen Rollen jedoch zunehmend. In der Cloud-Welt sind Plattformen, Daten und Anwendungen eng(er) miteinander verzahnt, was es immer schwieriger macht, diese Bereiche und Aufgaben- respektive Zuständigkeitsgebiete klar zu trennen.

Ein Cloud-Architekt vereint mehrere dieser klassischen Rollen. Dies ist besonders dann relevant, wenn ein Unternehmen den Grossteil seiner IT-Infrastruktur in die Cloud auslagert oder cloudbasierte Technologien intensiv nutzt.

Die Anforderungen an IT-Systeme und Architekturen haben sich mit der Cloud revolutioniert. Während früher die physische IT-Infrastruktur lange Lebenszyklen hatte, ändern sich cloudbasierte Technologien rasant. Die Halbwertszeit des Wissens ist dramatisch gesunken, und Firmen müssen auf flexible, skalierbare Lösungen und Organisationsformen setzen, um wettbewerbsfähig zu bleiben.

Ein Cloud-Architekt muss dabei nicht nur Technologien verstehen, sondern auch:
  • Prozesse kennen, um Vorschläge machen zu können wie diese mit (Cloud-) Technologie verbessert werden können.
  • Tools und Produkte für den Aufbau und das Management von Cloud-Infrastrukturen und Services kennen und verstehen.
  • Erfahrung im Programmieren haben um abschätzen zu können, was der Einsatz von Cloud native Komponenten in der eigenen Software bedeutet.
  • (Neue) Business-Needs verstehen und cloudbasierte Lösungen entwickeln, die diese effizient adressieren.
  • Rechtliche Rahmenbedingungen der Cloud-Nutzung (z. B. Datenschutz und Compliance allgemein) kennen und sicherstellen, dass die Infrastruktur und generell der Setup mit allen Produkten und Services diesen entspricht.

Cloud Foundation

Im Zusammenhang mit dem Weg in die Cloud und der Cloud-Architektur allgemein wird ein Begriff immer populärer: Cloud Foundation. Ein nicht ganz neuer und nicht ganz eindeutiger Begriff. Gemeint ist hier die Cloud Foundation wie sie bspw. von meshcloud in deren Cloud Foundation Community verstanden wird: https://cloudfoundation.org/understanding-cloud-foundation

Eine Cloud Foundation hat das Ziel, eine stabile Grundlage für den Betrieb von Cloud-Systemen zu schaffen. Sie umfasst klare Best Practices, Governance-Regeln und eine sogenannte Landing Zone – eine gesicherte, standardisierte Umgebung für Cloud-Workloads. Der Aufwand, um einen neuen "leeren" Cloud-Tenant für alle nicht funktionalen Anforderungen (sog. NFR) fit zu machen darf nicht unterschätzt werden. In einer Public Cloud ist fast alles möglich, aber vieles muss auch selber konfiguriert werden.

In der Cloud Foundation spielen Cloud-Architekten eine wichtige Rolle, indem sie die verschiedenen möglichen Elemente der Cloud-Infrastruktur evaluieren, orchestrieren und eine skalierbare, sichere Umgebung definieren.

Die von meshcloud erwähnten wichtigsten Rollen in einer Cloud Foundation: Enterprise Architects, Platform Engineers and Operators, Security & Governance Stakeholders greifen meiner Ansicht nach zu kurz.

Da gerade ein Enterprise Architekt, je nach Definition und Framework, als Rolle relevante Bereiche nicht abdeckt. Um eine ideale Landing Zone zu definieren, brauchen Sie auch einen Data Architect. Das scheint auf den ersten Blick vielleicht irritierend zu sein. Aber um die Cloud (wirtschaftlich) erfolgreich zu nutzen, müssen Sie die Daten (-Prozesse) mit der Cloud verbessern können. Dazu braucht es eine Land Zone, welche die Nutzung und Integration von den dafür geeigneten Werkzeugen und Services optimal - out of the box - ermöglicht. Um die diesbezüglichen Anforderungen an eine Landing Zone zu definieren brauchen Sie ein Zielbild der Daten-Architektur und damit schliesst sich der Kreis zur Rolle des Data Architekten.


Neue Skill-Kombinationen sind gefragt

Da die Cloud-Welt eine Verschmelzung vieler Disziplinen darstellt, reicht es nicht mehr aus, ein reiner Daten-, Technologie- oder Anwendungsarchitekt zu sein. Cloud-Architekten müssen eine neue Kombination von Fähigkeiten mitbringen. Sie müssen in der Lage sein, strategisch zu denken, tiefgehendes technisches Know-how zu haben und gleichzeitig die geschäftlichen Anforderungen zu verstehen.

Cloud-Architekten sind die Brücke zwischen IT und Business. Sie schaffen die technische Grundlage, die es Unternehmen ermöglicht, die Flexibilität und Skalierbarkeit der Cloud optimal zu nutzen. Dabei müssen sie sowohl mit dem Business wie auch mit der IT auf Augenhöhe kommunizieren können.


Fazit: Der Cloud-Architekt als Schlüssel zur modernen IT - Warum Ihre Firma einen Cloud-Architekten brauchen könnte
Die digitale Transformation und die Migration der Cloud stellen Unternehmen vor neue Herausforderungen. Ein Cloud-Architekt kann helfen diese zu bewältigen, indem er die Kompetenzen aus verschiedenen Architekturdisziplinen vereint und massgeschneiderte Cloud-Lösungen aufzeigt. Wenn Ihre Firma den grössten Teil ihrer IT-Infrastruktur aus der Cloud bezieht oder dies plant, könnte ein Cloud-Architekt der entscheidende Faktor für den Erfolg Ihrer IT-Strategie sein. Im Rahmen einer internen Cloud Foundation agiert er dabei natürlich nicht alleine, wie wir gesehen haben. Es braucht ein starkes "Cloud-Team", in welchem der Cloud-Architekt eine wichtige Rolle spielen kann.


Wie wird man Cloud-Architekt und haben wir einen Fachkräftemangel an Cloud-Architekten in der Schweiz?

Da ein Cloud-Architekt verschiedene Skills vereint, gibt es verschiedene Werdegänge, um ein guter Cloud-Architekt zu werden. Aus meiner Sicht ist es aber wichtig, dass ein Cloud-Architekt programmieren kann.

Er braucht Erfahrung in der Software-Entwicklung, da Cloud native Software in der Cloud (fast) immer mehr eine Kombination aus Diensten aus der Cloud und der eigenen Software ist. Ein Cloud-Architekt muss daher verstehen was es heisst, wenn man einzelne Funktionen einer Anwendung nicht selber implementiert und an der Stelle die Funktion mit einem Service abdeckt. Welche wiederum in die eigene Software integriert, getestet und betrieben werden muss. Er muss aber auch Programmieren können um die Ansätze von IaaS zu verstehen und abschätzen zu können, welches Tool für welchen Bereich von Infrastruktur, Deployment und Konfiguration für welches Use Cases sinnvoll ist.

Aktuell haben wir aus meiner Sicht einen theoretischen Fachkräftemangel an Cloud-Architekten. Theoretisch deshalb, weil viele Firmen noch nicht erkannt haben, dass sie vielleicht einen bräuchten. Den Soll-Bestand könnte aktuell wohl nicht abgedeckt werden. Schaut man sich die aktuellen Stellenausschreibungen an, hält sich die Nachfrage aber noch zurück. Um einem künftigen effektiven Mangel entgegen zu wirken ist es notwendig, dass man in der Schweiz (weiterhin) zu attraktiven Konditionen Programmieren kann. Wenn immer mehr Firmen die Programmier-Arbeit ins billige Ausland geben, fehlen hier künftig Fachkräfte, welche auf solchen Profilen aufbauen. Dann haben wir in Zukunft vermehrt PowerPoint-Architekten die wenig hilfreiche Folien pinseln ohne zu wissen, was sie wirklich tun. Gefragt ist breites und tiefes Know-how und Erfahrung, wie die nachfolgenden Anforderungen aus einem aktuellen Stelleninserat mit dem Title "Cloud Architekt" zeigen:

  • Hochschulabschluss in Informatik (FH, Uni, ETH) mit praktischem Know-How (>10 Jahre) im Systems- und Software-Engineering
  • Mehrjähriger Erfahrung bei der Konzeption und Umsetzung (Hands-On) der Cloud Migration zu einem der drei Hyperscaler
  • Mehrjährige Erfahrung als Architekt*in in komplexen Applikationsentwicklungs- und Infrastrukturprojekten unter anderem bei der Implementierung von serviceorientierten Architekturen
  • Mehrjährige Erfahrung mit Container- (Docker, Podman, Kubernetes, OpenShift,…) und Cloud- (Terraform, Pulumi, ObjectStore, FaaS, CloudEvents,...) Technologien sowie bei der Implementierung von eventbasierten Architekturen u.a. mit Data Streaming Plattformen wie Kafka
  • sicherer Umgang mit Tools wie Git, JIRA, Jenkins, Gitlab CI/CD
  • ausgezeichnete Plattformkenntnisse von Linux und Unix-Systemen
  • Plattformkenntnisse von Windows Systemen
Man könnte zum Schluss kommen, die Organisation hier sucht eine ganze IT-Abteilung, nicht nur eine Rolle/Funktion. Es geht auch weniger anspruchsvoll, wie dieses aktuelle Beispiel zeigt:

  • Erfahrung im Einsatz von Public Cloud Services wie Amazon AWS, Microsoft Azure und Google Cloud Platform
  • Implementierungs-Kenntnisse im modernem SW-Development Umfeld
  • Erfahrungen im Aufsetzen von Pipelines in einer modernen & sicheren CI/CD Landschaft
  • Zertifizierung(en) eines Public Cloud Providers oder für Softwarearchitektur (z.B. ISAQB / CPSA)
Den meisten Anforderungen ist gemeinsam, dass sie sowohl Software-Entwicklungskenntnisse inkl. CI/CD wie auch Infrastruktur-Kenntnisse verlangen. 

Es handelt sich um die erwähnte Verschmelzung von bisher meist getrennten Rollen und Funktionen.

Was ich nicht selten etwas vermisse ist der Business-Kontext. Um eine auf die Bedürfnisse des Business optimierte Lösung zu konzipieren muss ein Cloud-Architekt meines Erachtens auch in der Lage sein, Geschäftsanforderungen und Geschäftsprozesse zu verstehen.

Hinweis: Man findet synonym zu Cloud Architekt auch den Begriff Cloud Solution Architekt.

Haben Sie bereits eine Cloud Foundation und/oder einen Cloud (Solution) Architekten?

1 Kommentar:

Mysqlguider hat gesagt…

This guide perfectly captures the Docker vs. native Airflow debate! As someone who ran both setups in production, here’s my hard-earned insight:

For newbies: Docker’s standalone mode is fantastic for quick testing (that 1-command setup is gold). But when I scaled to 50+ DAGs, I hit performance walls and switched to pip install apache-airflow [postgres,celery] on bare metal. The difference? 40% faster task execution and no more Docker volume permission nightmares.

Critical tip: If you use Docker long-term, always modify the compose file to:

yaml
Copy

services:
scheduler:
mem_limit: 2g # Prevents OOM kills
webserver:
ports:
- "8080:8080"

(Learned this after 3 days of debugging random crashes!)

For Ubuntu 24.04 users: The official Docker image still uses Python 3.8. For 3.11 support, you’ll need native installs (full guide here).

Question: Anyone else notice the Docker scheduler adds ~15% latency to task triggers? My simple_http tasks take 8s in Docker vs. 5s native.

— DataGriffin (Airflow team at FinTechScale)

P.S.: That AIRFLOW_HOME=$(pwd)/airflow tip saved me from accidentally nuking my prod DB during testing 😅