Monitoring Performance
Part of the overall architecting for performance approach is to monitor how your resources actually perform. The idea is to do it not just once at the beginning, when you lay out your solution design, but continuously, to monitor how your workload performs over time and detect any deviation.
First, identify the metrics that are important for you to monitor. For instance, say that you set up an e-commerce application; it is essential for you to know the transaction throughput and its variation over time, but also to spot any I/O bottlenecks, the evolution of the request latency, and so on. This obviously varies from workload to workload and depends on the performance criteria that your workload must meet. Once you have identified these metrics, make sure that you collect and record them. Leverage a monitoring tool to assist you in this task: either native services from AWS such as CloudWatch, or any other third-party tool you prefer.
Then, you could create...