Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Design Azure architectures for startups and enterprises. Use when asked to design Azure infrastructure, create Bicep/ARM templates, optimize Azure costs, set up Azure DevOps pipelines, or migrate to Azure. Covers AKS, App Service, Azure Functions, Cosmos DB, and cost optimization.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-16 | ✗→✓ | ▲ Improved | 244% | 0% |
| case-01 | ✓→✓ | = Same ✓ | 163% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 159% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 158% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 180% | 0% |
Design scalable, cost-effective Azure architectures for startups and enterprises with Bicep infrastructure-as-code templates.
Collect application specifications:
- Application type (web app, mobile backend, data pipeline, SaaS, microservices)
- Expected users and requests per second
- Budget constraints (monthly spend limit)
- Team size and Azure experience level
- Compliance requirements (GDPR, HIPAA, SOC 2, ISO 27001)
- Availability requirements (SLA, RPO/RTO)
- Region preferences (data residency, latency)Run the architecture designer to get pattern recommendations:
bashpython scripts/architecture_designer.py \ --app-type web_app \ --users 10000 \ --requirements '{"budget_monthly_usd": 500, "compliance": ["SOC2"]}'
Example output:
json{ "recommended_pattern": "app_service_web", "service_stack": ["App Service", "Azure SQL", "Front Door", "Key Vault", "Entra ID"], "estimated_monthly_cost_usd": 280, "pros": ["Managed platform", "Built-in autoscale", "Deployment slots"], "cons": ["Less control than VMs", "Platform constraints", "Cold start on consumption plans"] }
Select from recommended patterns:
See references/architecture_patterns.md for detailed pattern specifications.
Validation checkpoint: Confirm the recommended pattern matches the team's operational maturity and compliance requirements before proceeding to Step 3.
Create infrastructure-as-code for the selected pattern:
bash# Web app stack (Bicep) python scripts/bicep_generator.py --arch-type web-app --output main.bicep
Example Bicep output (core web app resources):
bicep@description('The environment name') param environment string = 'dev' @description('The Azure region for resources') param location string = resourceGroup().location @description('The application name') param appName string = 'myapp' // App Service Plan resource appServicePlan 'Microsoft.Web/serverfarms@2023-01-01' = { name: '${environment}-${appName}-plan' location: location sku: { name: 'P1v3' tier: 'PremiumV3' capacity: 1 } properties: { reserved: true // Linux } } // App Service resource appService 'Microsoft.Web/sites@2023-01-01' = { name: '${environment}-${appName}-web' location: location properties: { serverFarmId: appServicePlan.id httpsOnly: true siteConfig: { linuxFxVersion: 'NODE|20-lts' minTlsVersion: '1.2' ftpsState: 'Disabled' alwaysOn: true } } identity: { type: 'SystemAssigned' } } // Azure SQL Database resource sqlServer 'Microsoft.Sql/servers@2023-05-01-preview' = { name: '${environment}-${appName}-sql' location: location properties: { administrators: { azureADOnlyAuthentication: true } minimalTlsVersion: '1.2' } } resource sqlDatabase 'Microsoft.Sql/servers/databases@2023-05-01-preview' = { parent: sqlServer name: '${appName}-db' location: location sku: { name: 'GP_S_Gen5_2' tier: 'GeneralPurpose' } properties: { autoPauseDelay: 60 minCapacity: json('0.5') } }
> Full templates including Front Door, Key Vault, Managed Identity, and monitoring are generated by bicep_generator.py and also available in references/architecture_patterns.md.
Bicep is the recommended IaC language for Azure. Prefer Bicep over ARM JSON templates: Bicep compiles to ARM JSON, has cleaner syntax, supports modules, and is first-party supported by Microsoft.
Analyze estimated costs and optimization opportunities:
bashpython scripts/cost_optimizer.py \ --config current_resources.json \ --json
Example output:
json{ "current_monthly_usd": 2000, "recommendations": [ { "action": "Right-size SQL Database GP_S_Gen5_8 to GP_S_Gen5_2", "savings_usd": 380, "priority": "high" }, { "action": "Purchase 1-year Reserved Instances for AKS node pools", "savings_usd": 290, "priority": "high" }, { "action": "Move Blob Storage to Cool tier for objects >30 days old", "savings_usd": 65, "priority": "medium" } ], "total_potential_savings_usd": 735 }
Output includes:
Set up Azure DevOps Pipelines or GitHub Actions with Azure:
yaml# GitHub Actions — deploy Bicep to Azure name: Deploy Infrastructure on: push: branches: [main] permissions: id-token: write contents: read jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - uses: azure/arm-deploy@v2 with: resourceGroupName: rg-myapp-dev template: ./infra/main.bicep parameters: environment=dev
yaml# Azure DevOps Pipeline trigger: branches: include: - main pool: vmImage: 'ubuntu-latest' steps: - task: AzureCLI@2 inputs: azureSubscription: 'MyServiceConnection' scriptType: 'bash' scriptLocation: 'inlineScript' inlineScript: | az deployment group create \ --resource-group rg-myapp-dev \ --template-file infra/main.bicep \ --parameters environment=dev
Validate security posture before production:
If deployment fails:
bash az deployment group show \ --resource-group rg-myapp-dev \ --name main \ --query 'properties.error'
bash az bicep build --file main.bicep az deployment group validate \ --resource-group rg-myapp-dev \ --template-file main.bicep
Common failure causes:
az provider register --namespace Microsoft.WebGenerates architecture pattern recommendations based on requirements.
bashpython scripts/architecture_designer.py \ --app-type web_app \ --users 50000 \ --requirements '{"budget_monthly_usd": 1000, "compliance": ["HIPAA"]}' \ --json
Input: Application type, expected users, JSON requirements Output: Recommended pattern, service stack, cost estimate, pros/cons
Analyzes Azure resource configurations for cost savings.
bashpython scripts/cost_optimizer.py --config resources.json --json
Input: JSON file with current Azure resource inventory Output: Recommendations for:
Generates Bicep template scaffolds from architecture type.
bashpython scripts/bicep_generator.py --arch-type microservices --output main.bicep
Output: Production-ready Bicep templates with:
Ask: "Design an Azure web app for a startup with 5000 users"
Result:
- App Service (B1 Linux) for the application
- Azure SQL Serverless for relational data
- Azure Blob Storage for static assets
- Front Door (free tier) for CDN and routing
- Key Vault for secrets
- Estimated: $40-80/monthAsk: "Design a microservices architecture on Azure for a SaaS platform with 50k users"
Result:
- AKS cluster with 3 node pools (system, app, jobs)
- API Management for gateway and rate limiting
- Cosmos DB for multi-model data
- Service Bus for async messaging
- Azure Monitor + Application Insights for observability
- Multi-zone deploymentAsk: "Design an event-driven backend for processing orders"
Result:
- Azure Functions (Consumption plan) for compute
- Event Grid for event routing
- Service Bus for reliable messaging
- Cosmos DB for order data
- Application Insights for monitoring
- Estimated: $30-150/month depending on volumeAsk: "Design a data pipeline for ingesting 10M events/day"
Result:
- Event Hubs for ingestion
- Stream Analytics or Functions for processing
- Data Lake Storage Gen2 for raw data
- Synapse Analytics for warehouse
- Power BI for dashboardsProvide these details for architecture design:
| Requirement | Description | Example | |-------------|-------------|---------| | Application type | What you're building | SaaS platform, mobile backend | | Expected scale | Users, requests/sec | 10k users, 100 RPS | | Budget | Monthly Azure limit | $500/month max | | Team context | Size, Azure experience | 3 devs, intermediate | | Compliance | Regulatory needs | HIPAA, GDPR, SOC 2 | | Availability | Uptime requirements | 99.9% SLA, 1hr RPO |
JSON Format:
json{ "application_type": "saas_platform", "expected_users": 10000, "requests_per_second": 100, "budget_monthly_usd": 500, "team_size": 3, "azure_experience": "intermediate", "compliance": ["SOC2"], "availability_sla": "99.9%" }
| Anti-Pattern | Why It Fails | Do This Instead | |---|---|---| | ARM JSON templates for new projects | Verbose, hard to read, no modules | Use Bicep — compiles to ARM, cleaner syntax | | Storing secrets in App Settings | Secrets visible in portal, no rotation | Use Key Vault references in App Settings | | Single large AKS node pool | Cannot optimize for different workloads | Use multiple node pools: system, app, jobs | | Public endpoints on PaaS services | Exposed attack surface | Use Private Endpoints + VNet integration | | Over-provisioning "just in case" | Wastes budget month one | Start small, use autoscale, right-size monthly | | Shared resource groups for everything | Blast radius, RBAC nightmares | One resource group per environment per workload | | No tagging strategy | Cannot track costs or ownership | Tag: environment, owner, cost-center, app-name | | Using classic resources | Deprecated, limited features | Use ARM/Bicep resources exclusively |
| Skill | Relationship | |-------|-------------| | engineering-team/aws-solution-architect | AWS equivalent — same 6-step workflow, different services | | engineering-team/gcp-cloud-architect | GCP equivalent — completes the cloud trifecta | | engineering-team/senior-devops | Broader DevOps scope — pipelines, monitoring, containerization | | engineering/terraform-patterns | IaC implementation — use for Terraform modules targeting Azure | | engineering/ci-cd-pipeline-builder | Pipeline construction — automates Azure DevOps and GitHub Actions |
| Document | Contents | |----------|----------| | references/architecture_patterns.md | 5 patterns: web app, microservices/AKS, serverless, data pipeline, multi-region | | references/service_selection.md | Decision matrices for compute, database, storage, messaging, networking | | references/best_practices.md | Naming conventions, tagging, RBAC, network security, monitoring, DR |
Other measured skills in the registry, with their headline benchmark lift.