Modern Design Patterns for Scalability
In years past, determining how to handle the scalability of your application depended primarily on capacity planning and static resources hosted in a data center. With the rise in popularity of the cloud, more flexible options exist for managing the scalability of your application. That’s not to say that capacity planning is not needed – it is still an important part of system architecture design.
How you implement scalability options tends to be different in the cloud, though. Where static resources once were the mainstay, you can now leverage automated scaling options, depending on how you are hosting your application. Cloud services such as managed Kubernetes, app services, and managed storage can be individually tuned to provide minimal resource usage when not under heavy load and maximized resource usage when it’s needed most.
This chapter will focus on the key metrics to monitor for potential performance issues...