New to Claude Skills? Learn how to install them →

alirezarezvani on GitHub

Azure Cloud Architect

Free

Design scalable Azure architectures with ease.

Get this skill

Free · Opens the source repo

What Azure Cloud Architect does

The Azure Cloud Architect skill is designed to help developers and architects create scalable and cost-effective Azure infrastructures tailored for both startups and enterprises. With this skill, users can gather application requirements, design appropriate architectures, generate infrastructure-as-code (IaC) templates using Bicep, and optimize costs effectively. The skill is particularly useful for those looking to leverage Azure's capabilities, whether for web applications, microservices, or data pipelines.

The workflow begins with gathering essential requirements such as application type, user expectations, budget constraints, and compliance needs. This structured approach ensures that the architecture aligns with the organization's goals and operational maturity. Once the requirements are collected, users can utilize the architecture designer script to receive tailored recommendations for Azure service stacks. This includes options like App Service, AKS, and serverless architectures, allowing for flexibility based on specific project needs.

After selecting a recommended architecture, the skill facilitates the generation of Bicep templates, which are cleaner and more efficient than traditional ARM templates. This automation not only speeds up the deployment process but also encourages best practices in infrastructure management. Additionally, the cost optimizer script provides insights into current expenditures and suggests optimization strategies, helping users to manage their Azure budgets effectively.

Finally, the skill includes guidance for setting up CI/CD pipelines using Azure DevOps or GitHub Actions, ensuring that deployments are streamlined and maintainable. Overall, the Azure Cloud Architect skill is a comprehensive tool for anyone involved in Azure architecture design, from novice developers to seasoned cloud architects.

When to use it

Use this skill when you need to design Azure infrastructure for applications, optimize costs, or automate deployments.

When not to use it

This skill may not be suitable for users who require highly customized or non-standard Azure setups, as it follows predefined patterns and best practices.

What you can build with it

Designing a Web Application

Use the skill to gather requirements for a web application and generate a Bicep template for deployment.

Cost Optimization for Existing Resources

Run the cost optimizer script to analyze current Azure resources and receive recommendations for potential savings.

Setting Up CI/CD for Azure Deployments

Utilize the skill to configure Azure DevOps or GitHub Actions for automating the deployment of your Bicep templates.

How to install Azure Cloud Architect

View source

1. Install with the skills CLI

npx skills add alirezarezvani/claude-skills/azure-cloud-architect --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by alirezarezvani

Azure Cloud Architect

Design scalable, cost-effective Azure architectures for startups and enterprises with Bicep infrastructure-as-code templates.


Workflow

Step 1: Gather Requirements

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)

Step 2: Design Architecture

Run the architecture designer to get pattern recommendations:

python scripts/architecture_designer.py \
  --app-type web_app \
  --users 10000 \
  --requirements '{"budget_monthly_usd": 500, "compliance": ["SOC2"]}'

Example output:

