For the first step, we need to design the deployment architecture. You can architect AWS in several different ways to meet your business requirements. The deployment architecture presented here takes into consideration security practices, and is specifically designed for scalability and high availability. In addition, it is an extension to the one presented for HA in Chapter 5, Designing for and Implementing High Availability.
Let's re-examine the choices we made for the selection and configuration of AWS resources. The choices for regions, availability zones, ELB, ASG, RDS, and S3 have already been covered in chapters 3 to 5. All the AWS resources needed for production setup have been discussed previously.
The following diagram represents the deployment architecture for our sample application: