.NET Architecture & System Design Interview Question #197
How should you design a highly available .NET web application?
Deployment, Cloud Operations, SRE & Senior System Design Scenarios Senior Advanced
Quick Interview Answer
A highly available design removes avoidable single points of failure and runs multiple application instances behind health-aware traffic distribution. Application instances should usually be stateless or keep shared state in resilient external stores.
Detailed Explanation
A highly available design removes avoidable single points of failure and runs multiple application instances behind health-aware traffic distribution. Application instances should usually be stateless or keep shared state in resilient external stores.
The complete design must also address database availability, caching, messaging, DNS, secrets, observability, deployment, and dependency failures. Availability is an end-to-end property, not merely a count of web servers.
Code Example
Users
|
Load Balancer
/ | API1 API2 API3
\ | /
resilient dependencies
Health checks + failover + monitoring