So far, we have created only one EC2 instance for the web application MightyTrousers. As the popularity of the app increases, a single server can't handle the load properly anymore. We could scale vertically by increasing the instance size, but it would still leave us with a single server that handles all the critical traffic. In a cloud world, you should assume that absolutely every machine you have can be gone at any moment. You should be prepared for worst case scenarios: a distributed denial-of-service (DDoS) attack putting your cluster on its knees, an earthquake destroying the whole data center, an internal AWS outage, and many others.
Thus, not only as a way to scale the infrastructure, but also to make the application highly available, we should increase the number of instances we have. And it's not only about the number of them, but also the...