To build a scalable system, we have to follow the principle of Service Oriented Architecture (SOA). The modern word for this is Microservices architecture. Behind a scalable system there are loosely coupled components.
Once we build components that are loosely coupled i.e. there is less dependency between them. If one component fails or performs slow, still the other components keep working as if there is no failure. In such a system, it is very easy to build horizontal scaling. We can add multiple servers for components that are heavily used based on the load.
We can also add asynchronous communication between components to make the system scalable. This reduces the probability of single point of failure.
With loosely coupled components, it is easier to use scalability options present in AWS cloud.Read the full book at www.amazon.com