AWS Logo
Menu
Q-Bits: Improve Workload Resilience with Amazon Q Developer

Q-Bits: Improve Workload Resilience with Amazon Q Developer

Learn how to use the latest capabilities of Amazon Q Developer to assess the resiliency of a workload and make improvements.

Brent Everman
Amazon Employee
Published Apr 3, 2025
Welcome to another installment of Q-Bits, our regular series showcasing cool ways Amazon employees are leveraging Amazon Q Developer. Today, we will explore how Q Developer can help us to assess the resiliency of a workload and make improvements.

Introduction

According to the Reliability Pillar of the Well-Architected framework, resiliency is the ability of a workload to recover from infrastructure or service disruptions, dynamically acquire computing resources to meet demand, and mitigate disruptions, such as misconfigurations or transient network issues. I talk with many customers about approaches to improve the resiliency of critical workloads, as it is a key priority for them. I’ll show you how Q Developer can help accelerate this process.
Getting Started
For this demonstration, I installed the Amazon Q Developer CLI and deployed the Mythical Mysfits application from CodeCatalyst to my AWS account. I also configured my AWS credentials to use with the AWS CLI.

The Power of a Single Prompt

After initiating the Q Developer CLI via q chat, I provided the following simple prompt to Amazon Q Developer:
Assess the CloudFormation stack <stack-name> deployed in us-west-2 against the Well-Architected Framework Resiliability Pillar to identify any opportunities for improvement. Output a prioritized list of findings.

Generate Recommendations for Resiliency Improvements

Q Developer can make AWS CLI calls on my behalf to gain a better understanding of my workload and the various components and services involved in order to identify resiliency improvements.
Based on the stack resources and considering the Well-Architected Framework Reliability Pillar, here's a prioritized list of findings and recommendations:High Priority:
1. Auto Scaling Configuration
• Finding: No Auto Scaling configuration detected for the ECS Fargate service
• Impact: Limited ability to handle load variations and potential service disruptions
• Recommendation: Implement Application Auto Scaling with target tracking policies based on CPU and memory metrics2. Multi-AZ Deployment
• Finding: The Network Load Balancer configuration doesn't explicitly show multi-AZ deployment
• Impact: Potential single point of failure if running in a single AZ
• Recommendation: Configure the NLB and ECS service to span multiple AZs for high availability3. DynamoDB Resilience
• Finding: DynamoDB table lacks point-in-time recovery and global tables
• Impact: Limited disaster recovery capabilities and potential data loss
• Recommendation: Enable point-in-time recovery and consider global tables for cross-region resilience
As you can see above, Q Developer has identified several improvement opportunities, from enabling point-in-time-recovery (PITR) on DynamoDB to ensuring the ECS service is multi-AZ and has auto scaling in place.

Generate CloudFormation Template for Improvements

Instead of manually changing my CloudFormation template, I’ll ask Q Developer to make the changes for me. I’ve prompted Q Developer with:
Make the updates to the CloudFormation Template to include the High Priority findings
From the chat history, Q Developer has context into those High Priority findings and can generate a CloudFormation template to include these updates.
Q Developer CLI CloudFormation Changes
Q Developer CLI CloudFormation Changes

Best Practices

In this example, I’ve used the Well-Architected Framework Reliability Pillar as the basis for which Q Developer will assess the resiliency of my application against. For the best results, include any organizational requirements you may have within the prompt for the most accurate and meaningful recommendations.
Using Terraform instead of CloudFormation, not a problem! Amazon Q Developer can also understand Terraform templates and provide recommendations for those as well.

Conclusion

In this post, I have shown you an example of how to leverage Amazon Q Developer to assess the resiliency of your workload. With the new agentic features of the Amazon Q Developer CLI and the ability to make AWS calls on your behalf, this opens a new set of use cases where Amazon Q Developer can help accelerate your organization's key priorities, like improving resilience.
I encourage you to take some time to try out these features yourself on your own workloads. As we continue to explore the capabilities of Amazon Q Developer, it's clear that it's becoming an indispensable tool for developers, whether working on personal projects or professional tasks. Stay tuned for more Q-Bits, where we'll continue to showcase how Amazon Q Developer is revolutionizing development processes.
 

Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.

Comments