Entwicklung für Enterprise DevOps
- Einführung in DevOps: Transformationsteams, gemeinsame Ziele, Zykluszeiten und validiertes Lernen; Azure DevOps und GitHub im Überblick
- Agile Planung mit GitHub Projects und Azure Boards, Azure Boards mit GitHub verknüpfen
- Branchstrategien und Workflows entwerfen, Zusammenarbeit mit Pull Requests und Branch-Richtlinien in Azure Repos
- Git Hooks, Inner Source und Fork-Workflows
- Repositorys verwalten: grosse Repositorys, Daten bereinigen, Releases in GitHub
- Technische Schulden erkennen, Codequalitätswerkzeuge einsetzen und Code-Reviews planen
Continuous Integration mit Azure Pipelines und GitHub Actions
- Azure Pipelines kennenlernen; Microsoft-gehostete und selbstgehostete Agents, Agentpools und deren Sicherheit
- Parallele Aufträge und Nebenläufigkeit, klassischer Designer und YAML-Pipelines
- Pipelinestrategie: Agent-Anforderungen, Multikonfigurations-Builds, GitHub-Integration, Teststrategie und Codeabdeckung
- Pipelines strukturieren mit Vorlagen, YAML-Ressourcen und mehreren Repositorys
- GitHub Actions: Workflows, Ereignisse, Jobs und Runner; Continuous Integration mit Umgebungsvariablen, Artefakten und Geheimnissen
- Container-Buildstrategie mit Docker und Azure-Diensten
Releasestrategie entwerfen und umsetzen
- Releasepipelines erstellen: Build- und Releaseaufgaben, Artefaktquellen, Genehmigungen und Release Gates
- Zielumgebungen bereitstellen, Dienstverbindungen konfigurieren, automatisierte Funktions- und Verfügbarkeitstests
- Aufgaben und Vorlagen modularisieren: Aufgabengruppen, Variablengruppen, eigene Build- und Releaseaufgaben
- Integritätsprüfung automatisieren: Benachrichtigungen in Azure DevOps und GitHub, Service Hooks, Qualitätsmessung
Sicheres Continuous Deployment mit Azure Pipelines
- Bereitstellungsmuster: klassische und moderne Ansätze, Microservices-Architekturen
- Blue-Green-Deployment und Feature Toggles
- Canary-Releases mit Azure Traffic Manager und Dark Launching
- A/B-Tests, Progressive Exposure und ringbasierte Bereitstellung
- Identitäten integrieren: GitHub-SSO, Workload-Identitäten in Microsoft Entra ID, Dienstprinzipale und verwaltete Identitäten
- Anwendungskonfiguration mit Azure App Configuration, Azure Key Vault und Feature Flags
Infrastructure as Code mit Azure und DSC
- Grundlagen von Infrastructure as Code und Konfigurationsverwaltung: imperativ und deklarativ, Idempotenz
- Azure-Ressourcen mit ARM-Vorlagen erstellen: Abhängigkeiten, modulare Vorlagen, Geheimnisse aus Azure Key Vault
- Azure-Ressourcen mit der Azure CLI und Bash-Skripten erstellen
- Azure Automation mit Runbooks, Webhooks und Anbindung an die Quellcodeverwaltung
- Desired State Configuration (DSC): Konfigurationsdrift verwalten, DSC für Linux, hybride Szenarien
- Bicep mit Visual Studio Code, Azure CLI, Azure Pipelines und GitHub-Workflows einsetzen
Sicherheit implementieren und Codebasen auf Compliance prüfen
- Secure DevOps: DevSecOps-Prinzipien, typische Schwachstellen wie SQL Injection, Threat Modeling, kontinuierliche Sicherheitsvalidierung und Analyse mit GitHub CodeQL
- Open-Source-Software im Unternehmen: Sicherheits- und Lizenzfragen, gängige Lizenzen wie MIT, Apache und GPL
- Software Composition Analysis: GitHub Dependabot, Mend, Snyk und OWASP Dependency-Check in Azure Pipelines, Container-Images scannen
- Sicherheitsüberwachung und Governance: Microsoft Defender for Cloud, Azure Policy, Ressourcensperren, Microsoft Defender for Identity und GitHub Advanced Security
Strategie für die Abhängigkeitsverwaltung
- Paketabhängigkeiten erkennen und Komponenten in Pakete zerlegen
- Paketverwaltung: Feeds, öffentliche und selbst gehostete Quellen, Pakete mit Azure Artifacts nutzen, erstellen und veröffentlichen
- Artefakte migrieren und konsolidieren, Zugriff auf Paketfeeds absichern
- Versionierungsstrategie: semantische Versionierung, Views in Azure Artifacts, Paket-Promotion in CI/CD-Pipelines
- GitHub Packages: Pakete veröffentlichen und installieren, Berechtigungen und Sichtbarkeit steuern
Continuous Feedback
- Nutzung und Ablauf nachverfolgen mit Azure Monitor, Log Analytics, Application Insights und Kusto Query Language (KQL)
- Überwachungs- und Statusdashboards mit Azure-Dashboards, Azure Monitor Workbooks und Power BI; Pipelinezustand überwachen und optimieren
- Wissen im Team teilen: Wikis in Azure DevOps, Markdown und Mermaid, Integration mit Microsoft Teams
- Anwendungsanalysen mit Application Insights automatisieren
- Warnungen verwalten, Blameless Retrospectives und Just Culture