Horizontal scaling is splitting the load between different servers.
▪ Simply adds more instances of machines without changing to existing
specifications.
▪ Share the processing power and load balancing across multiple
machines.
▪ Horizontal scaling means adding more machines to the resource pool.
▪ Scaling horizontally gives you scalability but also reliability.
▪ Preferred way to scale in distributed architectures.
▪ When splitting into multiple servers, we need to consider if you have a
state or not.
▪ if we have a state like database servers, than we need to manage more
considerations like CAP theorem.
https://www.section.io/blog/scaling-horizontally-vs-vertically/