Das Seminar richtet sich an Azure Entwickler*innen und Software Architects welche einen Überblick über die Kernelemente der Entwicklung von Cloud Driven Apps mit Microservices & Event Driven Architecture in Microsoft Azure erlernen wollen.
Begleitend zu den Theorieteilen der einzelnen Module, modernisieren wir eine klassischem Monolithische App, zu einer Cloud Native App mit Microservices (Catalog, State, Payment, Delivery, Purchasing) und Micro Frontends. Dabei besprechen wir im Detail mögliche Refactorings bezüglich Bereitstellung in Kubernetes (Config Injection, Health Checks, …), sowie den Einsatz des serverless Azure Container Apps Angebots.
Cosmos DB, sein Change Feed wird dann den Übergang in die Welt der Event Driven Applications darstellen. Im Detail besprechen wir effizientes denormalisiertes Schemadesign für Azure Cosmos DB aber auch Azure SQL Server Features wie SQL Change Data Capture. Einige Microservices implementieren wir Serverless mit Hilfe von Azure Durable Functions und Nutzen dabei auch Azure Event Hub und Azure Service Bus. In diesem Abschnitt werden sowohl einige Cloud Design Patterns an Teilen der App implementiert.
Last but not least publizieren und sichern wir die App, und deren Microservices mit API Management und Application Gateway, um dann noch unser Reactive Angular UI mit Client Side (NgRx) State in Echtzeit mittels Azure Web PubSub aktuell zu halten.
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ößtenteils in .NET, Node.js und TypeScript gezeigt. Fallweise können aber auch alternative Technologie Stacks verwendet werden, bzw. wird auf deren Docs verwiesen.
Nach Abschluss dieses Seminars haben die Teilnehmer*innen Wissen zu folgenden Themen:
- Cloud Native Apps Architecture
- Building Blocks of Cloud Native Apps
- Optimizing Services & Frontends for Containers
- Hosting Microservices on Azure Kubernetes Services
- Introduction to Azure Container Apps (ACA) and Kubernetes Event-Driven Autoscaling (KEDA)
- Distributed Application Runtime – Dapr
- Designing Event Driven Apps using Service Bus, Event Hub & Event Grid
- Schemaless and Event Optimized Datastorage using Cosmos DB
- Implementing Microservices using Durable Azure Functions
- Managing and Securing API Access using Api Management
- Implementing Reactive Micro Frontends using Azure Web Pub/Sub