Skip to content

Conversation

@qxsch
Copy link
Member

@qxsch qxsch commented Oct 15, 2025

introducing a similar structure to what the hack

cpinotossi and others added 30 commits September 27, 2025 22:48
- Changed title from "Regional Protection and Disaster Recovery (DR)" to "Regional Protection (Backup)"
- Removed disaster recovery/site recovery content (moved to challenge-04)
- Updated goal to focus solely on backup and restore operations
- Replaced datacenter/AZ diagram with Azure VM backup architecture diagram
- Removed Challenge 3.2 (DR within Azure Region) - relocated to separate challenge
- Clarified VM restore wording from "to Azure" to "on Azure"
- Added optional blob storage restore task
- Updated success criteria to align with backup-only scope
- Consolidated learning resources and fixed broken link formatting
- Fixed navigation links to use "Challenge" instead of "Challenge Solution"

These changes address feedback about unclear goals and terminology inconsistencies between backup and DR concepts.
- Changed title from "Protect in Azure with Disaster Recovery (Inter-regional)" to "Regional Disaster Recovery (DR)"
- Updated goal to focus on intra-region DR across Availability Zones instead of inter-region DR
- Removed cross-region failover tasks (Germany West Central to Sweden Central)
- Added new architecture diagram showing zone-to-zone disaster recovery
- Simplified tasks to focus on:
  1. Setting up DR for Linux VM within primary region
  2. Simulating zone-to-zone failover
- Updated success criteria to reflect zone-to-zone DR scope
- Replaced inter-region learning resources with zone-to-zone specific documentation
- Fixed navigation links to use "Challenge" instead of "Challenge Solution"

These changes address feedback about unclear goals and separate zone-level DR from region-level DR concepts.
- Changed title from "Protect your Azure PaaS with Disaster Recovery" to "Disaster Recovery (DR) across Azure Regions"
- Removed Azure Storage Account DR tasks (moved to separate challenge or optional content)
- Removed Challenge 1 & 2 (Composite SLA calculations with Copilot)
- Removed Challenge 3 (Storage Account DR)
- Updated goal to focus on cross-region VM protection using Azure Site Recovery
- Specified concrete regions: Germany West Central (primary) to Sweden Central (secondary)
- Identified specific VMs to protect (*-web1 and *-web2)
- Added new architecture diagram for cross-region ASR
- Streamlined tasks to focus on:
  1. Setting up and monitoring ASR replication
  2. DR drill with test failover
  3. Production failover and failback
- Updated success criteria to align with cross-region VM failover scope
- Replaced storage-focused learning resources with ASR-specific documentation
- Fixed navigation links to use "Challenge" instead of "Challenge Solution"

These changes address feedback about confusing challenge structure and clarify the distinction between zone-level and region-level DR.
Simplified Challenge 5 to focus solely on cross-region disaster recovery
operations without failback complexity:

- Removed references to failback from goal and task descriptions
- Updated Task 3 to end at production failover instead of including failback
- Removed failback from success criteria
- Streamlined challenge to focus on: ASR setup, test failover, and production
  failover to secondary region (Germany West Central → Sweden Central)

This change separates failback operations into a dedicated challenge (06/07),
making the learning progression clearer and reducing cognitive load for
participants learning cross-region DR concepts.
…er reconnection

Completely restructured Challenge 6 to focus on post-failover operations and
storage account disaster recovery:

Changes:
- Changed from "Failback to Primary Region" to "Protect your Azure PaaS with DR"
- Added Task 1: Re-establish web application connectivity in secondary region
  - Reconnect failed-over VMs to load balancer backend pool in Sweden Central
  - Test application accessibility from secondary region
- Added Task 2: Storage Account GRS verification and testing
  - Verify GRS configuration and identify paired region
  - Perform storage account failover test
- Updated success criteria to reflect PaaS DR focus instead of VM failback
- Simplified learning resources to focus on storage redundancy and DR

This change creates a logical progression: Challenge 5 performs failover,
Challenge 6 validates the DR environment and tests PaaS services, preparing
for eventual failback in Challenge 7.
…d challenge

Restructured Challenge 7 from monitoring/SQL focus to comprehensive failback:

