In Chapter 4, Adding Continuous Integration and Continuous Deployment, in order to illustrate how deploying code works with CodeDeploy, we created a very rudimentary architecture to host our staging and production environments. Each of those environments was composed of only a single EC2 instance.
While this served us well to illustrate our CI/CD pipelines, this approach is of course not recommended when actually deploying an application in production. In this chapter, we will fix that design flow and also address most concerns an engineering organization could have with regard to scaling a typical web application.
We will look at scaling from the angle of performance, where an application gets an increasing amount of traffic, and also for redundancy purposes so that we can handle possible failures in our systems.
Scaling isn't necessarily a DevOps...