Beyond “Cloud is Awesome”“Isn’t cloud awesome?” Of course it is. Just ask any cloud vendor. They said it was awesome last year, and two years before that. The point is not to roll your eyes at IT vendor hyperbole (that’s what The Register does). Cloud architecture has exactly one job: closing the gap between what a business needs and what it gets – with reliable, cost-effective, secure and high-performance infrastructure and applications. When change is the only constant, that gap demands continuous attention. Well-Architected does this exceptionally well. It helps business leaders and technology leaders work together, to choose their architectural options strategically, and build effective applications that can be changed as business requirements change. Change is the natural state of business requirements. Contrast this with the way IT used to work. Vendors shipped hardware and software; customers bought it, or rented it in hosting environments. Sometimes the business got the requirements wrong, and sometimes the vendors did (usually in combination). AWS and the model of cloud services have changed this forever. Now, requirements change constantly (AWS alone introduced about 2000 product features in 2018, at a rate of about five every day). Which ones matter? That’s hard to keep up with. Well-Architected leads you to ask how effectively architectural choices meet business requirements, and how much it is worth to meet them more effectively. It puts you in a position to judge, by delivering a well-organized set of recommendations for you to choose from to maximize cloud business value. That is even more useful than awesome.
5 Pillars, 34 Design Principles, ~46 best practices areas, 256 Assessment CriteriaWell-Architected is based on five pillars, which together comprise five distinct foundations of really having your cloud act together, highly aligned with your business objectives: Operational Excellence, Security, Reliability, Performance Efficiency, and Cost Optimization:
- Operational excellence: Running and monitoring the systems in order to deliver business value, with continuous improvement of supporting processes and procedures.
- Security: Protecting the information, system and other assets while delivering business value via risk management audits and mitigation strategies.
- Performance efficiency: Use resources efficiently in order to meet business requirements, and to maintain that efficiency as demand changes and technologies evolve
- Reliability: Recover from infrastructure or service fails, dynamically acquire required resources to meet business demands.
- Cost optimization: Run a well-architected system that meets all business expectations at the lowest price, track and analyze expenditure trends, and manage them correctly over time
- Stop guessing your capacity needs. Eliminate guessing about your infrastructure capacity needs. When you make a capacity decision before you deploy a system, use as much or as little capacity as you need, and scale up and down automatically.
- Test systems at production scale. Create a production-scale test environment on demand, complete your testing, and then decommission the resources.
- Automate to make architectural experimentation easier. Create and replicate your systems at low cost and avoid the expense of manual eﬀort. Track changes to your automation, audit the impact and revert to previous parameters when necessary.
- Allow for evolutionary architectures. As a business and its context continue to change, initial architectural decisions can hinder delivering on changing business requirements. Evolve over time so that businesses can take advantage of innovations as a standard practice.
- Drive architectures using data. Collect data on how your architectural choices aﬀect the behavior of your workload. Make fact-based decisions on how to improve your workload. When cloud infrastructure is code, use that data to inform your architecture choices and improvements over time.
- Improve through game days. Test how your architecture and processes perform by regularly scheduling game days to simulate events in production. Understand where improvements can be made and can help develop organizational experience in dealing with events.