© 2026 Dometrain. All rights reserved.
Learn how to design systems on Azure, from routing requests and storing data to handling asynchronous work.
Building distributed systems on Azure is about much more than just provisioning resources; getting the architecture wrong is a fast track to bottlenecks, data exposure, and cascading failures. This course walks you through designing a complete cloud architecture, starting with compute selection and hosting your API on Azure App Service. From there, you will secure the edge and manage ingress using an API gateway with Azure API Management, layer-7 load balancing via Application Gateway, and global routing using Azure Front Door, a CDN, and a WAF. With the traffic routed, we move to the data layer, covering relational reads and writes with Azure SQL Database, keeping that data layer private, and scaling read performance using replicas and the cache-aside pattern with Azure Cache for Redis. You will also explore polyglot persistence, learning exactly when to reach for NoSQL with Azure Cosmos DB or object storage using Azure Blob Storage.
Once the synchronous request path is established, the course tackles the problems that arise when synchronous chains break. You will learn how to decouple workloads using a queue and a worker with Azure Service Bus and Azure Functions, including how to manage the async handoff, retries, and dead-letter queues. We then expand into event-driven pipelines, implementing publish-subscribe routing with Azure Event Grid and high-throughput streaming and fan-out with Event Hubs. To ensure the system is secure, you will delegate authentication to Entra External ID, manage secrets in Azure Key Vault, and implement strict public and private network segmentation to isolate your data layer. Finally, you will make the entire architecture observable and highly available by implementing metrics with Azure Monitor, distributed tracing with Application Insights, and redundancy across availability zones and multi-region deployments.