Skip to main content

Command Palette

Search for a command to run...

AWS: Well-Architected Framework

The AWS Well-Architected Framework helps us to understand the pros and cons of decisions we make while building systems on AWS.

Published
5 min read
AWS: Well-Architected Framework

What is

The AWS Well-Architected Framework helps us to understand the pros and cons of decisions we make while building systems on AWS.
AWS has created the AWS Well-Architected Framework, which provides a consistent set of best practices for us to evaluate architecture and provides a set of questions we can use to evaluate how well an architecture is aligned to AWS best practices.

The AWS Well-Architected Framework is based on six pillars.

  • Operational excellence: The ability to support development and run workloads effectively.

  • Security: Describe how to take advantage of cloud technologies to protect data, systems, and assets in a way that can improve security posture.

  • Reliability: The ability of a workload to perform its intended function correctly and consistently when it's expected to. This includes the ability to operate and test the workload through its total lifecycle.

  • Performance efficiency: The ability to use computing resources to meet system requirements and to maintain that efficiency as demand and technology evolve.

  • Cost optimization: The ability to run systems to deliver business value at the lowest price point.

  • Sustainability: The ability to continually improve sustainability impact by reducing energy consumption and increasing efficiency across all components of a workload by maximizing the benefits from the provisioned resources and minimizing the total resources required.

General Design Principles The Well-Architecture Framework identifies a set of general design principles to facilitate a good design in the cloud:

  • Stop guessing capacity needs: Poor capacity design when deploying a workload might end up on expensive idle resources or deal with the performance implications of limited capacity.

  • Test systems at production scale: In the cloud, we can create a production-scale test environment on demand, complete our testing, and then decommission the resources.

  • Automate with architectural experimentation in mind: Automation permits us to create and replicate our workload at low cost and avoid the expense of manual effort. We can track changes to our automation, audit the impact, and revert to previous parameters when necessary.

  • Consider evolutionary architectures: In a traditional environment, architectural decisions are often implemented as static, onetime events, with a few major versions of a system during its lifetime. As a business and its context continue to evolve, these initial decisions might hinder the system's ability to deliver change by changing business requirements. In the cloud, the capability to automate and test on demand lowers the risk of impact design changes. This permits systems to evolve over time so that businesses can take advantage of innovations as a standard practice.

  • Drive architecture using data: In the cloud, we can collect data on how your architectural choices affect the behavior of our workload. This lets us make fact-based decisions on how to improve our workload.

  • Improve through game days: Test how our architecture and process perform by regularly scheduling game days to simulate events in production. This will help us understand where improvements can be made and can help develop organizational experience in dealing with events.

The Pillars of the framework

Creating a software system is a lot like constructing a building. If the foundation is not solid, structural problems can undermine the integrity and functions of the building.

Incorporating these pillars into our architecture will help us to produce stable and efficient systems.

Pillars:

  • Operational excellence

  • Security

  • Reliability

  • Performance efficiency

  • Cost optimization

  • Sustainability

Operational Excellence

This contains best practice for organizing team, designing workload, operating it at scale, and evolving it over time

Design principles

  • Organizing teams around business outcomes

  • Implement observability for actionable insight

  • Safely automate where possible

  • Make frequent, small, reversible changes

  • Refine operations procedures frequently

  • Anticipate failure

  • Learn from all operational events and metrics

  • Use managed services

    Learn more

Security

This pillar encompasses the ability to protect data, systems, and assets to take advantage of cloud technologies to improve our security.

Design principles

  • Implement a strong identity foundation

  • Maintain traceability

  • Apply security at all layers

  • Automate security best practice

  • Protect data in transit and at rest

  • Keep people away from data

  • Prepare for security events

    Learn more

Reliability

This pillar encompasses the ability of a workload to perform its intended function correctly and consistently when it's expected to. This includes the ability to operate and test the workload through its total lifecycle.

Design principles

  • Automatically recover from failure

  • Test recovery procedures

  • Scale horizontally to increase aggregate workload availability

  • Stop guessing capacity

  • Manage change through automation

    Learn more

Performance Efficiency

This pillar includes the ability to use cloud resources efficiently to meet performance requirements and to maintain the efficiency as demand changes and technology evolves.

Design principles

  • Democratize advance technologies

  • Go global in minutes

  • Use serverless architecture

  • Experiment more often

  • Consider mechanical sympathy

    Learn more

Cost Optimization

This pillar includes the ability to run systems to deliver business value at the lowest price point.

Design principles

  • Implement Cloud Financial Management

  • Adopt a consumption model

  • Measure overall efficiency

  • Stop spending money on undifferentiated heavy lifting

  • Analyze and attribute expenditure

    Learn more

Sustainability

This pillar focuses on environmental impacts, especially energy consumption and efficiency, since they are important levers for architects to inform direct action to reduce resource usage

Design principles

  • Understand your impact

  • Establish sustainability goals

  • Maximize utilization

  • Anticipate and adopt new, more efficient hardware and software offerings

  • Use managed services

  • Reduce the downstream impact of your cloud workloads

    Learn more

Conclusion

This framework provides architectural best practices across the six pillars for designing and operating reliable, secure, efficient, cost-effective, and sustainable systems in the cloud.

AWS

Part 1 of 1

Journey to Learn Amazon Web Services