From e8c4034ffee23447b79eca0c1e461465a7de863c Mon Sep 17 00:00:00 2001 From: Tulika Chaudharie Date: Wed, 25 Mar 2026 18:49:26 +0530 Subject: [PATCH 1/2] Blog for Aspire on App Service --- _posts/2026-03-25-Aspire-GA.md | 44 ++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 _posts/2026-03-25-Aspire-GA.md diff --git a/_posts/2026-03-25-Aspire-GA.md b/_posts/2026-03-25-Aspire-GA.md new file mode 100644 index 0000000000..73679184a5 --- /dev/null +++ b/_posts/2026-03-25-Aspire-GA.md @@ -0,0 +1,44 @@ +--- +title: "Aspire on Azure App Service is now Generally Available" +author_name: "Tulika Chaudharie" +toc: true +toc_sticky: true +--- + +Today we are announcing General Availability of Aspire on Azure App Service, making it easier to take distributed applications from local development to a fully managed production environment on Azure App Service. With the [Aspire.Hosting.Azure.AppService](https://www.nuget.org/packages/Aspire.Hosting.Azure.AppService) package, you can define your hosting environment in code and deploy to App Service using the same AppHost model you already use for orchestration. + +Aspire brings a code-first model for building, running, and deploying distributed applications, with AppHost as the place where services, dependencies, and topology are declared. On Azure App Service, this means developers can keep the familiar Aspire programming model while using a fully managed platform for hosting, security patching and scaling. You can read more about the benefits of Aspire [here](https://aspire.dev/get-started/what-is-aspire/). + +If you’re new to Aspire on App Service, the fastest path is our [Quickstart]()https://learn.microsoft.com/azure/app-service/quickstart-dotnet-aspire, which walks you through creating an Aspire starter app and deploying it to App Service + +This release adds Deployment Slots support so you can adopt safer deployment patterns (staging → validate → swap). Here is a code snippet showing you how to add a slot. + +```csharp +var builder = DistributedApplication.CreateBuilder(args); + +builder.AddAzureAppServiceEnvironment("") + .WithDeploymentSlot("dev"); + +var apiService = builder.AddProject("apiservice") + .WithHttpHealthCheck("/health") + .WithExternalHttpEndpoints(); + +builder.AddProject("webfrontend") + .WithExternalHttpEndpoints() + .WithHttpHealthCheck("/health") + .WithReference(apiService) + .WaitFor(apiService); + +builder.Build().Run(); + +``` + +1. If the production slot does not already exist, this creates both the production slot and the staging slot with identical code. +2. If the production slot already exists, the deployment goes only to the staging slot. + +> [NOTE] +> **Scaling:** Manual scaling is supported (via AppHost code or the Azure portal), and you can also setup [rule-based scaling](https://learn.microsoft.com/azure/azure-monitor/autoscale/autoscale-get-started). Automatic scaling is not yet supported in the current experience. + +Learn about about the configuration options for Aspire on App Service [here](https://learn.microsoft.com/azure/app-service/configure-language-dotnet-aspire) + +We’d love for you to try Aspire on App Service and tell us what you’re building - your feedback helps shape what we ship next. \ No newline at end of file From ff251a831f5b4f169d737b81614e8b16d2c003c6 Mon Sep 17 00:00:00 2001 From: Tulika Chaudharie Date: Wed, 25 Mar 2026 19:12:39 +0530 Subject: [PATCH 2/2] minor fixes --- _posts/2026-03-25-Aspire-GA.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/_posts/2026-03-25-Aspire-GA.md b/_posts/2026-03-25-Aspire-GA.md index 73679184a5..9c28d2fe43 100644 --- a/_posts/2026-03-25-Aspire-GA.md +++ b/_posts/2026-03-25-Aspire-GA.md @@ -9,7 +9,7 @@ Today we are announcing General Availability of Aspire on Azure App Service, mak Aspire brings a code-first model for building, running, and deploying distributed applications, with AppHost as the place where services, dependencies, and topology are declared. On Azure App Service, this means developers can keep the familiar Aspire programming model while using a fully managed platform for hosting, security patching and scaling. You can read more about the benefits of Aspire [here](https://aspire.dev/get-started/what-is-aspire/). -If you’re new to Aspire on App Service, the fastest path is our [Quickstart]()https://learn.microsoft.com/azure/app-service/quickstart-dotnet-aspire, which walks you through creating an Aspire starter app and deploying it to App Service +If you’re new to Aspire on App Service, the fastest path is our [Quickstart](https://learn.microsoft.com/azure/app-service/quickstart-dotnet-aspire), which walks you through creating an Aspire starter app and deploying it to App Service This release adds Deployment Slots support so you can adopt safer deployment patterns (staging → validate → swap). Here is a code snippet showing you how to add a slot. @@ -37,8 +37,9 @@ builder.Build().Run(); 2. If the production slot already exists, the deployment goes only to the staging slot. > [NOTE] +> > **Scaling:** Manual scaling is supported (via AppHost code or the Azure portal), and you can also setup [rule-based scaling](https://learn.microsoft.com/azure/azure-monitor/autoscale/autoscale-get-started). Automatic scaling is not yet supported in the current experience. -Learn about about the configuration options for Aspire on App Service [here](https://learn.microsoft.com/azure/app-service/configure-language-dotnet-aspire) +Learn more about the configuration options for Aspire on App Service [here](https://learn.microsoft.com/azure/app-service/configure-language-dotnet-aspire). We’d love for you to try Aspire on App Service and tell us what you’re building - your feedback helps shape what we ship next. \ No newline at end of file