The AWS Well-Architected Tool, also known as the WA Tool, is a free-to-use service to review your workloads hosted in AWS. It is a cloud-based solution that presents a uniform approach to evaluating your architecture against the AWS Well-Architected Framework. By using the AWS Well-Architected Tool, you will receive valuable suggestions to enhance the security, cost-effectiveness, and efficiency of your workloads. It not only helps you identify opportunities for improvement but also to track progress over time. It’s a living database of your workloads’ current and future target state.
By documenting the decisions that you make (in the tool), you can ensure that future team members will have a good understanding of the technology decisions that were made to meet a specific business goal.
Having discussed the key components of AWS Well-Architected, let’s now dive into the details of the six pillars of the framework. Most importantly, we will be discussing some practical implementation scenarios, under each pillar, that can address common challenges faced by organizations when operating in the cloud.
Aligning your architecture with the six focus pillars of the framework
The AWS Well-Architected Framework categorizes all practices under six main pillars, which are Cost Optimization, Reliability, Operational Excellence, Performance Efficiency, Sustainability, and—mostimportantly—Security. Let’s start with Operational Excellence, which focuses on best practices for operating your workloads at scale and evolving them over time to ensure a great customer experience.
Operating your workloads with confidence
The Operational Excellence pillar aims to optimize the delivery cycle of new features and bug fixes in customer environments, in a reliable and repeatable manner. Developers can only focus on building new capabilities when they are not frequently pulled into operational issues that distract them. To ensure this, Operational Excellence promotes the idea of automating changes and responses to events, continuously monitoring running systems, and improving processes or procedures when necessary. In the initial chapters of this book, we discussed software delivery concepts such as Continuous Integration and Continuous Delivery (CI/CD), which are essential for achieving the operational excellence ofyour workloads in AWS. Let’s discuss some best practices that you can consider adopting in this area.
Best practices for efficiently operating workloads in the cloud
Irrespective of the business vertical or technical domain your application corresponds to, you can use these practices to enhance operations on AWS.
Releasing small and releasing early
Your infrastructure design should allow for frequent and incremental updates, enabling a steady stream of changes to be rolled out into your environment. Implementing changes in small, reversible steps allows for easy identification and resolution of any issues that may arise without causing major disruptions to the operations of your workloads.
Managing infrastructure as code
In the cloud, you should apply similar engineering principles to your entire infrastructure as you do to your application code. By representing your entire technology stack (applications, infrastructure, and so on) as code, you can easily update and manage it programmatically. Automation allows you to script operational procedures and trigger them in response to events, minimizing the chance of human errors while ensuring consistent responses to various situations.
Leveraging operational failures for learning and improvement
Embrace a culture of learning from all operational events and failures. If there’s anything that operational outages can help you with, it’s knowledge and experience. Use them as opportunities for improvements and knowledge sharing throughout the organization.