Seminarinhalt
Begleitend zu den Theorieteilen der einzelnen Module, modernisieren wir eine App bestehend aus klassischem Monolithen in eine Cloud Native App mit Microservices (Catalog, State, Payment, Delivery, Purchasing) und Micro Frontends um. Dabei legen wir Wert auf die Verwendung von Best Practices und Cloud Design Patterns, sowie deren Abbildung mit Software Architektur Diagrammen.
Wir vermitteln die Container Essentials, und Konzepte wie Stateful Containers oder SideCar Pattern und besprechen im Detail mögliche Refactorings bezüglich Bereitstellung in den Kubernetes basierenden Azure Container Apps und behandeln dabei Themen wie Secrets, Revisions, Config Injection, Health Checks, Kubernetes Event Driven Auto-Scaling - KEDA.
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 auch die Themen Change Feed, Event Sourcing und CQRS.
Wir vermitteln die Grundlagen von Event Driven Applications, deren Transaktionsmustern, die wir mittels Saga Pattern implementieren und verbinden die einzelnen Services mittels Distributed Application Runtime (Dapr).
Wir nutzen Durable 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 Entities, Durable Monitoring und Durable Saga Pattern ein.
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 State in Echtzeit mittels Azure Web PubSub aktuell zu halten.
In allen Phasen werden auch Aspekte von Authentication und Authorization mittels Microsoft Identity besprochen. Die Provisionierung der einzelnen Ressourcen wird der Flexibilität und dem GitOps Prinzipien folgend währen der einzelnen Module über Azure CLI entwickelt.
Beispiele werden größtenteils in .NET, Angular und React implementiert. Fallweise können aber auch alternative Technologie Stacks (Spring Boot) verwendet werden, bzw. wird auf deren Docs verwiesen.
Programm
- Introduction to Azure Cosmos DB for NoSQL
- Try Azure Cosmos DB for NoSQL
- Plan Resource Requirements
- Configure Azure Cosmos DB for NoSQL
- Move data into and out of Azure Cosmos DB for NoSQL
- Use the Azure Cosmos DB for NoSQL SDK
- Configure the Azure Cosmos DB for NoSQL SDK
- Implement Azure Cosmos DB for NoSQL point operations
- Perform cross-document transactional operations with the Azure Cosmos DB for NoSQL
- Process bulk data in Azure Cosmos DB for NoSQL
- Query the Azure Cosmos DB for NoSQL
- Author complex queries with the Azure Cosmos DB for NoSQL
- Define indexes in Azure Cosmos DB for NoSQL
- Customize intexes in Azure Cosmos DB for NoSQL
- Consume an Azure Cosmob DB for NoSQL change feed using the SDK
- Handle events with Azure Functions and Azure Cosmos DB for NoSQL change feed
- Search Azure Cosmos DB for NoSQL data with Azure Cognitive Search
- Implement a non-relational data model
- Design a data partitioning strategy
- Configure replication and manage failovers in Azure Cosmos DB
- Use consistency models in Azure Cosmos DB for NoSQL
- Configure multi-region write in Azure Cosmos DB for NoSQL
- Customize an indexing policy in Azure Cosmos DB for NoSQL
- Measure index performance in Azure Cosmos DB for NoSQL
- Implement integrated cache in Azure Cosmos DB for NoSQL
- Measure performance in Azure Cosmos DB for NoSQL
- Monitor responses and events in Azure Cosmos DB for NoSQL
- Implement backup and restore for Azure Cosmos DB for NoSQL
- Implement security in Azure Cosmos DB for NoSQL
- Write management scriptis for Azure Cosmos DB for NoSQL
- Create resource template for Azure Cosmos DB for NoSQL
- Build multi-item transactions with the Azure Cosmos DB for NoSQL
- Expand query and transaction functionality in Azure Cosmos DB for NoSQL
Zielgruppen
DevSecOps relevante Themen werden in einem separatem Kurs behandelt.