The Well-Architected framework has been developed to help cloud architects build the most secure, high-performing, resilient, and efficient infrastructure possible for their applications. This framework provides a consistent approach for customers and partners to evaluate architectures, and provides guidance to help implement designs that will scale with your application needs over time.
The AWS Well-Architected Framework is based on five pillars—security, reliability, performance efficiency, cost optimization, and operational excellence.
|Security||The ability to protect information, systems, and assets while delivering business value through risk assessments and mitigation strategies.
The security pillar focuses on protecting information & systems. Key topics include confidentiality and integrity of data, identifying and managing who can do what with privilege management, protecting systems, and establishing controls to detect security events.
|Reliability||The ability of a system to recover from infrastructure or service failures, dynamically acquire computing resources to meet demand, and mitigate disruptions such as misconfigurations or transient network issues.
The reliability pillar focuses on the ability to prevent, and quickly recover from failures to meet business and customer demand. Key topics include foundational elements around setup, cross project requirements, recovery planning, and how we handle change.
|Performance Efficiency||The ability to use computing resources efficiently to meet system requirements, and to maintain that efficiency as demand changes and technologies evolve.
The performance efficiency pillar focuses on using IT and computing resources efficiently. Key topics include selecting the right resource types and sizes based on workload requirements, monitoring performance, and making informed decisions to maintain efficiency as business needs evolve.
|Cost Optimization||The ability to avoid or eliminate unneeded cost or suboptimal resources.
Cost Optimization focuses on avoiding un-needed costs. Key topics include understanding and controlling where money is being spent, selecting the most appropriate and right number of resource types, analyzing spend over time, and scaling to meet business needs without overspending.
|Operational Excellence||The ability to run and monitor systems to deliver business value and to continually improve supporting processes and procedures.
The operational excellence pillar focuses on running and monitoring systems to deliver business value, and continually improving processes and procedures. Key topics include managing and automating changes, responding to events, and defining standards to successfully manage daily operations.
These principles will be described in greater detail below.
Core Principles Edit
Elasticity and Scalability are two fundamental cloud architecture principles that guide the AWS Architecture.
Elasticity is the ability to use resources in a dynamic and efficient way so the traditional anti-pattern of over provisioning of infrastructure resources to cope with capacity requirements is avoided. Significantly, elasticity avoids the costs of these over provisioned resources such as power, space and maintenance. This is the AWS pay as you go/pay for what you use model.
Scalability is the ability to scale without changing the design. With AWS, scalability is achieved by scaling-out. Infrastructure and application components are designed with the premise that they will fail, instead of a just being designed around High Availability. The technology components are commodities that can be thrown out when they fail and grown by adding more when demanded. A guiding principle is to have a consistent approach to architecture and growth.
Areas that you need to gravitate towards to successfully leverage the AWS cloud.
- Autoscaling and Bootstrapping – Autoscaling allows you to automatically horizontally scale to accommodate load. Bootstrapping allows you automatically setup your servers after they boot. (Using components such as Amazon Machine Images (AMI’s) and CloudFormation to automate)
- Loosely Coupled
- Treat servers as disposable resources
- Automate Automate Automate
- Focus on services, not servers
- Database is the base of it all
- Be sure to remove single points of failure
- Optimize for cost
These principles help when architecting for the AWS cloud.