Changes:
- Removed "Extra Challenge" designation and Application 2 content
- Changed from "Monitor & Protect PaaS (SQL)" to "Failback to Primary Region"
- Removed Application Insights monitoring tasks (azd monitor)
- Removed Azure SQL Database failover group tasks
- Added comprehensive failback workflow:
  - VM failback from Sweden Central → Germany West Central
  - Re-protection of VMs for DR back to secondary region
  - Traffic Manager endpoint verification
  - Storage Account failback
  - Data integrity validation
- Enhanced success criteria with detailed validation points for failback
- Updated learning resources to focus on ASR reprotection and failback

This creates a complete DR lifecycle: Challenge 5 (failover) → Challenge 6
(validate DR environment) → Challenge 7 (failback to primary). The workshop
now provides end-to-end cross-region DR experience.
Changed storage account SKU from Standard_LRS to Standard_GRS to enable
geo-redundant storage for disaster recovery capabilities:

Files modified:
- 03-Azure/01-03-Infrastructure/04_BCDR_Azure_Native/Infra/App1/MODULES/STORAGE/storage.bicep
- 03-Azure/01-03-Infrastructure/04_BCDR_Azure_Native/Infra/App1/deploy.json

Changes:
- Updated storage account SKU: Standard_LRS → Standard_GRS
- Enables automatic asynchronous replication to paired Azure region
- Provides cross-region data durability and availability
- Supports Challenge 6 storage account failover testing requirements

With GRS enabled, the storage account data is now replicated to the paired
region, allowing participants to perform storage account disaster recovery
testing and failover operations as part of the BCDR workshop.
Fixed inconsistent navigation links and challenge numbering across challenge files:

- challenge-01.md: Changed "Next Challenge Solution" → "Next Challenge"
- challenge-02.md: Changed "Previous/Next Challenge Solution" → "Previous/Next Challenge"
- challenge-04.md: Fixed broken next challenge link (challenge-04.md → challenge-05.md)
- challenge-07.md: Changed "Previous Challenge Solution" → "Previous Challenge"

These changes ensure consistent navigation terminology throughout the workshop
and fix the circular reference in challenge-04 where it pointed to itself
instead of challenge-05.
1nn0v8 and others added 19 commits November 12, 2025 14:29
Add comprehensive bash script to validate deployment prerequisites for the
BCDR workshop infrastructure before deployment execution.

Features:
- Azure CLI installation and version verification
- Authentication status check with multi-subscription support
- Interactive subscription selection for users with multiple subscriptions
- RBAC permission validation (Owner role required at subscription level)
- Detection of inherited roles from management groups
- Capability-based permission verification when role enumeration fails
- Resource provider registration status for all required providers:
  * Microsoft.Compute (VMs, availability sets)
  * Microsoft.Network (VNets, load balancers, NSGs, Bastion, Traffic Manager)
  * Microsoft.Storage (storage accounts with GRS)
  * Microsoft.RecoveryServices (ASR vaults, replication)
  * Microsoft.DataProtection (backup vaults)
  * Microsoft.Automation (automation accounts for ASR)
  * Microsoft.OperationalInsights (Log Analytics)
  * Microsoft.KeyVault (secrets management)
  * Microsoft.SqlVirtualMachine (SQL VM configuration)
  * Microsoft.Resources (resource groups, deployments)
- Automatic provider registration with permission validation
- Color-coded output (errors, warnings, success indicators)
- Detailed remediation guidance for common issues
- Azure Cloud Shell compatibility (no exit codes that trigger disconnect)
- Comprehensive validation summary with success/warning/error counts

Script designed for workshop participants to verify subscription readiness
and avoid deployment failures due to missing permissions or unregistered
resource providers.

Usage: bash validate-prerequisites.sh
Introduce comprehensive monitoring challenge for Azure Backup and Site Recovery:
- Configure diagnostic settings for Recovery Services Vault logs
- Leverage Azure Business Continuity Center for unified reporting
- Explore built-in monitoring dashboards and alerts for Backup and ASR
- Focus on observability and proactive health monitoring

Includes detailed success criteria and learning resources for both Azure Backup
and ASR monitoring capabilities.
Corrections made:
- Challenge 6: Update title to match correct challenge number (was "Challenge 5")
- Challenge 6: Update goal text to reference "challenge 6" for consistency
- Challenge 7: Update title to correct challenge number (was "Challenge 6")
- Challenge 7: Fix navigation to link to challenge-08.md instead of finish.md

