Challenge Info
45 min · 10 pts · architect · 04-adr-ha-dr-strategy.md
Challenge 4: The Curveball — High Availability & Disaster Recovery¶
⚡ The Announcement¶
COACH READS AT 13:30:
"ATTENTION ALL TEAMS! 📣
We've just received urgent news from Nordic Fresh Foods headquarters!
They've signed a major contract with a Danish restaurant chain — Smørrebrød Express — worth €500K annually. The board has convened an emergency session and approved increased infrastructure investment.
Your infrastructure must now support high availability with disaster recovery capabilities!
You have 45 minutes to propose, plan, and deploy the solution! 🚀"
New Business Requirements¶
| Requirement | Value | Business Impact |
|---|---|---|
| RTO | ≤1 hour | Maximum acceptable downtime |
| RPO | ≤15 minutes | Maximum acceptable data loss |
| Secondary Region | germanywestcentral |
Coverage for broader European market |
| Budget Increase | +€200/month | Total infrastructure budget now ~€700/month |
| Timeline | 45 minutes | Board needs decision on architecture approach |
Your Challenge¶
You must decide: What level of HA/DR does the business need?
Which Path Are You On?¶
Your Challenge 4 path depends on Challenge 3 outcome:
| Challenge 3 Outcome | Your Challenge 4 Tasks |
|---|---|
| Deployment succeeded | Design DR strategy → Update Bicep → Deploy DR infrastructure → Update diagram |
| Partial deployment | Design DR strategy → Update Bicep for what works → Document remaining gaps in ADR → Update diagram |
| Deployment failed | Design DR strategy → Paper exercise: Write ADR + architecture diagram without deploying |
Tip
Paper exercise path: If your Challenge 3 deployment failed, you still earn points by producing a high-quality ADR and updated architecture diagram. Describe what you would deploy, which services need replication, and what your failover strategy would be. No pre-built reference deployment is provided.
Option A: Single-Region HA¶
- All resources in
swedencentral - Zone-redundant services where available
- Faster failover, lower cost
- Risk: Regional outage affects all services
Option B: Multi-Region DR¶
- Primary:
swedencentral, Secondary:germanywestcentral - Geo-replication for data
- Higher cost, longer RTO
- Risk: Complexity in failover orchestration
Option C: Multi-Region Active-Active¶
- Both regions serve traffic simultaneously
- Highest availability, highest cost
- Risk: Data consistency challenges
Your Task: Choose an approach and design it as a parameterized solution.
Required Deliverables¶
1. Architecture Decision Record (ADR) ⭐ MANDATORY¶
Create: agent-output/freshconnect/04-adr-ha-dr-strategy.md
Your ADR must document:
Context: Why is this decision needed?
- What changed in the business requirements?
- What are the consequences of not addressing this?
Decision: What approach did you choose and why?
- Single-region HA vs multi-region DR vs active-active?
- Which services need redundancy?
- What's your failover strategy?
Consequences: What are the trade-offs?
- Cost implications (+€200 budget: is it enough?)
- Operational complexity
- RTO/RPO achievability
- Risks and mitigation strategies
Alternatives Considered: What did you reject and why?
- Why not the other options?
- What would make you reconsider?
2. Updated Bicep (Parameterized)¶
Add a parameter to your main.bicep that enables HA/DR:
Concept:
param haStrategy string = 'single-region' // 'single-region' or 'multi-region'
param primaryLocation string = 'swedencentral'
param secondaryLocation string = 'germanywestcentral'
Questions to Explore:
- How do you prompt the
bicep-codeagent to add this capability? - Which modules need to change?
- What resources must exist in both regions?
- How do you handle data replication?
3. Deploy DR Infrastructure ⭐ REQUIRED¶
After updating your Bicep templates, deploy the DR infrastructure:
# Preview changes first
az deployment group what-if \
--resource-group rg-freshconnect-dev-swc \
--template-file main.bicep \
--parameters main.bicepparam \
--parameters haStrategy='multi-region'
# Deploy with HA enabled
az deployment group create \
--resource-group rg-freshconnect-dev-swc \
--template-file main.bicep \
--parameters main.bicepparam \
--parameters haStrategy='multi-region'
Deployment Questions:
- What new resources appear in the What-If output?
- Are there any resources that need to be deployed to the secondary region separately?
- How do you verify that geo-replication is working?
4. Updated Architecture Diagram ⭐ MANDATORY¶
Use the design agent (with the azure-diagrams skill) to update your architecture diagram showing:
- Primary and secondary region resources
- Geo-replication connections
- Failover paths and traffic routing
- Data synchronization flows
Use the `design` agent to update the FreshConnect architecture diagram
to show HA/DR configuration based on agent-output/freshconnect/04-adr-ha-dr-strategy.md
Save your updated diagram — you'll need it for your Partner Showcase in Challenge 8.
5. Updated Cost Estimate¶
Consider:
- Does your solution fit in the +€200 budget increase?
- What are the major cost drivers for HA/DR?
- Where could you optimize if over budget?
Success Criteria¶
| Criterion | Points | Paper-exercise path |
|---|---|---|
| ADR documented with clear rationale | 2 | Full points available |
| HA/DR approach chosen and justified | 2 | Full points available |
| Bicep parameterized for HA strategy | 2 | Score based on written design |
| DR infrastructure deployed | 2 | Not available (0 pts) |
| Updated architecture diagram | 2 | Full points available |
| Total | 10 | Max 8 pts |
Note
Teams on the paper-exercise path (Challenge 3 deployment failed) can earn up to 8 of 10 points by producing a high-quality ADR, justified approach, written Bicep design, and updated diagram. The 2 deployment points require actual Azure resources.
Time Management Tips¶
💡 10 minutes: Architecture Decision Record
💡 15 minutes: Prompt the bicep-code agent and update templates
💡 10 minutes: Deploy DR infrastructure
💡 5 minutes: Update architecture diagram
💡 5 minutes: Verify deployment and update cost estimate
Coaching Approach¶
This challenge tests your ability to:
- Make informed decisions under time pressure
- Balance business needs with technical constraints
- Document architectural decisions clearly
- Use AI agents effectively with well-crafted prompts
Remember: There's no single "right answer" - the quality of your decision-making process matters more than the specific option you choose.
Note
Final scoring uses the criteria in the scoring rubric, which is the single source of truth for all point values. Scoring rubric available from your facilitator.
Artifact Handoff¶
| Item | Value |
|---|---|
| Input from | infra/bicep/freshconnect/main.bicep + modules (Challenge 3), or your implementation plan if deployment failed |
| Your output | agent-output/freshconnect/04-adr-ha-dr-strategy.md, updated Bicep with DR parameters (or paper-exercise ADR + diagram) |
| Next step | Challenge 5: Load Testing — validate your deployed infrastructure under load |