K3 Professional: cloud, quality, DevOps
Run an application securely in Azure: infrastructure as code, CI/CD, observability, messaging and tests that hold up.
Who it is for
For developers with .NET experience who want to deliver and run their applications in Azure themselves.
Prerequisites
K2, or a year of professional experience with .NET and the placement test.
Afterward, you can
- Keep Azure resources, permissions and costs under control
- Describe and roll out infrastructure with Bicep and azd
- Run applications without keys in the code, with managed identity and Key Vault
- Observe applications with OpenTelemetry, Application Insights and KQL
- Integrate reliably with Service Bus and Event Grid
- Build pipelines that test, version and deliver only after approval
- Write tests that hold up, also for time, ports and load
- Use timeouts, retries, caching and rate limiting the right way
- Understand Linux, networking, DNS, TLS and mail well enough to clear up incidents
- Write concurrent and parallel code without race conditions and deadlocks
- Measure performance and improve it deliberately, up to Native AOT
- Build serverless flows with Azure Functions and Durable Functions
- Steer reliability with SLOs, error budgets, runbooks and postmortems
Contents
- 3.0
25 h
Infrastructure from the ground up
Linux and the shell in a container, TCP/IP and ports, DNS, TLS and PKI, proxies and load balancers, firewalls and NSGs, SSH, mail with SMTP, SPF, DKIM and DMARC
- 3.1
20 h
Azure fundamentals
subscriptions, resource groups, RBAC, regions and the EU data boundary, costs and budgets
- 3.2
25 h
Infrastructure as code
Bicep, azd, environments, what-if and its limits
- 3.3
28 h
Security in operation
managed identity, Key Vault, no keys in code or parameters, Front Door and WAF basics, never printing secrets, cryptography (hashing, encryption, signing, keys and PKI in operation), the supply chain with an SBOM and package audits
- 3.4
25 h
Observability
OpenTelemetry, Application Insights, KQL, alerts, health checks
- 3.5
25 h
Messaging and events
Service Bus, queues, Event Grid, idempotency, dead letters
- 3.6
20 h
Data in the cloud
Azure SQL, Blob Storage, an overview of Cosmos DB and PostgreSQL with vectors, backup and restore
- 3.7
30 h
CI/CD
Azure Pipelines and GitHub Actions, tests in the build, NuGet feeds and versions, approvals before a deployment
- 3.8
25 h
Advanced testing
integration against real dependencies, test data, flaky tests (time, FakeTimeProvider), free ports, load tests
- 3.9
20 h
Resilience and performance
timeouts, retries with care, caching, profiling, rate limiting
- 3.11
25 h
Concurrency and parallelism
threads and the thread pool, the Task Parallel Library, Parallel.ForEach and PLINQ, async versus parallel, lock, SemaphoreSlim, Interlocked, concurrent collections, channels, race conditions and deadlocks, the memory model, the actor model as the way out
- 3.12
15 h
Performance in .NET
BenchmarkDotNet, Span<T> and memory, the garbage collector, allocations, source generators, Native AOT
- 3.13
15 h
Serverless with Azure Functions
the isolated worker model, triggers and bindings, Durable Functions, delivery, observability and costs
- 3.14
15 h
Aspire in depth
the app model, integrations, the dashboard and service defaults, testing with Aspire, delivery
- 3.15
20 h
Operations and reliability (SRE)
SLIs, SLOs and error budgets, on-call and the incident process, postmortems, runbooks, chaos engineering with Azure Chaos Studio
- 3.10
50 h
Final project
the Kladde in Azure, delivered fully automatically
About 383 hours in all (indicative).
Lessons
You see the text and video of every lesson here on the site after buying the course; the titles and goals are already shown. A self-study course: you work through the lessons in order and check your exercises yourself against the solutions.
The lessons are only in German for now.
The lessons stand under their modules, in the order of the course. Click a module to open or close its lessons.
3.0 Infrastructure from the ground up
Indicative: 25 hours · 7 lessons
-
Lesson 1 · about 240 minutes
Linux und die Shell im Container
-
Lesson 2 · about 240 minutes
TCP/IP, Ports und was eine Verbindung ist
-
Lesson 3 · about 180 minutes
DNS
-
Lesson 4 · about 240 minutes
TLS und die Kette des Vertrauens
-
Lesson 5 · about 180 minutes
Proxys und Lastverteiler
-
Lesson 6 · about 180 minutes
Firewalls, NSGs und SSH
-
Lesson 7 · about 120 minutes
Mail: SMTP, SPF, DKIM und DMARC
3.1 Azure fundamentals
Indicative: 20 hours · 6 lessons
-
Lesson 8 · about 180 minutes
Azure im Überblick
-
Lesson 9 · about 180 minutes
Kosten zuerst: Abonnement und Budget
-
Lesson 10 · about 180 minutes
Ordnung: Verwaltungsgruppen, Ressourcengruppen, Namen, Tags, Sperren
-
Lesson 11 · about 240 minutes
Wer darf was: Entra ID und Azure RBAC
-
Lesson 12 · about 180 minutes
Regeln für alle: Azure Policy, Regionen und die EU-Datengrenze
-
Lesson 13 · about 120 minutes
Azure von der Kommandozeile: CLI, PowerShell und Resource Graph
3.2 Infrastructure as code
Indicative: 25 hours · 6 lessons
-
Lesson 14 · about 180 minutes
Warum Infrastruktur als Code
-
Lesson 15 · about 240 minutes
Die Sprache Bicep
-
Lesson 16 · about 240 minutes
Module und Wiederverwendung
-
Lesson 17 · about 240 minutes
What-if und seine Grenzen
-
Lesson 18 · about 240 minutes
azd: die Anwendung und ihre Infrastruktur
-
Lesson 19 · about 240 minutes
Umgebungen
3.3 Security in operation
Indicative: 28 hours · 5 lessons
-
Lesson 20 · about 240 minutes
Keine Schlüssel: Managed Identity
-
Lesson 21 · about 240 minutes
Key Vault
-
Lesson 22 · about 240 minutes
Geheimnisse nie ausgeben
-
Lesson 23 · about 240 minutes
Öffentliche Endpunkte: Front Door und WAF in Grundzügen
-
Lesson 24 · about 120 minutes
Geringste Rechte und Defender for Cloud
3.7 CI/CD
Indicative: 30 hours · 7 lessons
-
Lesson 25 · about 240 minutes
Continuous Integration mit GitHub Actions
-
Lesson 26 · about 240 minutes
Azure Pipelines
-
Lesson 27 · about 240 minutes
Tests im Build
-
Lesson 28 · about 300 minutes
Versionen und NuGet-Feeds
-
Lesson 29 · about 240 minutes
Ausliefern ohne Geheimnis
-
Lesson 30 · about 240 minutes
Freigaben vor dem Deploy
-
Lesson 31 · about 180 minutes
Pipelines sicher und schnell
3.4 Observability
Indicative: 25 hours · 6 lessons
-
Lesson 32 · about 240 minutes
Logs, Metriken, Spuren
-
Lesson 33 · about 240 minutes
Application Insights mit OpenTelemetry
-
Lesson 34 · about 240 minutes
Eigene Spuren und Messwerte
-
Lesson 35 · about 300 minutes
KQL: Fragen an die Telemetrie
-
Lesson 36 · about 240 minutes
Health Checks und Alarme
-
Lesson 37 · about 120 minutes
Eine Störung aufklären
3.6 Data in the cloud
Indicative: 20 hours · 5 lessons
-
Lesson 38 · about 240 minutes
Azure SQL
-
Lesson 39 · about 120 minutes
Das Schema ändern, während die alte Version läuft
-
Lesson 40 · about 240 minutes
Blob Storage
-
Lesson 41 · about 240 minutes
Cosmos DB und PostgreSQL mit Vektoren im Überblick
-
Lesson 42 · about 240 minutes
Backup und Wiederherstellung
3.5 Messaging and events
Indicative: 25 hours · 7 lessons
-
Lesson 43 · about 180 minutes
Warum Nachrichten
-
Lesson 44 · about 300 minutes
Service Bus: Warteschlangen
-
Lesson 45 · about 180 minutes
Themen, Abonnements und Sitzungen
-
Lesson 46 · about 240 minutes
Idempotenz
-
Lesson 47 · about 180 minutes
Dead Letter und Fehler
-
Lesson 48 · about 180 minutes
Event Grid
-
Lesson 49 · about 120 minutes
Hintergrundarbeit in Container Apps
3.8 Advanced testing
Indicative: 25 hours · 6 lessons
-
Lesson 50 · about 300 minutes
Integration gegen echte Abhängigkeiten
-
Lesson 51 · about 180 minutes
Testdaten
-
Lesson 52 · about 180 minutes
Was Unit-Tests nicht sehen: Registrierung und Konfiguration
-
Lesson 53 · about 240 minutes
Flackernde Tests: Zeit und Nebenläufigkeit
-
Lesson 54 · about 180 minutes
Freie Ports und parallele Tests
-
Lesson 55 · about 300 minutes
Lasttests
3.9 Resilience and performance
Indicative: 20 hours · 5 lessons
-
Lesson 56 · about 180 minutes
Timeouts und ehrliche Fehler
-
Lesson 57 · about 240 minutes
Wiederholen mit Bedacht
-
Lesson 58 · about 240 minutes
Caching
-
Lesson 59 · about 180 minutes
Ratenbegrenzung
-
Lesson 60 · about 240 minutes
Messen statt raten: Profiling
3.10 Final project
Indicative: 50 hours · 12 lessons
-
Lesson 61 · about 180 minutes
Planen und schätzen
-
Lesson 62 · about 300 minutes
Das leere Abonnement
-
Lesson 63 · about 300 minutes
Die Pipeline von null
-
Lesson 64 · about 300 minutes
Die Anwendung ohne Schlüssel
-
Lesson 65 · about 300 minutes
Der Import über Service Bus
-
Lesson 66 · about 300 minutes
Beobachtung und Alarme
-
Lesson 67 · about 300 minutes
Belastbar unter Last
-
Lesson 68 · about 180 minutes
Wiederherstellung geprobt
-
Lesson 69 · about 240 minutes
Abriss und Neuaufbau
-
Lesson 70 · about 240 minutes
Review und Betriebshandbuch
-
Lesson 71 · about 180 minutes
Störungsübung
-
Lesson 72 · about 180 minutes
Abschluss
Final project: the Kladde
What the Kladde can do after this course
In Azure, delivered fully automatically: Bicep and azd, a pipeline with tests, Key Vault and managed identity, OpenTelemetry, an import through Service Bus and a rehearsed restore.
The pipeline and the infrastructure run from an empty subscription. At the end you clear up an incident from the logs and write it up in a postmortem that you check yourself against a checklist.
Certifications
An offer, never a requirement: these Microsoft exams fit this stage. You take them at Microsoft; we are not a Microsoft training partner.
The entry point to the Azure certifications.
AZ-104 Azure Administrator Associate
A prerequisite for AZ-305 and one of the routes to AZ-400.
AI-200 Azure AI Cloud Developer Associate
Containers, databases with vectors, messaging, Functions, Key Vault and observability; expects Python skills.
Requires an associate certification, such as AZ-104.
Keep learning with Microsoft Learn
Microsoft's learning paths and documentation that go with this course.
- Microsoft Azure Fundamentals: Describe cloud concepts
- Microsoft Azure Fundamentals: Describe Azure architecture and services
- Microsoft Azure Fundamentals: Describe Azure management and governance
- AZ-104: Prerequisites for Azure administrators
- .NET on Azure Container Apps overview
- Introduction to Bash
- Introduction to Azure Virtual Networks
- Managed threading basics
- Guide for running C# Azure Functions in the isolated worker model
- Architecture strategies for defining reliability targets