Skip to content

Python Tutorial Overview

This tutorial path walks you from a local Flask run to a production-ready App Service deployment.

Estimated time: ~2-3 hours total

flowchart TD
    S01[01 Local Run] --> S02[02 First Deploy]
    S02 --> S03[03 Configuration]
    S03 --> S04[04 Logging & Monitoring]
    S04 --> S05[05 Infrastructure as Code]
    S05 --> S06[06 CI/CD]
    S06 --> S07[07 Custom Domain & SSL]

Prerequisites

  • Python 3.11 or newer
  • Azure CLI installed and signed in
  • Visual Studio Code
  • Access to an Azure subscription and resource group

Tutorial Steps

Step Description Link
01 Run the app locally with App Service parity. 01 - Local Run
02 Create the first deployment to Azure App Service. 02 - First Deploy
03 Configure app settings, runtime settings, and environment values. 03 - Configuration
04 Add logging and monitoring for operational visibility. 04 - Logging and Monitoring
05 Define the same deployment with infrastructure as code. 05 - Infrastructure as Code
06 Set up CI/CD for repeatable deployments. 06 - CI/CD
07 Bind a custom domain and enable SSL. 07 - Custom Domain and SSL

Follow the steps in order. Each tutorial builds on the previous one and assumes the same Python App Service app.

Run It in the Portal

Portal view: App Service Web App overview (tutorial destination blade)

Azure portal Overview blade for `app-appsvc-guide-recap` (Web App) with a command bar (`Browse`, `Stop`, `Swap`, `Restart`, `Delete`, `Refresh`, `Download publish profile`, `Reset publish profile`, `Share to mobile`, `Send us your feedback`) and an Essentials panel showing Resource group `rg-p2b-recapture`, Status `Running`, Location `Korea Central`, Subscription `Visual Studio Enterprise Subscription`, Subscription ID `00000000-0000-0000-0000-000000000000`, Default domain `app-appsvc-guide-recap.azurewebsites.net`, App Service Plan `plan-p2b-recapture (B1: 1)`, Operating System `Linux`, and Health Check `Not Configured`. The Properties tab is selected (next to Monitoring, Logs, Capabilities, Notifications (0), Recommendations) and surfaces Web app (`Name: app-appsvc-guide-recap`, `Publishing model: Code`, `Runtime Stack: Python - 3.11`, `Runtime status: Healthy`), Domains (`Default domain: app-appsvc-guide-recap.azurewebsites.net`, `Custom domain: Add custom domain`), Hosting (`Plan Type: App Service plan`, `Name: plan-p2b-recapture`, `Operating System: Linux`, `Instance Count: 1`, `SKU and size: Basic (B1)` with `Scale up` link), Deployment Center (`Last deployment: No deployments found`, `Deployment provider: None`), Application Insights (`Name: Enable Application Insights`), and Networking (`Inbound IP addresses: 192.0.2.1, 2001:db8::1`, `Private endpoint connections: 0 private endpoints`, `Virtual network integration: Not configured`). Left nav under the search box lists Overview (selected), Activity log, Access control (IAM), Tags, Diagnose and solve problems, Microsoft Defender for Cloud, Events (preview), AI (preview), Resource visualizer, a Favorites group (Networking, API definition), and collapsed groups Deployment and Settings.

The Web App Overview blade brings the main tutorial state into one visible page. The Essentials panel shows Status: Running, Default domain, App Service Plan: asp-test-20251107 (P0v3: 1), and Operating System: Linux, while the selected Properties tab adds Runtime Stack: Python - 3.11 and Runtime status: Healthy under Web app. The same blade also shows hosting, deployment, monitoring, and networking summaries in the Hosting, Deployment Center, Application Insights, and Networking sections. The command bar at the top exposes the visible management actions for the app, including Browse, Stop, Swap, Restart, Delete, and Refresh.

See Also

Sources