Skip to content
Pablo Rodriguez

Well Architected Principles

Applying AWS Well-Architected Framework Principles to Automation

Section titled “Applying AWS Well-Architected Framework Principles to Automation”

AWS Well-Architected Framework and Automation

Section titled “AWS Well-Architected Framework and Automation”

The AWS Well-Architected Framework has six pillars, each including best practices and questions to consider when architecting cloud solutions. This section highlights best practices most relevant to automation.

Operations as Code

Perform operations as code throughout your entire workload

Small Changes

Make frequent, small, reversible changes to improve troubleshooting

Full Automation

Fully automate integration and deployment processes

Perform operations as code: In the cloud, apply the same engineering discipline used for application code to your entire environment. Define your entire workload as code and update it with code. Script operations procedures and automate when they run by invoking them in response to events. “By performing operations as code, you limit human error and enable consistent responses to events.”

Make frequent, small, reversible changes: Design workloads to enable regular updates to components to increase the flow of beneficial changes. Making changes in small increments that can be reversed helps if changes aren’t beneficial or introduce errors. This results in more effective troubleshooting and faster remediation with rollback options.

Fully automate integration and deployment: Developers can use automation tools to deliver code and move code to production. Automation provides:

  • Full audit trail of changes and configurations
  • Meets governance and compliance needs
  • Standardized processes across teams
  • Increased developer productivity focusing on development
Security Pillar

The security pillar describes how to take advantage of cloud technologies to protect data, systems, and assets while improving security posture.

Automate security best practices: You can automate security at many different levels. Automated software-based security mechanisms improve your ability to securely scale more rapidly and cost-effectively.

This helps create secure architectures, including:

  • Implementation of controls defined and managed as code in version-controlled templates
  • Automated identification and classification to implement correct controls
  • Reduced risk of human error and exposure compared to direct human access

The reliability pillar encompasses the ability of a workload to perform its intended function correctly and consistently when expected, including operating and testing through its total lifecycle.

Making changes to production systems is one of the largest risk areas for many organizations. You need controlled changes to deploy new functionality and ensure workloads run properly patched software.

Automated Deployment

Deploy changes with automation to reduce human error risk

Automated Scaling

Use automation when obtaining or scaling resources

Deploy changes with automation: Changes to infrastructure should be done via automation where possible. Use automation wherever practical, such as:

  • Testing and deploying changes
  • Adding or removing capacity
  • Migrating data

Use automation when obtaining or scaling resources: When replacing impaired resources or scaling workloads, automate the process using:

  • Managed AWS services: Amazon S3, AWS Auto Scaling, CloudFront, Lambda, DynamoDB, AWS Fargate, Route 53
  • Third-party tools and AWS SDKs for automation scaling

CloudFormation enables implementing changes to templates that can be rolled out consistently to stacks, providing a way to manage change using automation.

Optimize Over Time - Automating Operations

Section titled “Optimize Over Time - Automating Operations”
Cost Optimization

Cost optimization is a continual process of refinement and improvement over a workload’s lifecycle. Build and operate cost-aware workloads that achieve business outcomes while minimizing costs.

Perform automation for operations: Automating operations reduces time and effort for admin tasks, deployment, and other operations. When considering automation, evaluate required time and cost for operations effort and reduce human effort where possible.

Benefits of Automation for Operations:

  • Fewer manual tasks improve efficiency
  • Consistent and reliable experience when deploying, administering, or operating workloads
  • Delivers better business outcomes for enterprises

Prioritization Approach:

  1. Start by prioritizing operations based on required effort
  2. Look at overall operations cost in the cloud
  3. Choose which AWS automations to implement and customize for specific requirements
  4. Free up infrastructure resources from manual operational tasks
  5. Use resources for higher value tasks and innovations, improving business outcomes

Cost Consideration: Look at total cost of human actions by factoring in cost of operations and management. Prioritize automations for administrative tasks to reduce human effort.

Automation Priority Areas:

  • Prioritize automating repetitive, high-value activities
  • Activities that pose higher risk of human error are typically better places to start automating
  • Risk often poses unwanted additional operational cost

Key Takeaways: Well-Architected Framework Principles

Section titled “Key Takeaways: Well-Architected Framework Principles”

Best practices related to automating your architecture include:

  • Perform operations as code
  • Make frequent, small, reversible changes
  • Fully automate integration and deployment
  • Automate security best practices
  • Deploy changes with automation
  • Use automation when obtaining or scaling resources
  • Perform automation for operations

The AWS Well-Architected Framework provides comprehensive guidance for implementing automation best practices across all six pillars. Automation supports operational excellence by treating infrastructure as code, enhances security through automated controls, improves reliability with consistent deployment processes, and optimizes costs by reducing manual operational overhead. These principles work together to create resilient, secure, and cost-effective automated architectures.