{
  "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:

  • App Service Web: Front Door + App Service + Azure SQL + Redis Cache
  • Microservices on AKS: AKS + Service Bus + Cosmos DB + API Management
  • Serverless Event-Driven: Functions + Event Grid + Service Bus + Cosmos DB
  • Data Pipeline: Data Factory + Synapse Analytics + Data Lake Storage + Event Hubs

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.

Step 3: Generate IaC Templates

Create infrastructure-as-code for the selected pattern:

# Web app stack (Bicep)
python scripts/bicep_generator.py --arch-type web-app --output main.bicep

Example Bicep output (core web app resources):

@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.

Step 4: Review Costs

Analyze estimated costs and optimization opportunities:

python scripts/cost_optimizer.py \
  --config current_resources.json \
  --json

Example output:

{
  "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:

  • Monthly cost breakdown by service
  • Right-sizing recommendations
  • Reserved Instance and Savings Plan opportunities
  • Potential monthly savings

Step 5: Configure CI/CD

Set up Azure DevOps Pipelines or GitHub Actions with Azure:

# 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
# 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

Step 6: Security Review

Validate security posture before production:

  • Identity: Entra ID (Azure AD) with RBAC, Managed Identity for service-to-service auth — never store credentials in code
  • Secrets: Key Vault for all secrets, certificates, and connection strings
  • Network: NSGs on all subnets, Private Endpoints for PaaS services, Application Gateway with WAF
  • Encryption: TLS 1.2+ in transit, Azure-managed or customer-managed keys at rest
  • Monitoring: Microsoft Defender for Cloud enabled, Azure Policy for guardrails
  • Compliance: Azure Policy assignments for SOC 2 / HIPAA / ISO 27001 initiatives

If deployment fails:

  1. Check the deployment status:
    az deployment group show \
      --resource-group rg-myapp-dev \
      --name main \
      --query 'properties.error'
    
  2. Review Activity Log for RBAC or policy errors.
  3. Validate the Bicep template before deploying:
    az bicep build --file main.bicep
    az deployment group validate \
      --resource-group rg-myapp-dev \
      --template-file main.bicep
    

Common failure causes:

  • RBAC permission errors — verify the deploying principal has Contributor on the resource group
  • Resource provider not registered — run az provider register --namespace Microsoft.Web
  • Naming conflicts — Azure resource names are often globally unique (storage accounts, web apps)
  • Quota exceeded — request quota increase via Azure Portal > Subscriptions > Usage + quotas

Tools

architecture_designer.py

Generates architecture pattern recommendations based on requirements.

python 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

cost_optimizer.py

Analyzes Azure resource configurations for cost savings.

python scripts/cost_optimizer.py --config resources.json --json

Input: JSON file with current Azure resource inventory Output: Recommendations for:

  • Idle resource removal
  • VM and database right-sizing
  • Reserved Instance purchases
  • Storage tier transitions
  • Unused public IPs and load balancers

bicep_generator.py

Generates Bicep template scaffolds from architecture type.

python scripts/bicep_generator.py --arch-type microservices --output main.bicep

Output: Production-ready Bicep templates with:

  • Managed Identity (no passwords)
  • Key Vault integration
  • Diagnostic settings for Azure Monitor
  • Network security groups
  • Tags for cost allocation

Quick Start

Web App Architecture (< $100/month)

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/month

Microservices on AKS ($500-2000/month)

Ask: "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 deployment

Serverless Event-Driven (< $200/month)

Ask: "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 volume

Data Pipeline ($300-1500/month)

Ask: "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 dashboards

Input Requirements

Provide these details for architecture design:

RequirementDescriptionExample
Application typeWhat you're buildingSaaS platform, mobile backend
Expected scaleUsers, requests/sec10k users, 100 RPS
BudgetMonthly Azure limit$500/month max
Team contextSize, Azure experience3 devs, intermediate
ComplianceRegulatory needsHIPAA, GDPR, SOC 2
AvailabilityUptime requirements99.9% SLA, 1hr RPO

JSON Format:

{
  "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-Patterns

Anti-PatternWhy It FailsDo This Instead
ARM JSON templates for new projectsVerbose, hard to read, no modulesUse Bicep — compiles to ARM, cleaner syntax
Storing secrets in App SettingsSecrets visible in portal, no rotationUse Key Vault references in App Settings
Single large AKS node poolCannot optimize for different workloadsUse multiple node pools: system, app, jobs
Public endpoints on PaaS servicesExposed attack surfaceUse Private Endpoints + VNet integration
Over-provisioning "just in case"Wastes budget month oneStart small, use autoscale, right-size monthly
Shared resource groups for everythingBlast radius, RBAC nightmaresOne resource group per environment per workload
No tagging strategyCannot track costs or ownershipTag: environment, owner, cost-center, app-name
Using classic resourcesDeprecated, limited featuresUse ARM/Bicep resources exclusively

Output Formats

Architecture Design

  • Pattern recommendation with rationale
  • Service stack diagram (ASCII)
  • Monthly cost estimate and trade-offs

IaC Templates

  • Bicep: Recommended — first-party, module support, clean syntax
  • ARM JSON: Generated from Bicep when needed
  • Terraform HCL: Multi-cloud compatible using azurerm provider

Cost Analysis

  • Current spend breakdown with optimization recommendations
  • Priority action list (high/medium/low) and implementation checklist

Cross-References

SkillRelationship
engineering-team/aws-solution-architectAWS equivalent — same 6-step workflow, different services
engineering-team/gcp-cloud-architectGCP equivalent — completes the cloud trifecta
engineering-team/senior-devopsBroader DevOps scope — pipelines, monitoring, containerization
engineering/terraform-patternsIaC implementation — use for Terraform modules targeting Azure
engineering/ci-cd-pipeline-builderPipeline construction — automates Azure DevOps and GitHub Actions

Reference Documentation

DocumentContents
references/architecture_patterns.md5 patterns: web app, microservices/AKS, serverless, data pipeline, multi-region
references/service_selection.mdDecision matrices for compute, database, storage, messaging, networking
references/best_practices.mdNaming conventions, tagging, RBAC, network security, monitoring, DR

Frequently asked questions about Azure Cloud Architect

Similar skills