AWS Well-Architected Framework
How do you know that application in the cloud is well-architected? And if you think so how to prove that? There is no simple answer. Each major cloud provider, like AWS, Microsoft, and Google, has its own guidelines for that, called Well-Architected Framework.
Well-Architected Framework is a set of key concepts, design principles, and architectural best practices for designing and running workloads in the cloud. Recommendations are optimized for particular provider and their services usage.
AWS was the first who introduced this practice, so I’ll explain the framework based on AWS sample.
AWS Well-Architected Framework is based on 6 pillars:
1. Operational Excellence. AWS defines the goal of operational excellence as an ability to get new features and bug fixes into customers’ hands quickly and reliably. It contains guidelines for automation, continuous delivery, observability, managed service usage.
2. Security. It's more or less standard set of security recommendations: implement required security controls, apply security at all layers, be prepare for security events, etc. On of the most interesting principles there is to keep people away from data. The idea is that if people don't need to get direct access to the data (everything is automated), then the risk of data breach decreases.
3. Reliability. It contains practices to keep system up and running: self-healing, redundancy, recovery procedures, autoscaling to fit increased workload, careful resource management. Most principles there I've already covered in Reliability blog post.
4. Performance. This pillar ensures that computing resources are used efficiently to meet system requirements. It includes experimenting with the hardware, choosing right storage infrastructure for the workload, using already tuned managed services.
5. Cost Effectiveness. It's defined as delivering business value at the lowest cost. Cloud financial management should be established: consumption model adoption, measuring resource usage efficiency, scaling resources down when they are not needed not to pay for them.
6. Sustainability. This pillar was added quite recently and it considers the importance of long-term impact of the business on the environment (I wrote about the trend in Renewable Energy Trend). AWS highlighted that environmental sustainability is a shared responsibility between customers and AWS.
To sum up, the Well-Architected Framework is a set of best practices and design principles for running applications on a specific cloud. However, keep in mind that cloud providers also want to sell more of their services, so it’s important to stay a bit skeptical about managed service recommendations and carefully check the efficiency and costs for your particular payload .
#architecture #engineering
Post #138
311