Summary
When your growth or the demand for your systems exceeds, or is projected to exceed, your current capacity – that’s a good issue to have. However, good growth can be as much of a threat to your system’s reliability as any other factor.
In this module, we looked at how to handle growth through scaling, and many of the considerations that come as a result. Here's a recap of what we covered:
- Scalability and reliability: Making your systems more scalable often makes them more reliable as a secondary benefit.
- Capacity planning: Map out current resource usage. Correlate it to business metrics and project for both organic and inorganic growth.
- Service limits and cost: Be aware of Azure service limits and quotas and work with your finance teams to forecast cloud spend.
- Code before scale: Find bugs, fix inefficient queries, and address configuration issues before scaling out.
- Application scalability techniques: Use virtual machine scale sets, decoupling with queues, in-memory caching, and database sharding to make applications more scalable.
- Going global: Use Azure Front Door and Azure Traffic Manager to scale applications across regions, and understand the trade-offs of different data consistency models.
To learn more, visit the Azure Architecture Center for scalability recommendations and architectural guidance.