When one server is not enough
Sooner or later, a successful service runs into the limit of one node: there is not enough disk, CPU or bandwidth when the traffic grows. Then there are usually two big ideas: copying the same set of data across multiple machines (replication) or dividing the data into parts across different machines (sharding). These are different goals: reliability and scale of reading vs horizontal volume and parallelism of writing over parts of data.