Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Prepare Azure environments for new workloads—subscriptions, networking, identity, and landing zones
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/services/app-service/templates/selection.md
1# Template Selection Decision Tree — REFERENCE ONLY23**CRITICAL**: Check for specific scenario indicators IN ORDER before defaulting to Web API.45**Architecture**: All deployments start from a base template per language/scenario. Integrations are applied as [composable recipes](recipes/README.md) on top of the base. See [composition.md](recipes/composition.md) for the merge algorithm.67Cross-reference with [App Service overview](https://learn.microsoft.com/en-us/azure/app-service/overview) and [official AZD gallery templates](https://azure.github.io/awesome-azd/?tags=appservice).89```101. Is this a full-stack web app with server-side rendering?11Indicators: Razor Pages, MVC views, Next.js SSR, Nuxt, Django templates,12server-rendered HTML, .cshtml, EJS/Pug, Jinja213└─► YES → web-app base template (see [web-app.md](web-app.md))14152. Is this a background worker or WebJob?16Indicators: WebJob, IHostedService, BackgroundService, worker,17queue processor, scheduled task (no HTTP endpoints)18└─► YES → Use Worker Service template (out of scope — see Functions or Container Apps)19203. Does it use Azure SQL or PostgreSQL?21Indicators: DbContext, EF Core, Prisma, SQLAlchemy, connection string,22Microsoft.EntityFrameworkCore, @prisma/client, psycopg223└─► YES → Web API base + sql recipe (IaC + RBAC + source)24Recipe: recipes/sql/ ✅ Available25264. Does it use Cosmos DB?27Indicators: CosmosClient, @azure/cosmos, azure-cosmos, CosmosDBConnection,28Microsoft.Azure.Cosmos, container.read_item29└─► YES → Web API base + cosmos recipe (IaC + RBAC + source)30Recipe: recipes/cosmos/ ✅ Available31325. Does it require authentication?33Indicators: [Authorize], Microsoft.Identity.Web, passport-azure-ad,34msal, EasyAuth, /.auth/login, authsettingsV235└─► YES → base + auth recipe (Easy Auth or MSAL config)36Recipe: recipes/auth/ ✅ Available37386. Does it use Redis caching?39Indicators: IDistributedCache, StackExchange.Redis, ioredis, redis,40azure-cache-redis, aioredis41└─► YES → base + redis recipe (IaC + RBAC + source)42Recipe: recipes/redis/ ✅ Available43447. DEFAULT → Web API base template by runtime (see [web-api.md](web-api.md))45```4647## Base Templates4849| Scenario | Template Reference |50|----------|-------------------|51| Full-stack web app with server-side rendering | [web-app.md](web-app.md) |52| REST API / headless backend (default) | [web-api.md](web-api.md) |5354## Recipe Types5556| Type | IaC Delta? | Examples |57|------|-----------|----------|58| **Full recipe** | Yes — Bicep module + RBAC + networking | sql, cosmos, redis, auth |59| **Source-only** | No — only application code patterns | health checks |6061## Critical Rules6263> See [Critical Rules](recipes/composition.md#critical-rules) in composition.md (canonical).64