All skills
microsoft avatar

/azure-prepare

@b8a1c66
by microsoftmicrosoft/skills3.1k stars
351

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

2 warnings3d4 checks · Risk SAFE
  • Gen Agent Trust Hub3d

    This skill includes security considerations related to the processing of untrusted project files and the retrieval of external development templates. While these operations are essential for modernizing and preparing Azure applications, they represent a surface area for indirect prompt injection and depend on the integrity of external template repositories.

  • Socket3d

    5 alerts: gptAnomaly, gptSecurity

  • Snyk3d

    Risk: LOW · No issues

  • Runlayer7mo

    86/87 files flagged

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

Last checked against GitHub 20 hours ago.

Activeupdated last week
metadata
{
  "author": "Microsoft",
  "version": "1.3.4"
}

README badge

README badge for microsoft/skills/azure-prepare