The seminar is aimed at Azure developers and software architects who want to get an overview of the core elements of developing and deploying cloud-native applications in Microsoft Azure.
In addition to the theoretical parts of the individual modules, we modernize an app consisting of a classic monolith with UI into a cloud-native app with microservices (catalog, orders, payment, production delivery) and the related micro frontends. We discuss topics like the Cloud Maturity Model and place value on the use of best practices and cloud design patterns. In the introduction we also present the .NET Aspire framework, which we will partly use to implement the microservices.
We teach container essentials and concepts such as optimization of Container sizes, security patching, stateful containers or sidecar patterns. To ensure a developer centric focus, we will deploy the microservices to the Kubernetes based Azure Container Apps und cover topics such as secrets, revisions, configuration management, health checks, Kubernetes event-driven auto-scaling - KEDA, as well as stateful containers and container jobs. For service to service authentication, we use managed identities and service connectors. The skills learned can also be applied to other container hosting platforms such as Azure Kubernetes Service (AKS) or Azure Red Hat OpenShift (ARO).
We use Azure Functions to implement stateful microservices, which we publish either as serverless or as containers to Azure Container Apps using .NET isolation. We cover topics such as OData, Open API support, dependency injection, and durable functions. We will use durable entities to implement and discuss virtual actors and durable saga pattern. We also cover topics such as monitoring and Dapr integration.
We will discuss the advantages of NoSQL databases and accompany you on your way from relational DB design to Cosmos DB NoSQL API and thereby introduce fundamentals of Domain Driven Design. We cover data modelling, performance optimization as well as access using SDK's and the Data Api Builder. We also cover topics such as change feed, event sourcing, materialized views and CQRS.
We teach the basics of message & event-driven applications, their transaction patterns, which we implement using saga pattern. As alternative to .NET Aspire we will connect the individual services using Distributed Application Runtime (Dapr) and cover topics such as service invocation, pub/sub messaging, secrets, configuration, Dapr Actors, Dapr and Function integration as well as distributed tracing and observability.
We publish and secure the app and its microservices with API management and cover topics like versioning, revisions, authentication and BFF pattern using GraphQL.
Last but not least, we will connect the micro frontends using Azure Event Grid and SignalR to create a real-time connected app.
Who should attend
Azure Developers & Software Architects
Course participants who want to successfully complete the labs should have acquired knowledge and experience of the knowledge taught in. Topics marked with RECAP are brief summaries of AZ-204 content as refreshers. DevSecOps relevant topics are covered in a separate course.
- Introduction to Cloud Native Applications & the Cloud Maturity Model
- Container Essentials & Configuration Management
- Developing & Publishing Microservices using Azure Container Apps (ACA)
- Stateful Microservices using Azure Functions
- NoSQL Data & Event storage using Cosmos DB
- Designing and Implementing Message based & Event Driven Apps
- Using Distributed Application Runtime - Dapr
- Optimizing and Securing Access using Api Management & Application Gateway
- Connecting Real Time Micro Frontends using Event Grid