Azure Static Web Apps launched in preview in May 2020 and expanded throughout the year. It brings the JAMstack model (static frontend, serverless API) into the Azure ecosystem with tight GitHub Actions integration.

The service architecture

Azure Static Web Apps hosts static web assets (HTML, CSS, JavaScript) on a globally distributed CDN and integrates with Azure Functions for dynamic API endpoints. The same hosting unit includes both the static frontend and the Functions backend, with CORS and authentication handled automatically. GitHub Actions builds and deploys on push without additional configuration.

Authentication integration

Azure Static Web Apps provides built-in authentication via Azure AD, GitHub, Twitter, and Google without writing authentication code. Routes can be restricted to authenticated users or specific roles. The authoring experience for role-based access is simpler than configuring Azure AD app registrations manually for a standard web app.

Staging environments

Pull request deployments provide ephemeral staging environments: each PR gets a unique URL with the deployed preview. The URL persists for the lifetime of the PR and is torn down on merge. For content sites, documentation, and component libraries, preview environments per PR are a significant quality improvement in the review process.

The Blazor WASM integration

Azure Static Web Apps has first-class support for Blazor WebAssembly: the .NET WASM runtime is served from the CDN alongside the application assemblies. Blazor WASM applications with Azure Static Web Apps get global CDN distribution, preview deployments per PR, and Azure Functions for server-side API calls. The development experience is the closest to a managed deployment story Blazor WASM has.