Reliability Improvement Plan
Step 1: Gather context
Ask the user:
What workload would you like me to assess for reliability? Please share:
- Workload name and code packages/directories to analyze
- Availability target (99.9%, 99.95%, 99.99%, etc.)
- Recovery objectives (RTO and RPO if defined)
- Past incidents (optional — recent outages or near-misses)
If context is already provided or you are in a codebase with IaC, proceed directly.
Step 2: Fault Tolerance Discovery
Analyze infrastructure for single points of failure.
You MUST examine:
- Compute deployments (AZ distribution, instance count, ASG configs)
- Database configurations (Multi-AZ, read replicas, cluster topology)
- Cache configurations (cluster mode, replica counts, failover)
- Load balancer configurations (cross-zone, health checks, target groups)
- NAT Gateway placement (single vs per-AZ)
- DNS configurations (Route 53 health checks, failover routing)
- Queue and messaging configs (DLQ, redrive policies)
- Storage redundancy (S3 replication, EBS snapshots, EFS)
For each component, document:
- File path and line numbers
- Current redundancy level (single-AZ, multi-AZ, multi-region)
- Failure blast radius
- Failover mechanism (automatic, manual, none)
You MUST flag as HIGH RISK:
- Single-AZ database deployments for production workloads
- Compute without auto-scaling (fixed instance count)
- No health checks on load-balanced targets
- Single NAT Gateway serving multiple AZs
- Stateful services without replication
- Missing DLQ on async invocations (Lambda, SQS, EventBridge)
- No circuit breaker or timeout on external service calls
Step 3: Recovery Capability Discovery
Analyze backup and recovery configurations.
You MUST examine:
- AWS Backup plans and rules
- RDS automated backup settings (retention, PITR)
- S3 versioning and replication rules
- DynamoDB PITR and backup settings
- EBS snapshot configurations
- Cross-region replication rules
- Disaster recovery configurations (pilot light, warm standby resources)
For each stateful resource, document:
- Backup frequency and retention
- Recovery point capability (RPO)
- Recovery time estimate (RTO)
- Whether recovery has been tested (look for DR runbooks, FIS experiments)
You MUST flag as HIGH RISK:
- Stateful resources with no backup configuration
- Backup retention < 7 days for production data
- No cross-region backup for critical data
- No evidence of recovery testing (no FIS experiments, no DR runbooks)
Step 4: Scaling and Capacity Discovery
Analyze scaling and capacity configurations.
You MUST examine:
- Auto Scaling Group configurations (min, max, desired, scaling policies)
- ECS service scaling (target tracking, step scaling)
- Lambda concurrency settings (reserved, provisioned)
- DynamoDB capacity mode (on-demand vs provisioned, auto-scaling)
- SQS/Kinesis throughput configurations
- API Gateway throttling settings
- Service quota usage and alarms
You MUST flag as HIGH RISK:
- Compute without auto-scaling policies
- ASG with min = max (no scaling headroom)
- No service quota alarms
- Lambda without reserved concurrency on critical functions
- No load shedding or throttling for overload scenarios
Step 5: Resilience Pattern Discovery
Analyze application code for resilience patterns.
You MUST examine:
- Retry configurations (SDK clients, custom retry logic)
- Timeout settings (HTTP clients, database connections, Lambda timeout)
- Circuit breaker implementations
- Fallback logic and graceful degradation patterns
- Idempotency handling (idempotency keys, deduplication)
- Health check endpoint implementations
- Connection pooling configurations
For each external integration, document:
- Timeout configured (or missing)
- Retry policy (exponential backoff, max attempts, jitter)
- Circuit breaker (present or absent)
- Fallback behavior on failure
You MUST flag as HIGH RISK:
- External service calls without timeouts
- No retry logic on SDK clients
- Missing idempotency on event-driven processing
- Health checks that don't verify actual functionality (shallow checks)
- Lambda timeout ≥ API Gateway timeout (will always timeout to caller)
Step 6: Change Management Discovery
Analyze deployment safety configurations.
You MUST examine:
- Deployment strategies (canary, blue/green, rolling, all-at-once)
- Health check gating on deployments
- Automated rollback configurations (alarm-based)
- Database migration strategies (backward-compatible, blue/green schema)
- Feature flag usage
You MUST flag as HIGH RISK:
- All-at-once deployment to production
- No automated rollback on health check failure
- Database migrations that aren't backward-compatible
- No pre-production environment that mirrors production topology
---STOP---
Checkpoint: Discovery complete — present findings before evaluation.
Here is what I discovered about your workload's reliability:
- Architecture: {summary of components and dependencies}
- Single points of failure: {count identified so far}
- Recovery capabilities: {summary of backup/DR status}
Shall I proceed with the full reliability evaluation, or would you like to adjust scope?
Do NOT proceed past this point until the user explicitly confirms.
Step 7: Evaluate against WA Framework questions
For each question, provide: Status, Evidence (file:line), Gaps, Risk.
REL 1 — How do you manage service quotas and constraints?
- Evidence: quota alarms, SDK retry configs, throttling handling code
REL 2 — How do you plan your network topology?
- Evidence: subnet definitions, AZ distribution, NAT redundancy
REL 3 — How does your system adapt to changes in demand?
- Evidence: ASG configs, scaling policies, Lambda concurrency, DynamoDB capacity mode
REL 4 — How do you design interactions in a distributed system to prevent failures?
- Evidence: retry logic, timeout configs, SQS decoupling, idempotency tokens
REL 5 — How do you design interactions to mitigate or withstand failures?
- Evidence: circuit breaker code, fallback paths, bulkhead patterns, load shedding
REL 6 — How do you monitor workload resources?
- Evidence: health check endpoints, alarm definitions, composite alarms, dashboard configs
REL 7 — How do you design your workload to adapt to changes in demand?
- Evidence: scaling policy metrics, scheduled scaling, predictive scaling configs
REL 8 — How do you implement change?
- Evidence: deployment configs, health check gating, rollback trigger alarms
REL 9 — How do you back up data?
- Evidence: AWS Backup plans, PITR settings, replication rules, snapshot configs
REL 10 — How do you use fault isolation to protect your workload?
- Evidence: AZ distribution, cell-based patterns, shuffle sharding, isolation boundaries
REL 11 — How do you design your workload to withstand component failures?
- Evidence: multi-AZ configs, failover policies, stateless design, health-based routing
REL 12 — How do you test reliability?
- Evidence: FIS experiments, failure injection code, game day runbooks, DR test scripts
REL 13 — How do you plan for disaster recovery (DR)?
- Evidence: cross-region resources, DR automation, backup restore procedures, RTO/RPO docs
Step 8: Risk Assessment
For each finding, assess using Impact × Likelihood:
Impact: Minor (brief degradation, automatic recovery) | Moderate (extended outage for subset of users, manual intervention needed) | Severe (full outage, data loss, cannot recover within RTO)
Likelihood: Low (requires multiple simultaneous failures) | Medium (single component failure could trigger) | High (normal operational event could trigger, no redundancy)
| Impact |
Likelihood |
Risk Level |
| Severe |
High |
Critical |
| Severe |
Medium |
High |
| Severe |
Low |
High |
| Moderate |
High |
High |
| Moderate |
Medium |
Medium |
| Moderate |
Low |
Medium |
| Minor |
High |
Medium |
| Minor |
Medium |
Low |
| Minor |
Low |
Low |
---STOP---
Checkpoint: Assessment complete — confirm findings before generating remediation plan.
Assessment summary:
- Critical findings: {count}
- High findings: {count}
- Medium/Low findings: {count}
Shall I produce the full remediation plan, or would you like to discuss specific findings first?
Do NOT proceed past this point until the user explicitly confirms.
Step 9: Produce the plan
# Reliability Improvement Plan: {Workload Name}
## Executive Summary
- **Date**: {date}
- **Availability Target**: {target}
- **Packages Analyzed**: {list}
- **Findings**: {X} Critical, {Y} High, {Z} Medium, {W} Low
- **Overall Reliability Maturity**: {1-5} — {one-line justification}
## Reliability Scorecard
| Domain | Score (1-5) | Key Strength | Key Gap |
|--------|-------------|--------------|---------|
| Fault Tolerance | {score} | {strength} | {gap} |
| Recovery & Backup | {score} | {strength} | {gap} |
| Scaling & Capacity | {score} | {strength} | {gap} |
| Resilience Patterns | {score} | {strength} | {gap} |
| Change Management | {score} | {strength} | {gap} |
| Testing & Validation | {score} | {strength} | {gap} |
## Single Points of Failure
| Component | Evidence | Failure Impact | Current Mitigation | Risk Level |
|-----------|----------|---------------|-------------------|------------|
| {component} | {file:line} | {impact} | {mitigation or "None"} | {Critical/High/Medium/Low} |
## Critical and High Risk Findings
{For each: ID, domain, title, description, evidence (file:line), impact assessment, recommendation, effort, AWS services}
## Medium and Low Risk Findings
{Condensed format}
## Prioritized Remediation Plan
### Quick Wins (< 1 week)
| Finding | Action | Impact | Effort |
|---------|--------|--------|--------|
{Enable Multi-AZ, add health checks, configure DLQs, add timeouts}
### Foundation (1-4 weeks)
| Finding | Action | Impact | Effort | Dependencies |
|---------|--------|--------|--------|--------------|
{Auto-scaling, circuit breakers, backup configs, deployment safety}
### Strategic (1-3 months)
| Finding | Action | Impact | Effort | Dependencies |
|---------|--------|--------|--------|--------------|
{Multi-region DR, chaos engineering, cell-based architecture}
## Testing Plan
| Test | Validates | Frequency | AWS Service | Evidence Exists |
|------|-----------|-----------|-------------|-----------------|
| AZ failover | Compute survives AZ loss | Monthly | FIS | {Yes/No} |
| Database failover | RDS failover < 60s | Quarterly | FIS | {Yes/No} |
| Load test | Handles 2x peak | Before releases | Load Testing | {Yes/No} |
| Backup restore | RPO met, data recoverable | Monthly | AWS Backup | {Yes/No} |
| Deployment rollback | Bad deploy reverted < 5 min | Every deploy | CodeDeploy | {Yes/No} |
## Next Steps
{Top 5 concrete reliability actions the team should take this week}
Step 10: Offer follow-up
After delivering the plan, offer:
Would you like me to:
- Design multi-AZ architecture for a specific component?
- Generate FIS experiment templates for chaos engineering?
- Implement circuit breaker patterns for service dependencies?
- Create backup and DR IaC for stateful resources?
- Design a deployment safety configuration with automated rollback?
Calibration Guidance
- A workload with Multi-AZ, auto-scaling, health checks, automated rollback, and backups is MATURE — focus on advanced testing (chaos engineering, DR drills, game days)
- Every finding MUST have code evidence — don't flag "missing Multi-AZ" without checking the IaC
- For data pipelines: prioritize data durability over compute availability — message loss is worse than processing delay
- Match expectations to availability target: 99.9% doesn't require multi-region, 99.99% does
- "Cannot Determine" is valid for operational aspects not visible in code (e.g., whether DR drills are actually run)
- Acknowledge existing reliability patterns prominently before listing gaps
1---2name: reliability-improvement-plan3description: Identify single points of failure, assess recovery capabilities, and produce a prioritized remediation plan by analyzing IaC, scaling configs, and resilience patterns in the codebase.4---56# Reliability Improvement Plan78## Step 1: Gather context910Ask the user:1112> What workload would you like me to assess for reliability? Please share:13> - **Workload name** and code packages/directories to analyze14> - **Availability target** (99.9%, 99.95%, 99.99%, etc.)15> - **Recovery objectives** (RTO and RPO if defined)16> - **Past incidents** (optional — recent outages or near-misses)1718If context is already provided or you are in a codebase with IaC, proceed directly.1920## Step 2: Fault Tolerance Discovery2122Analyze infrastructure for single points of failure.2324You MUST examine:25- Compute deployments (AZ distribution, instance count, ASG configs)26- Database configurations (Multi-AZ, read replicas, cluster topology)27- Cache configurations (cluster mode, replica counts, failover)28- Load balancer configurations (cross-zone, health checks, target groups)29- NAT Gateway placement (single vs per-AZ)30- DNS configurations (Route 53 health checks, failover routing)31- Queue and messaging configs (DLQ, redrive policies)32- Storage redundancy (S3 replication, EBS snapshots, EFS)3334For each component, document:35- File path and line numbers36- Current redundancy level (single-AZ, multi-AZ, multi-region)37- Failure blast radius38- Failover mechanism (automatic, manual, none)3940You MUST flag as HIGH RISK:41- Single-AZ database deployments for production workloads42- Compute without auto-scaling (fixed instance count)43- No health checks on load-balanced targets44- Single NAT Gateway serving multiple AZs45- Stateful services without replication46- Missing DLQ on async invocations (Lambda, SQS, EventBridge)47- No circuit breaker or timeout on external service calls4849## Step 3: Recovery Capability Discovery5051Analyze backup and recovery configurations.5253You MUST examine:54- AWS Backup plans and rules55- RDS automated backup settings (retention, PITR)56- S3 versioning and replication rules57- DynamoDB PITR and backup settings58- EBS snapshot configurations59- Cross-region replication rules60- Disaster recovery configurations (pilot light, warm standby resources)6162For each stateful resource, document:63- Backup frequency and retention64- Recovery point capability (RPO)65- Recovery time estimate (RTO)66- Whether recovery has been tested (look for DR runbooks, FIS experiments)6768You MUST flag as HIGH RISK:69- Stateful resources with no backup configuration70- Backup retention < 7 days for production data71- No cross-region backup for critical data72- No evidence of recovery testing (no FIS experiments, no DR runbooks)7374## Step 4: Scaling and Capacity Discovery7576Analyze scaling and capacity configurations.7778You MUST examine:79- Auto Scaling Group configurations (min, max, desired, scaling policies)80- ECS service scaling (target tracking, step scaling)81- Lambda concurrency settings (reserved, provisioned)82- DynamoDB capacity mode (on-demand vs provisioned, auto-scaling)83- SQS/Kinesis throughput configurations84- API Gateway throttling settings85- Service quota usage and alarms8687You MUST flag as HIGH RISK:88- Compute without auto-scaling policies89- ASG with min = max (no scaling headroom)90- No service quota alarms91- Lambda without reserved concurrency on critical functions92- No load shedding or throttling for overload scenarios9394## Step 5: Resilience Pattern Discovery9596Analyze application code for resilience patterns.9798You MUST examine:99- Retry configurations (SDK clients, custom retry logic)100- Timeout settings (HTTP clients, database connections, Lambda timeout)101- Circuit breaker implementations102- Fallback logic and graceful degradation patterns103- Idempotency handling (idempotency keys, deduplication)104- Health check endpoint implementations105- Connection pooling configurations106107For each external integration, document:108- Timeout configured (or missing)109- Retry policy (exponential backoff, max attempts, jitter)110- Circuit breaker (present or absent)111- Fallback behavior on failure112113You MUST flag as HIGH RISK:114- External service calls without timeouts115- No retry logic on SDK clients116- Missing idempotency on event-driven processing117- Health checks that don't verify actual functionality (shallow checks)118- Lambda timeout ≥ API Gateway timeout (will always timeout to caller)119120## Step 6: Change Management Discovery121122Analyze deployment safety configurations.123124You MUST examine:125- Deployment strategies (canary, blue/green, rolling, all-at-once)126- Health check gating on deployments127- Automated rollback configurations (alarm-based)128- Database migration strategies (backward-compatible, blue/green schema)129- Feature flag usage130131You MUST flag as HIGH RISK:132- All-at-once deployment to production133- No automated rollback on health check failure134- Database migrations that aren't backward-compatible135- No pre-production environment that mirrors production topology136137---STOP---138**Checkpoint**: Discovery complete — present findings before evaluation.139140> Here is what I discovered about your workload's reliability:141> - **Architecture**: {summary of components and dependencies}142> - **Single points of failure**: {count identified so far}143> - **Recovery capabilities**: {summary of backup/DR status}144>145> **Shall I proceed with the full reliability evaluation, or would you like to adjust scope?**146147Do NOT proceed past this point until the user explicitly confirms.148---149150## Step 7: Evaluate against WA Framework questions151152For each question, provide: **Status**, **Evidence** (file:line), **Gaps**, **Risk**.153154### REL 1 — How do you manage service quotas and constraints?155- Evidence: quota alarms, SDK retry configs, throttling handling code156157### REL 2 — How do you plan your network topology?158- Evidence: subnet definitions, AZ distribution, NAT redundancy159160### REL 3 — How does your system adapt to changes in demand?161- Evidence: ASG configs, scaling policies, Lambda concurrency, DynamoDB capacity mode162163### REL 4 — How do you design interactions in a distributed system to prevent failures?164- Evidence: retry logic, timeout configs, SQS decoupling, idempotency tokens165166### REL 5 — How do you design interactions to mitigate or withstand failures?167- Evidence: circuit breaker code, fallback paths, bulkhead patterns, load shedding168169### REL 6 — How do you monitor workload resources?170- Evidence: health check endpoints, alarm definitions, composite alarms, dashboard configs171172### REL 7 — How do you design your workload to adapt to changes in demand?173- Evidence: scaling policy metrics, scheduled scaling, predictive scaling configs174175### REL 8 — How do you implement change?176- Evidence: deployment configs, health check gating, rollback trigger alarms177178### REL 9 — How do you back up data?179- Evidence: AWS Backup plans, PITR settings, replication rules, snapshot configs180181### REL 10 — How do you use fault isolation to protect your workload?182- Evidence: AZ distribution, cell-based patterns, shuffle sharding, isolation boundaries183184### REL 11 — How do you design your workload to withstand component failures?185- Evidence: multi-AZ configs, failover policies, stateless design, health-based routing186187### REL 12 — How do you test reliability?188- Evidence: FIS experiments, failure injection code, game day runbooks, DR test scripts189190### REL 13 — How do you plan for disaster recovery (DR)?191- Evidence: cross-region resources, DR automation, backup restore procedures, RTO/RPO docs192193## Step 8: Risk Assessment194195For each finding, assess using Impact × Likelihood:196197**Impact**: Minor (brief degradation, automatic recovery) | Moderate (extended outage for subset of users, manual intervention needed) | Severe (full outage, data loss, cannot recover within RTO)198199**Likelihood**: Low (requires multiple simultaneous failures) | Medium (single component failure could trigger) | High (normal operational event could trigger, no redundancy)200201| Impact | Likelihood | Risk Level |202|----------|------------|------------|203| Severe | High | Critical |204| Severe | Medium | High |205| Severe | Low | High |206| Moderate | High | High |207| Moderate | Medium | Medium |208| Moderate | Low | Medium |209| Minor | High | Medium |210| Minor | Medium | Low |211| Minor | Low | Low |212213---STOP---214**Checkpoint**: Assessment complete — confirm findings before generating remediation plan.215216> Assessment summary:217> - **Critical findings**: {count}218> - **High findings**: {count}219> - **Medium/Low findings**: {count}220>221> **Shall I produce the full remediation plan, or would you like to discuss specific findings first?**222223Do NOT proceed past this point until the user explicitly confirms.224---225226## Step 9: Produce the plan227228```markdown229# Reliability Improvement Plan: {Workload Name}230231## Executive Summary232- **Date**: {date}233- **Availability Target**: {target}234- **Packages Analyzed**: {list}235- **Findings**: {X} Critical, {Y} High, {Z} Medium, {W} Low236- **Overall Reliability Maturity**: {1-5} — {one-line justification}237238## Reliability Scorecard239| Domain | Score (1-5) | Key Strength | Key Gap |240|--------|-------------|--------------|---------|241| Fault Tolerance | {score} | {strength} | {gap} |242| Recovery & Backup | {score} | {strength} | {gap} |243| Scaling & Capacity | {score} | {strength} | {gap} |244| Resilience Patterns | {score} | {strength} | {gap} |245| Change Management | {score} | {strength} | {gap} |246| Testing & Validation | {score} | {strength} | {gap} |247248## Single Points of Failure249| Component | Evidence | Failure Impact | Current Mitigation | Risk Level |250|-----------|----------|---------------|-------------------|------------|251| {component} | {file:line} | {impact} | {mitigation or "None"} | {Critical/High/Medium/Low} |252253## Critical and High Risk Findings254{For each: ID, domain, title, description, evidence (file:line), impact assessment, recommendation, effort, AWS services}255256## Medium and Low Risk Findings257{Condensed format}258259## Prioritized Remediation Plan260261### Quick Wins (< 1 week)262| Finding | Action | Impact | Effort |263|---------|--------|--------|--------|264{Enable Multi-AZ, add health checks, configure DLQs, add timeouts}265266### Foundation (1-4 weeks)267| Finding | Action | Impact | Effort | Dependencies |268|---------|--------|--------|--------|--------------|269{Auto-scaling, circuit breakers, backup configs, deployment safety}270271### Strategic (1-3 months)272| Finding | Action | Impact | Effort | Dependencies |273|---------|--------|--------|--------|--------------|274{Multi-region DR, chaos engineering, cell-based architecture}275276## Testing Plan277| Test | Validates | Frequency | AWS Service | Evidence Exists |278|------|-----------|-----------|-------------|-----------------|279| AZ failover | Compute survives AZ loss | Monthly | FIS | {Yes/No} |280| Database failover | RDS failover < 60s | Quarterly | FIS | {Yes/No} |281| Load test | Handles 2x peak | Before releases | Load Testing | {Yes/No} |282| Backup restore | RPO met, data recoverable | Monthly | AWS Backup | {Yes/No} |283| Deployment rollback | Bad deploy reverted < 5 min | Every deploy | CodeDeploy | {Yes/No} |284285## Next Steps286{Top 5 concrete reliability actions the team should take this week}287```288289## Step 10: Offer follow-up290291After delivering the plan, offer:292293> Would you like me to:294> - Design multi-AZ architecture for a specific component?295> - Generate FIS experiment templates for chaos engineering?296> - Implement circuit breaker patterns for service dependencies?297> - Create backup and DR IaC for stateful resources?298> - Design a deployment safety configuration with automated rollback?299300## Calibration Guidance301302- A workload with Multi-AZ, auto-scaling, health checks, automated rollback, and backups is MATURE — focus on advanced testing (chaos engineering, DR drills, game days)303- Every finding MUST have code evidence — don't flag "missing Multi-AZ" without checking the IaC304- For data pipelines: prioritize data durability over compute availability — message loss is worse than processing delay305- Match expectations to availability target: 99.9% doesn't require multi-region, 99.99% does306- "Cannot Determine" is valid for operational aspects not visible in code (e.g., whether DR drills are actually run)307- Acknowledge existing reliability patterns prominently before listing gaps