All skills
microsoft avatar

/azure-prepare

@7995851 official

Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.

Use this Skill: https://skilld.dev/gh/microsoft/github-copilot-for-azure/azure-prepare

This session only. Nothing lands on disk.

referencesservicesapp-servicesku-selection.md

≈1.2k tokens on demand. Your agent reads this file only when SKILL.md points to it.

App Service SKU Selection

SKU Comparison Matrix

Feature Free (F1) Basic (B1-B3) Standard (S1-S3) Premium (P0v3-P3v3 and P1Mv3-P5Mv3;P0v4-P3v4 and P1Mv4-P5Mv4) Isolated (I1v2-I6v2)
Custom domains ❌ ✅ ✅ ✅ ✅
TLS/SSL bindings ❌ ✅ (SNI) ✅ (SNI + IP) ✅ (SNI + IP) ✅ (SNI + IP)
Deployment slots ❌ ❌ 5 20 20
Auto-scale ❌ ❌ ✅ (10 inst.) ✅ (30 inst.) ✅ (100 inst.)
VNet integration ❌ ✅ ✅ ✅ ✅ (ASE is in VNet)
Private endpoints ❌ ✅ ✅ ✅ ✅
Always On ❌ ✅ ✅ ✅ ✅
Backup/Restore ❌ ❌ ✅ ✅ ✅
Hybrid Connections ❌ 5 25 200 200
Traffic Manager ✅ ✅ ✅ ✅ ✅
SLA None None 99.95% 99.95% 99.95%

Pricing Overview

SKU vCPU RAM Storage Approx. Monthly Cost
F1 Shared 1 GB 1 GB Free
B1 1 1.75 GB 10 GB ~$55
B2 2 3.5 GB 10 GB ~$110
S1 1 1.75 GB 50 GB ~$73
S2 2 3.5 GB 50 GB ~$146
P1v3 2 8 GB 250 GB ~$138
P2v3 4 16 GB 250 GB ~$276
P3v3 8 32 GB 250 GB ~$552
I1v2 2 8 GB 1 TB ~$460

💡 Tip: Figures are representative for Windows OS in Central US, as of 2026-04. Prices vary by region, OS, and offer. Use the Azure Pricing Calculator for exact figures.

Save by using Reserved Instances and Savings Plans

Cost savings can be made on Premium V3, Premium V4 and Isolated V2 plans by committing to reserved instances for 1 or 3 year terms, details can found at https://learn.microsoft.com/azure/cost-management-billing/reservations/prepay-app-service.

Alternatively cost savings can be made using Azure Savings plans.

Decision Criteria

Production workload?
├─ No → Free (F1) or Basic (B1) for dev/test
└─ Yes
   Need deployment slots, auto-scale, or backups?
   ├─ No → Basic (B1-B3) if budget-constrained (supports VNet integration and Private Endpoints)
   └─ Yes
          Need network isolation (dedicated ASE)?
          ├─ Yes → Isolated (I1v2+)
          └─ No
             Need more than 5 deployment slots or more than 10 instances?
             ├─ Yes → Premium (P1v3+)
             └─ No → Standard (S1-S3) with Private Endpoints and VNet integration

Feature Unlock Summary

Key features unlocked at each tier:

Upgrade Path Features Gained
Free → Basic Custom domains, TLS/SSL, Always On, VNet Integration, Private Endpoints, Hybrid Connections (5)
Basic → Standard Deployment slots, auto-scale, backups
Standard → Premium More slots (20), higher scale (30 inst.)
Premium → Isolated Full network isolation (ASE), dedicated infrastructure

Bicep — App Service Plan with SKU

resource appServicePlan 'Microsoft.Web/serverfarms@2025-03-01' = {
  name: planName
  location: location
  sku: {
    name: 'P1v3'
    tier: 'PremiumV3'
    capacity: 2 // number of instances
  }
  kind: 'linux'
  properties: {
    reserved: true // required for Linux
  }
}

Terraform — App Service Plan with SKU

resource "azurerm_service_plan" "plan" {
  name                = var.plan_name
  location            = azurerm_resource_group.rg.location
  resource_group_name = azurerm_resource_group.rg.name
  os_type             = "Linux"
  sku_name            = "P1v3"
}

Scaling Within a Tier

Scale up (change SKU) vs scale out (add instances):

Strategy When to Use How
Scale up App needs more CPU/RAM Change SKU (e.g., S1 → S2)
Scale out Handle more concurrent load Increase instance count or enable auto-scale

⚠️ Warning: Scaling from one tier family to another (e.g., Standard to Premium) may cause a brief restart. Schedule changes during low-traffic windows.

Recommendations by Workload

Workload Recommended SKU Reason
Personal blog / prototype F1 or B1 Minimal cost, no SLA needed
Team dev/test B1-B2 Always On, custom domain
Production API S1-S3 (P0v3/P0v4+ for higher scale/perf) Auto-scale, slots, VNet
Enterprise with compliance P1v3+/P1v4+ Private endpoints, 20 slots, 30 instances
Regulated / multi-tenant SaaS I1v2+ Full network isolation

Source: SKILL.md on GitHub

1 alert8d4 checks · Risk SAFE
  • Gen Agent Trust Hub8d

    The azure-prepare skill provides a comprehensive environment for preparing Azure applications for deployment. It focuses on generating infrastructure-as-code and deployment configuration while strictly enforcing security best practices like managed identity usage and secret management via Key Vault. No malicious patterns or security risks were identified.

  • Socket8d

    5 alerts: gptAnomaly, gptSecurity

  • Snyk8d

    Risk: LOW · No issues

  • Runlayer6mo

    68/196 files flagged

Signed by skilld at 7995851. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 3 weeks ago
metadata
{
  "author": "Microsoft",
  "version": "0.0.0-placeholder"
}
  • Infrastructure
  • azure
  • bicep
  • terraform
  • deployment
  • docker
  • functions
  • app-service

README badge

README badge for microsoft/github-copilot-for-azure/azure-prepare

Prepares Azure applications for deployment by generating infrastructure templates (Bicep or Terraform), azure.yaml configuration, and Dockerfiles. Covers new app creation, modernization, and hosting on App Service, Container Apps, or Functions—but excludes Python App Service deployments, copilot SDK apps, and cross-cloud migrations which have dedicated skills.

Generated from the current SKILL.md.

Does this skill handle Python App Service deployments?
No. Use the python-appservice-deploy skill instead for Python code-only App Service deploys.
Can I use this skill for cross-cloud migration?
No. This skill is for Azure-native preparation. Use azure-cloud-migrate for migrations from AWS, GCP, or other clouds.
Does this skill support Copilot SDK apps?
No. Use azure-hosted-copilot-sdk for apps with @github/copilot-sdk or CopilotClient.
What infrastructure templates does this skill support?
Azure Developer CLI (azd), Bicep, Terraform, and Azure CLI. The skill creates infrastructure code, Dockerfiles, and configuration files—actual deployment execution is handled by the azure-deploy skill.
Does this skill delete existing project files?
No. When adding features to existing projects, it modifies files rather than deletes them. It never removes the project or workspace directory itself.

Generated from the current SKILL.md. These answers refresh after source changes.