DEV Community

Yasir Rehman
Yasir Rehman

Posted on

Cloud Well Architecture Framework

The Well Architected Framework helps understand the pros and cons of decisions while building systems on the cloud. It is based on five pillars; operational excellence, security, reliability, performance efficiency, and cost optimization.

Operational excellence: The ability to run and monitor systems to deliver business value and to continually improve supporting processes and procedures.
Security: The ability to protect information, systems, and assets while delivering business value through risk assessments and mitigation strategies.
Reliability: The ability of a system to recover from infrastructure or service disruptions, dynamically acquire computing resources to meet demand, and mitigate disruptions such as misconfigurations or transient network issues.
Performance efficiency: The ability to use computing resources efficiently to meet system requirements, and to maintain that efficiency as demand changes and technologies evolve.
Cost optimization: The ability to avoid or eliminate unneeded costs or suboptimal resources.

It requires trade-offs between these pillars when architecting solutions based on business context and these decisions can drive engineering priorities.

In on-premises environments:
Generally, organizations had a central team to ensure they are following best practices. Such architecture teams are often composed of a set of roles such as infrastructure architect, software/solution architect, data architect, networking architect, and security architect. It is preferable to distribute capabilities into teams rather than having a centralized team with that capability.
There are risks in choosing distributed decision-making authority e.g. ensuring that teams are meeting internal standards.

The Well Architected Framework identifies a set of general design principles to facilitate good design in the cloud:

  • Eliminate guessing about infrastructure needs and use as much or as low capacity as needed and scale up and down automatically.

  • Create production scale test environments on demand, complete testing, and then decommission the resources.

  • Automate to make architectural experimentation easier.

  • Evolve system architectures as the capability to automate and test on-demand lowers the risk of impact from design changes.

  • Collect data on how architectural choices affect the behavior of workload and improve workload based on fact-based decisions.

Top comments (0)