Designing an application that can scale horizontally allows you to distribute application components, partition your data, and follow a services-oriented design strategy. This approach will help you better leverage the elasticity of the AWS cloud infrastructure. For example, you can choose the right sizes and number of EC2 instances, automatically and on demand, to meet your varying demands.