Azure App Service - Reference

This section provides detailed reference information for Azure App Service, covering core concepts, architecture, APIs, service limits, and common troubleshooting scenarios.

Core Concepts

Azure App Service is a fully managed platform for building, deploying, and scaling web apps, mobile backends, and RESTful APIs. It supports a wide range of programming languages and frameworks, including .NET, .NET Core, Java, Ruby, Node.js, PHP, and Python.

  • Web Apps: Host websites and web applications.
  • API Apps: Build and consume RESTful APIs.
  • Mobile Apps: Provide backend services for mobile applications.
  • Authentication and Authorization: Built-in support for identity providers like Azure Active Directory, Google, Facebook, and Microsoft Accounts.
  • Deployment Slots: Stage deployments to test new versions before swapping them into production.
  • Autoscaling: Automatically adjust the number of compute instances based on metrics like CPU usage or HTTP queue length.

Architecture Overview

Azure App Service runs on a robust infrastructure that abstracts away the underlying compute resources. Key components include:

  • App Service Plan: Defines the compute resources (VM size, number of instances) for your applications.
  • Worker Processes: Host your application code.
  • Load Balancers: Distribute incoming traffic across instances.
  • Storage: Provides persistent storage for application content and data.
  • Networking: Supports VNet integration, private endpoints, and custom domains.

Azure App Service APIs

The Azure App Service provides a comprehensive set of RESTful APIs for managing resources. These APIs are accessible via the Azure Resource Manager (ARM) and allow for programmatic interaction with App Service resources.

Key API Categories:

  • App Service Plans: Create, update, delete, and manage App Service Plans.
  • Web Apps: Deploy code, configure settings, manage deployment slots, and monitor Web Apps.
  • Slots: Manage deployment slots, including swapping and configuration.
  • Configuration: Set application settings, connection strings, and general configurations.
  • Monitoring: Retrieve metrics, logs, and diagnostic information.

Example API Endpoint (Get App Service Plan):

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}?api-version=2021-01-01
Resource Type Description Common Operations
ServerFarm (App Service Plan) Manages the compute resources for your apps. Create, Get, List, Update, Delete
WebSite (Web App) Hosts your web applications. Create, Get, List, Update, Delete, List Slots, Swap Slot
Deployment Slots Staging environments for your web apps. Create, Get, List, Swap, Delete
Configuration Application settings and connection strings. Get, Update

Service Limits

Azure App Service has certain limits to ensure fair usage and optimal performance. These limits vary based on the App Service Plan tier.

  • Instance Count: Maximum number of instances per App Service Plan.
  • CPU, Memory, Disk Space: Resources allocated per instance.
  • Storage: Maximum storage for application content.
  • Custom Domains: Number of custom domains supported.
  • SSL Certificates: Number of custom SSL certificates.

Refer to the Azure subscription and service limits, quotas, and constraints documentation for detailed information.

Troubleshooting Common Issues

  • Application Errors: Check application logs and diagnostic settings.
  • Deployment Failures: Review deployment logs, ensure correct build configurations, and check for dependency issues.
  • Performance Degradation: Monitor CPU, memory, and network usage. Consider scaling up or out.
  • Connection Issues: Verify network configurations, firewall rules, and application settings.
  • SSL Certificate Problems: Ensure certificates are correctly uploaded and bound to the custom domain.

Use the built-in diagnostics and troubleshooting tools in the Azure portal for deeper insights.