Summary

Completed

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.