One of the neat things about microservices is the ability to segment functional actions into scalability domains. Login, browsing, and checkout are separate functional domains that can each be scaled according to demand. While one hopes that checkout is similarly in demand, it is unlikely to be as popular as browsing, after all, and the days of wasting expensive money on idle compute resources went out when the clouds descended.
In that same vein comes the ability to also create performance domains. After all, if you’re scaling out a specific functional service domain you can also specify performance requirements for that domain – and do something about it. Whether it’s through caching or minification or TCP optimization techniques, you can improve the performance of a specific logical domain right along with its scale.