All skills
microsoft avatar

/azure-cloud-migrate

@ae5e585
by microsoftmicrosoft/skills3.1k stars
351

Assess and migrate cross-cloud workloads to Azure with reports and code conversion. Supports Lambda→Functions, Beanstalk/Heroku/App Engine→App Service, Fargate/Kubernetes/Cloud Run/Spring Boot→Container Apps. WHEN: migrate Lambda to Functions, AWS to Azure, migrate Beanstalk, migrate Heroku, migrate App Engine, Cloud Run migration, Fargate to ACA, ECS/Kubernetes/GKE/EKS to Container Apps, Spring Boot to Container Apps, cross-cloud migration.

Use this Skill: https://skilld.dev/gh/microsoft/skills/azure-cloud-migrate

This session only. Nothing lands on disk.

referencesservicesapp-serviceglobal-rules.md

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

Global Rules

These rules apply to ALL phases of App Service migration.

Destructive Action Policy

⛔ NEVER perform destructive actions without explicit user confirmation via ask_user:

  • Deleting files or directories
  • Overwriting existing code
  • Deploying to production environments
  • Modifying existing Azure resources
  • Removing source-platform resources

User Confirmation Required

Always use ask_user before:

  • Selecting Azure subscription
  • Selecting Azure region/location
  • Deploying infrastructure
  • Making breaking changes to existing code
  • Choosing App Service Plan tier (Free, Basic, Standard, Premium)

Best Practices

  • Always use mcp_azure_mcp_get_azure_bestpractices tool before generating Azure code
  • Prefer managed identity over connection strings or API keys
  • Always use the latest supported runtime stack — see the App Service language overview for the supported stacks page per language
  • Follow Azure naming conventions
  • Use Premium v3 or Standard plans for production workloads
  • Enable health checks and diagnostic logging from day one

Identity-First Authentication (Zero Secrets)

Enterprise subscriptions commonly enforce policies that block local auth. Always design for identity-based access from the start.

  • Storage accounts: Use identity-based connections with DefaultAzureCredential
  • Databases: Use Microsoft Entra authentication for Azure SQL and PostgreSQL Flexible Server
  • Key Vault: Use Key Vault references in App Settings (@Microsoft.KeyVault(SecretUri=...))
  • Application Insights: Configure ingestion via the connection string app setting (APPLICATIONINSIGHTS_CONNECTION_STRING). Use managed identity for management-plane access (querying, configuring components), not for telemetry ingestion
  • DefaultAzureCredential with UAMI: Always pass managedIdentityClientId explicitly:
    const credential = new DefaultAzureCredential({
      managedIdentityClientId: process.env.AZURE_CLIENT_ID
    });

App Service Specifics

  • Always enable HTTPS Only — set httpsOnly: true in Bicep
  • Use 64-bit worker for production — set use32BitWorkerProcess: false
  • Enable Always On for Standard tier and above to prevent idle unload
  • Configure health check path — /healthz or equivalent endpoint
  • Use deployment slots for zero-downtime deployments in Standard tier+
  • Set minimum TLS to 1.2 — minTlsVersion: '1.2'
  • Enable managed identity — prefer User Assigned for multi-resource scenarios
  • Use App Configuration for shared settings across environments
  • Use Key Vault for secrets — never store secrets in App Settings directly

Output Directory

All migration output goes to <source-folder>-azure/ at workspace root. Never modify the source directory.

Source: SKILL.md on GitHub

No alerts15d3 checks · Risk SAFE
  • Gen Agent Trust Hub15d

    This skill facilitates cloud workload migration to Azure with a focus on security best practices. It includes security considerations such as an attack surface for indirect prompt injection during source code analysis and the handling of sensitive credentials. While these warrant review, the skill provides robust patterns for secure secret management and identity-based access. See detailed analysis for context.

  • Socket15d

    No alerts

  • Snyk15d

    Risk: LOW · No issues

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

Last checked against GitHub yesterday.

Activeupdated last month
metadata
{
  "author": "Microsoft",
  "version": "1.3.2"
}

README badge

README badge for microsoft/skills/azure-cloud-migrate