Die Azure Foundation in Kombination mit Terraform stellt eine leistungsstarke und automatisierte Cloud-Management-Lösung dar. Indem sie wichtige Themen wie Governance, Automation, Networking und Security integriert, bildet die Azure Foundation eine solide Basis für die Nutzung von Azure Services. Terraform ergänzt diese Grundlage als bevorzugtes Infrastructure as Code (IaC) Tool und ermöglicht Kunden, ihre Cloud-Infrastruktur auf sichere, wiederholbare und standardisierte Weise zu verwalten und bereitzustellen.

Azure Foundation: Effizientes Cloud-Management mit Terraform

Die Azure Foundation bietet unseren Kunden eine solide Grundlage für die Arbeit mit Azure Services. Sie behandelt wichtige Themen wie Governance, Automation (Update- und Backup-Management), Networking und Security in einem vollautomatisierten Prozess. Zudem wird das Provisioning von AppZones, als klassische Landing Zones für Workloads in Azure, durch Code ausgeführt und bildet die Basis für das Onboarding von Application Services.

Warum Terraform?

Terraform ein beliebtes Infrastructure as Code (IaC) Tool. Im Gegensatz zu Azure Resource Manager (ARM) oder BICEP verwendet Terraform ein State-File außerhalb von Azure, das die geplanten Deployments mit dem aktuellen Zustand vergleicht und so klar darstellt, was geändert werden würde. Dieser Ansatz ermöglicht dem Kunden eine schnelle, sichere und standardisierte Nutzung der Services aus dem Azure-Universum.

Vorteile der Azure Foundation und Terraform

Wie können Kunden diese Vielfalt an Azure Services sinnvoll nutzen? Bei der Azure Foundation haben wir uns bewusst für IaC und Azure Native Services entschieden. Nach der Bereitstellung der AppZones müssen Kunden diese mit den Azure Services füllen. Dies kann auf verschiedene Weise geschehen, z. B. über das Azure Portal, die Command Line Interface (CLI), ARM-Templates oder andere IaC Tools.

Um einen Technologiebruch zu vermeiden und die Vorteile der Azure Foundation auf Terraform-Basis ganzheitlich auszunutzen, empfehlen wir die Nutzung von Terraform als Deployment-Tool. So können beispielsweise State-Management und die Komponenten vorhergehender Layer genutzt werden.

Anwendungsszenarien und Standard Workloads

Mit Terraform können wir Standard Workloads wie KeyVault, Storage Accounts, virtuelle Server, Datenbanken usw. abbilden. Ganze Anwendungsszenarien können mit einer Terraform-Codebasis einfach und konsistent erstellt werden. Terraform hilft dabei, alle zu einer Anwendung in Azure gehörenden Komponenten in Code abzubilden und das Design vorzugeben. Aufbauend auf den AppZone-Deployments, die Aufgaben wie Resource Group, Tags, Monitoring, Networking, Budgets, RBAC etc. erledigen, können wir mit dem Workload Layer beginnen und den vorhandenen State nutzen, um darauf aufzubauen.

Azure Foundation Workload Management

Vereinfachung des Deployments

Dies erleichtert dem Kunden das moderne Deployment von Azure Services in einem sicheren, wiederholbaren und standardisierten Rahmen. Durch den deklarativen Ansatz von Terraform können Komponenten und deren Konfiguration beschrieben und jederzeit ersetzt oder erneut bereitgestellt werden. Ist eine Komponente der Applikation fehlerhaft, so kann diese entfernt und redeployed werden, was sich von herkömmlichen On-Premises-Lösungen unterscheidet. Es ist wichtig, auch die Datenhaltung auf diesen Ansatz auszurichten, damit die Infrastruktur jederzeit neu bereitgestellt werden kann, während die Daten schnell wieder zugreifbar sind und an die neuen Ressourcen angebunden werden (stateless).