Kursüberblick
Das Seminar richtet sich an Azure Entwickler und Software Architects, welche einen Überblick über die Kernelemente, sowie des Toolings, für die Entwicklung und Bereitstellung von Cloud Native Applications in Microsoft Azure bekommen wollen.
Begleitend zu den Theorieteilen der einzelnen Module, modernisieren wir eine App bestehend aus klassischem Monolithen mit UI in eine Cloud Native App mit Microservices (Catalog, Shop, State, Payment, Delivery) und die dazu gehörigen Micro-Frontends. Dabei besprechen wir das Cloud Maturity Model und legen Wert auf die Verwendung von Best Practices & Cloud Design Patterns, sowie deren Abbildung mit Software Architektur Diagrammen.
Wir vermitteln die Container Essentials und Konzepte, wie Konfiguration Management, Stateful Containers oder SideCar Pattern. Um einen Developer zentrischen Fokus zu garantieren, verteilen wir auf die Kubernetes basierenden Azure Container Apps, und behandeln dabei Themen wie Secrets, Revisions, Config Injection, Health Checks, Kubernetes Event Driven Auto-Scaling - KEDA, Stateful Containers und Jobs. Für die Authentifizierung von Service to Service Kommunikation verwenden wir Managed Identities und Service Connectors. Selbstverständlich können die Apps auch nach AKS verteilt werden.
Wir nutzen Azure Functions, um Microservices zu implementieren, welche wahlweise Serverless aber auch also Container gehostet werden können. Im Speziellen gehen wir hier auf die Themen Durable Functions & Entities, deren Einsatzgebiet, sowie Monitoring.
Dem Prinzip von Domain Driven Design folgend, vermitteln wir die Vorteile von NoSQL Datenbanken und begleiten Sie auf Ihrem Weg von Relational DB Design zum Cosmos DB NoSQL Api. Dabei behandeln wir die Themen Partitioning & Performance, Change Feed, Event Sourcing und CQRS.
Wir vermitteln die Grundlagen von Event Driven Applications, CloudEvents, Orchestration und Saga. Im Kapitel Distributed Application Runtime (Dapr) gehen wir neben Developer Environment Setup & Debugging, auf die Themen Service Invocation, Pub/Sub, State Management, Secrets, Configuration, Observability, Distributed Tracing und Actors ein.
Last but not least publizieren, sichern und optimieren wir unsere Cloud Native App und deren Microservices mit API Management und Application Gateway und besprechen die Vor- und Nachteile von Micro-Frontends Anhand zweiter Implementierungsbeispiele (Angular Real Time Frontend, Teams App).
In allen Phasen wird Authentication und Authorization mittels Microsoft Identity sichergestellt und ein automatisiertes Deployment der App ist mittels Azure CLI und / oder BICEP gewährleistet.
Beispiele werden grösstenteils in .NET und Angular implementiert. Fallweise können aber auch alternative Technologie Stacks verwendet werden, bzw. wird auf deren Docs verwiesen.
Zielgruppe
Azure Developers & Software Architects
Voraussetzungen
Kursteilnehmer, welche die Labs erfolgreich durchführen wollen, sollten Kenntnisse und Erfahrung der in Developing solutions for Microsoft Azure (AZ-204T00) vermittelten Kenntnisse erworben haben. Mit RECAP gekennzeichnete Themen sind Kurzzusammenfassungen von AZ-204 Inhalten als Refresher. DevSecOps relevante Themen werden in einem separatem Kurs behandelt.
Kursinhalt
- Introduction to Cloud Native Applications
- Building Blocks & Architecture Overview
- Container Essentials & Configuration Management
- Introduction to Azure Container Apps (ACA)
- Implementing Microservices using Azure Functions
- NoSQL Data storage using Cosmos DB
- Designing & Implementing Event Driven Apps
- Using Distributed Application Runtime - Dapr
- Optimizing and Securing API Access using Api Management
- Implementing Real Time & Micro-Frontends