These changes ensure consistent challenge numbering and proper navigation flow
through the BCDR workshop materials.
Update deployment instructions:
- Add detailed step-by-step Portal deployment process (10 steps)
- Clarify template upload workflow with "Build your own template" option
- Update Option 1 and Option 2 headers for better clarity
- Specify deployment prefix and VM admin password requirements
- Update note to reference downloaded zip file location

Fix resource references:
- Correct challenge number from "Challenge 1" to "Challenge 2" in goal
- Update architecture image reference to c2-asrdemo-architecture.png
- Fix resource group naming (remove hyphen): mh<number>source/target
- Correct storage redundancy from LRS to GRS in both description and success criteria

Streamline documentation:
- Remove redundant "step-by-step guidance" text from goal
- Consolidate web app screenshots (removed 3 of 5 images)
- Move ARM template quickstart link to Learning Resources section
- Update image captions for better clarity

These changes improve workshop participant experience with clearer deployment
instructions and accurate resource specifications.
- Update all challenge titles to match actual challenge file names
- Remove Challenge 3 sub-sections (3.1 and 3.2) that don't exist as separate files
- Add Challenge 8 (Optional: Monitoring and Alerting for BCDR Operations)
- Correct challenge titles for clarity and consistency:
  - Challenge 1: Add "(DR)" designation
  - Challenge 2: Update to "Prerequisites and Landing Zone Preparation"
  - Challenge 3-5: Simplify titles to reflect actual content
  - Challenge 6-7: Update to match actual challenge names

Ensures workshop navigation matches the actual challenge structure in the
challenges folder.
Complete overhaul of challenge solutions (02-08) to ensure consistency with challenge objectives and Azure documentation.

KEY CHANGES:

Challenge 2 - Prerequisites & Landing Zone
- Fixed script name: validate-subscription.ps1 → validate-prerequisites.sh
- Corrected validation steps description
- Simplified solution to reference challenge details vs duplicating content

Challenge 3 - Regional Protection (Backup)
- Rewritten to focus on backup operations only (VM backup, blob backup, restore)
- Removed zone-to-zone DR content that belonged elsewhere
- Removed 56 unreferenced images

Challenge 4 - Regional DR
- Rewritten from inter-regional to zone-to-zone DR (within single region)
- Aligned with actual challenge scope (Availability Zones failover)
- Removed 79 unreferenced images

Challenge 5 - DR across Regions
- Rewritten to focus on cross-region VM replication and failover
- Removed load balancer and storage content (belongs in Challenge 6)
- Removed 13 unreferenced images

Challenge 6 - Restore Web App & Storage DR
- Rewritten to focus on web app connectivity restoration and GRS verification
- Removed failback content (belongs in Challenge 7)
- Fixed GRS durability statement per Azure documentation
- Removed 19 unreferenced images

Challenge 7 - Failback to Primary Region
- Rewritten to cover VM and storage failback processes
- Fixed reprotect process (auto-configured settings)
- Corrected storage failback process per Azure docs (requires GRS reconfig + second failover)
- Removed 8 unreferenced images

Challenge 8 - Monitoring & Alerting
- Created comprehensive solution from scratch (was "Todo")
- Added Azure Backup and ASR monitoring configuration steps
- Fixed alert configuration method (built-in alerts vs custom rules)
- Included sample KQL queries and best practices

TECHNICAL CORRECTIONS:
- All content verified against Azure public documentation
- Fixed incorrect processes (GRS failover, reprotection, alert configuration)
- Removed 177 total unreferenced images
- Consistent structure and terminology across all solutions
- Added success criteria checklists and best practices sections

Breaking Changes: None - documentation improvements only
- Added comprehensive AKS lab covering ACR, cluster deployment, and application management
- Created 8 challenge files with structured goals, actions, and success criteria
- Renamed solution files from numbered format to solution-XX.md convention
- Added prerequisites setup guide for jumphost configuration
- Updated main README with complete lab overview and learning objectives
- Includes coverage of scaling, persistent storage, backup/restore, and monitoring with Grafana
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants