-
Notifications
You must be signed in to change notification settings - Fork 119
unified project structure for hacks #267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
qxsch
wants to merge
49
commits into
microsoft:main
Choose a base branch
from
qxsch:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- 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.
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.
…om/qxsch/MicroHack into feature/bcdr-workshop-improvements
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
introducing a similar structure to what the hack