Operations as Code
Perform operations as code throughout your entire workload
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:
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:
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:
Use automation when obtaining or scaling resources: When replacing impaired resources or scaling workloads, automate the process using:
CloudFormation enables implementing changes to templates that can be rolled out consistently to stacks, providing a way to manage change using automation.
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:
Prioritization Approach:
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:
Best practices related to automating your architecture include:
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.