Harvest > Scalability Verification
Why
Products need to scale up as the user base grows. If not, the user expectance for existing users may continue to shrink. Thankfully, modern cloud vendors provide mechanisms to both scale-up and scale-out effortlessly. If the architecture is done properly, your product can remain small with a minimum cost footprint at the inception and pay as you go as the product gets bigger.
How
Consider the following when considering scalability verification:
- Ensure that your initial platform architecture had provisioned for scalability. Modern cloud vendors provide most requirements out of the box, but your architecture should have placed important components such as load balancers, decoupling patters, etc, in place from the beginning to support this.
- Define performance benchmarks. Re-look at performance benchmarks defined during the initial architecture and verify that a system can perform as expected.
- Explore scale-up mechanisms that could be done with minimum architectural changes. This is especially helpful if you had not considered scaling during the initial architecture.
- Scale-out methodologies could help ease a bigger throughput bottleneck. Ensure your load balancing mechanisms and fault tolerance mechanisms are robust to handle this.
- Consider automatic scaling up and also scaling down mechanisms to reduce spending. Verify that automatic scaling works as advertised before going prime time with this.
- Setup the performance metrics monitoring to gather data from all deployed resources.
- Interpret these matrices to ensure that the throughput KPIs are met and the limitations are communicated to the entire team.