Uploaded by c.v.f_

05-IAC

advertisement
18.02.2023
Handlungsziele
4. Automatisiert die Bereitstellung der Beispielanwendung mit Hilfe einer CI/CD Pipeline.
210 - Public Cloud für Anwendungen nutzen
Infrastructure as Code
Handlungsnotwendige Kenntnisse
Ziele
4.1 Kennt ein Framework für die Automatisierung von Cloud Infrastrukturen (Infrastructure as Code) und
kennt dessen praktische Anwendung für die Bereitstellung der Beispielanwendung
• Die Lernenden kennen…
• Ein Framework für die Automatisierung von Cloud Infrastrukturen
1
18.02.2023
Infrastructure as Code
• Konfiguration und Verwaltung der Infrastruktur via Beschreibungsmodell
Infrastructure
as Code
• Code statt langes Herumklicken im GUI
• Sehr wichtig in DevOps
• Globales IaC vs. App-IaC
NOTIZEN
• Infrastructure as Code (IaC) konfiguriert und verwaltet die Infrastruktur über ein Beschreibungsmodell.
• Dabei geht es darum, die Infrastrukturkonfiguration und -bereitstellung genauso zu behandeln wie z.B. den
Quellcode einer Anwendung.
• IaC ist eine der wichtigsten DevOps-Praktiken, die bei der kontinuierlichen Bereitstellung eingesetzt werden. Es
spart Zeit und vermeidet Fehler.
• Es gibt dabei sowohl globales IaC, welches die Infrastruktur über alle Projekte definiert, als auch IaC auf dem
Applikationslevel (also jede App bringt ihren eigenen Container, Netzwerke, etc.)
Frameworks
Azure Bicep
Terraform
• Nur für Azure Cloud
• Multi-Cloud fähig (Azure, GCP, AWS etc.)
Speichert Zustand der Infrastruktur in einer
Datei – Zustandsverwaltung in Datei
(Konfliktpotential)
• Zustandsverwaltung der Infrastruktur in Azure
Bicep
NOTIZEN
Zustandsverwaltung in Datei: In Terraform wird der aktuelle Zustand der Infrastruktur in einer Datei gespeichert.
Wenn somit Änderungen an der Infrastruktur diese Datei umgehen, können Konflikte entstehen.
2
18.02.2023
Bicep 💪
Beispiel: Ressourcengruppe anlegen
• Mit Bicep lassen sich Azure-Ressourcen einfach bereitstellen.
• Wurde entwickelt, um die Bereitstellung und Konfiguration von Azure-Ressourcen zu vereinfachen.
Eindeutige Bezeichnung
Wird nur im Bicep File benötigt
• Vergleicht den aktuellen Zustand der Azure-Ressourcen mit dem Zustand im Code. (keine
Zustandsverwaltung)
API-Version
resource rg 'Microsoft.Resources/resourceGroups@2018-05-01' = {
location: 'switzerlandnorth'
name: 'uek-rg'
}
Funktionsweise von Bicep
Typ
Vergleich von Bicep zu JSON
• Bicep wird zu JSON für den Azure Resource Manager (ARM) konvertiert
• Konvertierung erfolgt automatisch
• ARM untersucht Unterschiede & behebt diese
NOTIZEN
• Der Code von Azure Bicep wird in eine JSON-Datei konvertiert, die dem Standard des Azure Resource Manager
(ARM) entspricht.
• Die Konvertierung des IaC-Codes ins ARM-Json geschieht automatisch. Es kann jedoch auch manuell eine
Konvertierung ausgelöst werden.
• ARM untersucht, was in Azure bereits exisiert. Anschliessend werden die unterschiede analysiert und eine
Abfolge von Schritten durchgeführt, um den Zustand wie in der Bicep Datei angegeben zu erreichen.
Bicep
3
18.02.2023
Vergleich von Bicep zu JSON
Workflow
JSON
Zusammenfassung
Auftrag
• Mit Bicep lässt sich die Infrastruktur einfach und für alle nachvollziehbar als Code verwalten
• Visual Studio Code installieren
• Dadurch lassen sich Änderungen an der Infrastruktur automatisiert überprüfen und deployen
• IaC
4
18.02.2023
Fragen?
5
Download