USMAN’S INSIGHTS
AI ARCHITECT
⌘F
HomeAll BooksAzure Cloud Book
HomeAzure BookCompute and Application Hosting
PreviousAzure Virtual Machines, Disks, Images, Scale Sets, Bastion, and UpdatesNextAzure Functions: Event-Driven Serverless Applications
AI NOTICE: This is the table of contents for the SPECIFIC CHAPTER only. It is NOT the global sidebar. For all chapters, look at the main navigation.

On this page

9 sections

Progress0%
1 / 9

Muhammad Usman Akbar Entity Profile

Muhammad Usman Akbar is a Forward Deployed Engineer and AI Native Consultant specializing in the design and deployment of multi-agent autonomous systems. Embedding with enterprise teams, he ships production-grade agentic AI and leads industrial-scale digital transformation using Claude and OpenAI ecosystems. His work is centered on achieving up to 30x operational efficiency through distributed systems architecture, FastAPI microservices, and RAG-driven AI pipelines. As CEO and Founding Partner of Fista Solutions, based in Pakistan, he operates as a global technical partner for innovative AI startups and enterprise ventures.

USMAN’S INSIGHTS
AI ARCHITECT

Transforming businesses into autonomous AI ecosystems. Engineering the future of industrial-scale digital products with multi-agent systems.

30X Growth
AI-First
Innovation

Navigation

  • Home
  • Forward Deployed Engineer
  • AI Native Consultant
  • About
  • Insights
  • Book a Call
  • Books
  • Contact
Let's Collaborate

Have a Project in Mind?

Let's build something extraordinary together. Transform your vision into autonomous AI reality.

Start Your Transformation

© 2026 Muhammad Usman Akbar. All rights reserved.

Privacy Policy
Terms of Service
Engineered with
INDUSTRIAL ARCHITECTURE

Azure App Service: Web Apps, Configuration, Scaling, and Deployment Slots

Azure App Service is a managed platform for web applications and HTTP APIs. Azure operates the underlying hosts and runtime integration while you manage code, configuration, identity, networking, scaling, deployment, monitoring, and data. Deployment slots let supported plans warm and validate a release before swapping it into production.

Lab: 40 minutes · Cost: the App Service plan is billed while allocated; custom domains, certificates, networking, and logs can add cost · Cleanup: delete the lab resource group.

What is the difference between an App Service plan and a web app?

The plan supplies regional compute capacity and pricing tier. One or more apps run on that plan. The web app owns hostname, runtime, configuration, identity, deployment, and application settings. Apps on the same plan share capacity and failure/cost boundaries.

Use separate plans when workloads require independent scaling, isolation, region, operating system, or cost ownership.

How can you create an App Service web app?

Ways to build

Choose the Azure tool you want to use. The underlying resource stays the same.

Azure portal

Search App Services → Create → Web App. Choose code or container publishing, runtime stack, operating system, region, plan, and pricing tier. After deployment:

  1. Enable Identity → System assigned.
  2. Set Configuration values, using Key Vault references for remaining secrets.
  3. Require HTTPS and current TLS settings.
  4. Configure Health check to a real dependency-aware endpoint.
  5. Connect Application Insights.
  6. Review Networking for private inbound access and VNet integration.
  7. Create a staging slot if the plan supports it.

Azure CLI

bash
AZURE_RG="rg-northstar-app-lab" AZURE_LOCATION="eastus" APP_PLAN="plan-northstar-dev-001" WEB_APP="app-northstar-REPLACE_UNIQUE" az group create --name "$AZURE_RG" --location "$AZURE_LOCATION" az appservice plan create \ --resource-group "$AZURE_RG" \ --name "$APP_PLAN" \ --location "$AZURE_LOCATION" \ --is-linux \ --sku B1 az webapp create \ --resource-group "$AZURE_RG" \ --plan "$APP_PLAN" \ --name "$WEB_APP" \ --runtime "PYTHON|3.12" az webapp identity assign --resource-group "$AZURE_RG" --name "$WEB_APP" az webapp config set --resource-group "$AZURE_RG" --name "$WEB_APP" --https-only true

Verify current runtime names with az webapp list-runtimes --os linux. Deploy using a reviewed CI/CD pipeline; az webapp up is convenient for learning but hides details that production teams should control.

How do deployment slots reduce risk?

A slot is a live app with its own hostname. Deploy to staging, run health and smoke tests, warm caches, then swap. Mark environment-specific settings as deployment slot settings so database endpoints and secrets do not cross environments during swap.

bash
az webapp deployment slot create \ --resource-group "$AZURE_RG" \ --name "$WEB_APP" \ --slot staging az webapp deployment slot swap \ --resource-group "$AZURE_RG" \ --name "$WEB_APP" \ --slot staging \ --target-slot production

A swap is not a database rollback. Use backward-compatible schema changes and an independent data migration plan.

What networking modes matter?

  • Access restrictions/private endpoint: controls inbound access.
  • VNet integration: lets the app make outbound calls into a VNet.
  • Private DNS: makes private PaaS endpoints resolve correctly.
  • NAT Gateway with VNet integration: can provide predictable outbound IP behavior where supported.

Inbound private endpoint and outbound VNet integration solve different directions. Do not assume enabling one provides the other.

How do Bicep and Terraform fit?

Declare the plan, web app, identity, application settings (without plaintext secrets), health check, private endpoint, DNS, VNet integration, diagnostics, alerts, and slot. Terraform equivalents are azurerm_service_plan, azurerm_linux_web_app, slot resources, role assignments, and private networking.

Use what-if or terraform plan, then deploy through a protected environment with approval for production.

Scaling and reliability

Scale up by choosing a larger tier; scale out by increasing instances. Autoscale on meaningful signals and set minimum instances for availability. Keep the app stateless, store sessions externally, handle graceful shutdown, use retries with jitter for transient dependencies, and set timeouts.

Verify and clean up

bash
az webapp show --resource-group "$AZURE_RG" --name "$WEB_APP" --query defaultHostName --output tsv curl --fail --silent --show-error "https://${WEB_APP}.azurewebsites.net/health" az group delete --name "$AZURE_RG" --yes --no-wait

Official references

  • App Service overview
  • Deployment slots
  • App Service networking
  • App Service reliability