You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
The Performance Efficiency pillar of the Azure Well-Architected Framework focuses on ensuring your workload can scale to meet demand and use resources efficiently. It is about matching your system's capacity to the load it serves — not too much, not too little.
Prefer horizontal scaling (adding more instances) over vertical scaling (using a larger instance). Horizontal scaling provides better fault tolerance and can scale to virtually unlimited capacity. Vertical scaling has physical limits and creates a single point of failure.
Azure managed services (App Service, Azure SQL, Cosmos DB) handle scaling, patching, and optimisation for you. They allow your team to focus on application logic rather than infrastructure tuning.
Performance requirements evolve as your workload grows. Design your architecture so that you can adjust and optimise without major re-architecture. Use loosely coupled, modular components that can be independently scaled and replaced.
Establish performance baselines and continuously measure against them. Without measurements, you are guessing. Use load testing, performance monitoring, and capacity planning to make data-driven decisions.
Add more instances to handle increased load:
| Azure Service | Scaling Mechanism |
|---|---|
| Virtual Machine Scale Sets | Auto-scale based on CPU, memory, or custom metrics |
| App Service | Auto-scale rules in the App Service plan |
| Azure Functions | Automatic scaling (Consumption and Premium plans) |
| Azure Kubernetes Service | Horizontal Pod Autoscaler (HPA) and Cluster Autoscaler |
| Cosmos DB | Autoscale throughput (RU/s) |
Increase the size of a single instance:
Vertical scaling is simpler but has limits and may cause downtime during the resize. Use it when horizontal scaling is not feasible (e.g., single-instance databases).
Caching reduces latency and backend load by serving frequently accessed data from a fast, in-memory store.
Azure Cache for Redis is a fully managed, in-memory data store:
| Use Case | Description |
|---|---|
| Data cache | Cache database query results to reduce database load |
| Session store | Store user session data for web applications |
| Message broker | Use Redis pub/sub for real-time messaging |
| Rate limiter | Track request counts per user or IP |
| Leaderboard | Use Redis sorted sets for ranked data |
Azure CDN caches static content (images, CSS, JavaScript) at edge locations close to users worldwide:
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.