Ein Gespräch unter IT-Experten #4 — Infrastructure as Code in der Cloud

In dieser Episode unserer Reihe «Ein Gespräch unter IT-Experten» geht es um das Thema Cloud Automatisierung: Infrastructure as Code. Christian Schmid, IT Architect und Patrick Plattner, Principal Architect diskutieren über Autonomie, Risikominderung von Fehlkonfigurationen, Compliance und Cloud-Know-how Aufbau innerhalb der Organisation. Die Ausgangslagen der Projekte, auf welchen die beiden Architekten sind, könnten nicht unterschiedlicher sein. Dennoch kommen beide zum Schluss: Infrastructure as Code ist die richtige Wahl für die Public Cloud.

Video-Podcast

Das Gespräch von Christian und Patrick | Key Take Aways

Unsere beiden Experten haben sich über Best-Practices und Erfahrungen aus ihren Projekten ausgetauscht. Die Projekte, in welchen beide Infrastructure as Code in der Cloud anwenden, könnten nicht unterschiedlicher sein. Dennoch sind sich beide einig: sie sind absolute Verfechter von Infrastructure as Code. Wie die beiden Setups von Christian und Patrick aussehen und wie sie darin Infrastructure as Code in der Cloud anwenden, finden Sie zusammengefasst hier:

In welchem Setup (heterogener Tech Stack mit verschiedenen Business Units vs. homogener Tech Stack) macht es Sinn, dass mit Infrastructure as Code in der Cloud gearbeitet wird? Und wie sieht das Vorgehen aus?

Grundsätzlich bei beiden. Christian und Patrick haben die unterschiedlichen Situationen geschildert, in welchen sie arbeiten. Sie zeigten auf, mit welchem Ziel sie Infrastructure as Code in der Cloud einsetzen, was die grössten Herausforderungen dabei sind und wie diese gemeistert wurden.

Setup Christian, heterogener Tech Stack:

Situation:

Eine heterogene Tech Stack Landschaft mit vielen unterschiedlichen Teams macht eine generelle Infrastruktur nicht sinnvoll. Vordefinierte Infrastructure as Code Bausteine für Cloud-Services vereinfachen den Aufbau der Applikations-Infrastruktur, da diese bereits Governance-Anforderungen erfüllen. Gleichzeitig bieten diese Bausteine einen Anreiz, möglichst früh auf Infrastructure as Code zu setzen. Daraus resultieren folgende Vorteile:

  • Kontrolle und Übersicht über bereitgestellte Services und Ressourcen
  • Die Infrastruktur ist versioniert und jede Änderung nachvollziehbar
  • Beim Einsatz von Infrastructure as Code kann auf DevOps-Ansätze zurückgegriffen werden

Ziel:

Grösstmögliche Flexibilität beim Aufbau der Applikations-Infrastruktur bei gleichzeitiger Einhaltung der Sicherheits- und Governance-Anforderungen.

Herausforderung:

Erhöhte Sicherheitsanforderungen können Teams in der Ausarbeitung und Bereitstellung ihrer Lösungen einschränken. Die Einhaltung der Anforderungen kann zudem zu zusätzlichem Entwicklungsaufwand führen und die Komplexität erhöhen.

Lösung:

Die Lösungen sind vielschichtig: Die Teams werden auf ihrem Weg in die Cloud begleitet und unter anderem bei den Themen Infrastructure as Code und DevOps beraten. Um den Einsatz von Infrastructure as Code zu fördern, werden verschiedene Cloud-Services als Infrastructure as Code Bausteine bereitgestellt. Diese erfüllen bereits die Sicherheits- und Governance-Anforderungen. Policies und entsprechende Rollen verhindern Fehlkonfigurationen.

Setup Patrick, homogener Tech Stack:

Situation:

Die Infrastruktur wird aktuell noch von einem externen Provider on-premises betrieben, doch das Ziel ist es, in eine Public Cloud zu migrieren. Die Tech Stack Landschaft ist sehr homogen. Bei der Implementation der Business Applikationen wurde Wert darauf gelegt, dass sie wenn möglich auf gleichen Technologien aufbauen, um Synergien zwischen den Teams zu nutzen. In der Public Cloud wird die Infrastruktur mit Infrastructure as Code bereitgestellt. Gründe dafür sind:

  • Generalisierbarkeit der Infrastruktur für die meisten Teams
  • Code ist in Repositories eingechecked und somit dokumentiert und versioniert (Regulatoren, FINMA und BAG konform)
  • Git Flow ist enforced, wodurch mit Pull/Merge-Request die Reviews (Vier-Augen-Prinzip) sichergestellt ist

Ziel:

Die Infrastruktur möglichst generell und für alle Teams anwendbar als Code im Repository bereitstellen und ihnen zeigen, wie sie damit arbeiten können. Die Teams sollen individuell darauf aufbauen können.

Herausforderung:

Eine generelle Infrastruktur aufbauen, die dennoch den individuellen Bedürfnissen entspricht und für möglichst alle Teams angewendet werden kann. Know-how innerhalb der Teams aufbauen.

Lösung:

Mit den Teams direkt zusammenarbeiten. Ein oder zwei Pilotprojekte wählen und die Infrastruktur so direkt aufsetzen und validieren. Weitere Teams, die in die Cloud migrieren werden, ausbilden und die Infrastruktur gemeinsam aufbauen.

 

 

 

Der Einsatz von Cloud-Technologien bringt in der Entwicklung von Software-Lösungen viele Vorteile mit sich. Gleichzeitig steigt dadurch allerdings die Komplexität der IT-Lösungen in Bezug auf Management und Betrieb. Wir unterstützen Sie gerne hierbei.