Blog Post

Apps on Azure Blog
12 MIN READ

What's New in Azure App Service at #MSBuild 2025

Stefan_Schackow's avatar
May 19, 2025

A new Premium v4 plan that offers enhanced performance at lower cost of ownership. .NET Aspire, AI integration, and more! Two-zone Availability Zones and more flexibility to configure zone support.

New App Service Premium v4 plan 

The new App Service Premium v4 (Pv4) plan has entered public preview at Microsoft Build 2025 for both Windows and Linux!  This new plan is designed to support today's highly demanding application performance, scale, and budgets. Built on the latest "v6" general-purpose virtual machines and memory-optimized x64 Azure hardware with faster processors and NVMe temporary storage, it provides a noticeable performance uplift over prior generations of App Service Premium plans (over 25% in early testing). The Premium v4 offering includes nine new sizes ranging from P0v4 with a single virtual CPU and 4GB RAM all the way up through P5mv4, with 32 virtual CPUs and 256GB RAM, providing CPU and memory options to meet any business need.

App Service Premium v4 plans provide attractive price-performance across the entire performance curve for both Windows and Linux customers. Premium v4 customers using pay-as-you-go (PAYG) on Azure App Service for Windows can expect to save up to 24% compared with prior Premium plans. We plan to provide deeper commitment-based discounts such as reserved instances and savings plan at GA. 

For more detailed pricing on the various CPU and memory options, see the pricing pages for Windows  and Linux as well as the Azure Pricing Calculator.

App Service currently has Pv4 deployed in a few regions with more regions being regularly added.  For more details on how to configure app service plans with Premium v4 as well as a regularly updated list of regional availability, see the product documentation and start taking advantage of faster performance today!

2-zone Availability Zone support is now generally available

With a recently completed platform update in May, customers now enjoy the 99.99% Availability Zone (AZ) SLA when running on only two instances (instead of three)!  As part of this update more parts of the App Service footprint have enabled AZ support “in place”, which means many existing app service plans can now also use Availability Zones.

Availability Zone configuration for app service plans is also now mutable.  This means if an app service plan is running on an AZ-enabled part of the App Service footprint, customers can choose to enable and disable Availability Zone support at any time.  Read more about the new Availability Zone options in the announcement article!

ARM/CLI surface area for Availability Zone support has also been updated to provide increased visibility into AZ configuration details.  The same enhanced visibility is also coming to the Azure Portal in June.  With these changes customers can determine if an App Service plan is on an AZ-enabled scale unit, as well as how many zones are available for zone spanning.  This allows customers to deploy with either two zones, or three zones (where available), of zone spanning for their App Service plans.  For App Service plans that are AZ-enabled, customers will also be able to see the physical zone placement of each AZ enabled App Service plan.

Availability Zone support is available on the new Premium v4 plan, and also supported with Premium v2, Premium v3, and the dedicated App Service Environment v3 (Isolated V2 plan).  Check out the Availability Zone options for your App Service plans and start getting the benefits of zone resiliency today! 

.NET Aspire on Azure App Service 

.NET Aspire support is now available in public preview for App Service on Linux!  .NET Aspire developers creating applications have an additional deployment option with App Service as a deployment target.  Developers can create multi-app/multi-service .NET Aspire applications locally and deploy them into Azure using the new App Service deployment provider. 

The App Service and .NET Aspire teams worked together to create an App Service “provider” using .NET Aspire’s new “provider model”.  The build provider translates the code-centric view of a .NET Aspire application topology into an Azure deployment mapped onto App Service constructs.  The App Service provider supports securely deploying multiple .NET Aspire applications, with observability via the familiar .NET Aspire dashboard coming in the near future.

The Getting Started with .NET Aspire on Azure App Service blog has instructions on how to create a .NET Aspire project for deployment onto App Service, as well a link for providing feedback. If you happen to be at Build 2025, drop by our booth or the theatre session “DEM548: How .NET Aspire on App Service enhances modern app development” to see live demonstrations of the App Service support for .NET Aspire! 

Using App Service to build agentic AI apps

The last few months of intelligent app development have seen a frenetic pace of change with the rapid evolution of agents on Azure AI Foundry Agent Service and new agent extensibility options like Model Context Protocol (MCP) opening avenues for integrating existing data sources and APIs into agentic architectures. Here's a quick run-down of useful resources published recently:

  • This article demonstrates hosting a remote MCP server on Azure App Service.  The sample is an adaptation of the weather service example from the MCP site.  The App Service variation also includes an azd template for easy experimentation via a CLI deployment to App Service!
  • This article walks through integrating a .NET Core implementation of a “To-Do” list API running on App Service with an agent created on Azure AI Foundry Agent Service.  It’s a straightforward example demonstrating how developers can bring together the power of AI agents with existing web API investments.
  • Quick start guides  for using App Service with Azure Open AI in your language of choice -- Python, Node, .NET, and Java.
  • Using Microsoft Research’s latest 1-bit “super-small” language model, BitNet on App Service.
  • Enhance search queries on text data stored in Azure SQL DB using natural language vector functions and Azure App Service. Includes an accompanying azd example.
  • How to use Azure AI Search hybrid search capabilities from App Service with .NET (Blazor), Java (Spring Boot), Node (Express), or Python (FastAPI).
  • Use GitHub Copilot to compare your application’s bicep against a representative “best practices” bicep definition and then generate the necessary bicep diff.

In addition, using Sidecar for App Service on Linux, developers can easily connect Phi SLMs to their applications. Examples using the chat completion endpoint in the SLM sidecar extensions are available in this GitHub repo with code examples for .NET, Node, Python and Java.  There are also accompanying docs for .NET, Node, Python (FastAPI) and Java (Spring Boot) which go into more details on using the SLM sidecar extensions.

The sidecar extensions capability is also now enabled in the Azure Portal.

 

AI Labs at Microsoft Build

For those of you attending Microsoft Build in person, we will have labs for additional hands-on experience using AI with Azure App Service.

LAB347: Add AI experiences to existing .NET apps using Sidecar in App Service

 This lab (first lab occurrence and second lab occurrence - see Exercise 4) covers an e-commerce inventory API (written in .NET) integrated with an agent running on Azure AI Foundry Agent Service.  When a customer interacts with the AI agent it automatically invokes the appropriate web APIs to fetch real-time inventory information, add/remove products in a shopping cart, and increment/decrement product inventory.  This is a great example of an AI powered agent grounded in a company’s ever changing transactional data.  As a fun sidenote, GitHub Copilot was used extensively to build >95% of the sample application as well as to generate the OpenAPI specification that integrates the inventory web API with the AI agent!

The same AI-on-App Service lab (Exercise 1) walks developers through integrating a basic Azure OpenAI chat interface into a web application.  The lab also demonstrates using a background WebJob on Linux with Azure OpenAI (Exercise 2) to categorize user sentiment for product reviews.  The lab also shows (Exercise 3) how to use a small language model (SLM) like Microsoft’s Phi-4 model in a WebJob to perform similar categorization, without the need to call out to an LLM.  Although SLMs are not as powerful as LLMs, SLMs are an interesting alternative for integrating AI functionality where either cost, or control over AI data flows, are considerations. 

Azure SRE Agent for App Service

One of the big announcements at Build this year was the Agentic DevOps announcement, which includes the new Azure SRE Agent. Designed to empower Site Reliability Engineers (SRE), the SRE Agent is a new agentic service that can manage Azure application platform services. including App Service, Functions, and Azure Container Apps to name just a few. It provides automatic incident response and mitigation, faster root cause analysis (RCA) of production issues, and continuous monitoring of application health and performance. With SRE Agent, you can use a natural language interface for managing your web applications on Azure App Service. 

To be an early adopter of the Agentic DevOps revolution, check out the announcement blog and sign-up to join the SRE Agent preview as it starts rolling out! 

WebJobs for App Service on Linux (GA)

WebJobs for App Service on Linux just recently GA’d earlier this month.  With this functionality developers can implement the same “infra-glue” style of background jobs that they have enjoyed with App service on Windows.  Take a look at the documentationdemonstrating WebJobs support for shell scripts, Python, Java, .NET and Node on Linux!

As mentioned earlier, the AI-on-App Service lab at this year’s Build conference has two code examples (see Exercise 2 and Exercise 3) demonstrating Linux WebJobs with Azure OpenAI, as well as a locally connected Phi-4 Small Language Model (SLM) sidecar, to categorize user sentiment for submitted product reviews.  These are great examples of creatively using WebJobs to perform background batch-style work with your AI resources.  Also keep an eye out for the upcoming WebJobs for Windows Containers GA which is planned “soon” this summer!

Language and Framework Updates

In addition to the release of .NET Aspire support for App Service, the App Service team has kept busy updating myriad Node, Python, Java/JBoss, .NET and PHP versions.  To give an idea of the scope of effort keeping language and framework versions up to date across both Windows and Linux, App Service released more than two dozen language/framework specific updates in the last few weeks prior to Build.  That represents the ongoing platform commitment to keeping languages regularly updated without the need for developers to explicitly invest time and effort doing so themselves.

Just last month, Strapi support was introduced for App Service on Linux!  Strapi is an open source headless Javascript based content management system that provides developers a robust platform for developing and delivering content across a variety of formats.  The Azure Marketplace Strapi offering provides customization control, global availability and pre-built integration to essential Azure services like Azure Database for MySQL or PostgreSQL and Azure Email Communication Services. Deep dive on the details of hosting Strapi on App Service in this article.

The custom error pages feature for App Service has also been updated just prior to Build.  Custom error pages enable developers to customize the response rendered for common HTTP errors (403, 502 and 503) which are returned by the platform.  This release includes a new option to always render custom errors regardless of whether the HTTP error was platform generated, or application generated.  There will also be an Azure Portal update coming in June with support for the new custom error page features!   

Looking ahead to summer, stay tuned for the impending arrival of .NET 10 preview bits on App Service across both Windows and Linux!

Networking and ASE Updates

App Service support for public inbound IPv6 traffic is availablein most regions in public preview, with the service working towards a planned GA of inbound IPv6 support during the summer.  Inbound IPv6 is supported for both IPv6-only upstream clients, as well dual-stack scenarios where a web application is reachable over either an IPv4 address or an IPv6 address. As part of an upcoming summer release, App Service will be delivering a public preview of *outbound* IPv6 traffic.  For details on using IPv6 on App Service, as well to track all of the upcoming updates, consult this article: Announcing inbound IPv6 support in public preview - Azure App Service.

For App Service Environment (ASE) customers, App Service will soon be releasing new support for adding custom Certificate Authorities (CAs) to an ASE.  This new support will enable securing inbound TLS traffic using certificates issued by a custom Certificate Authority.

Hybrid Connections customers will be happy to see that a new version of the App Service Hybrid Connection Manager (HCM) was just released just a few weeks ago.  The new HCM delivers updated UX support for both Linux and Windows customers, enhanced logging and connection testing, and a brand new CLI for scripting and command-line management of Hybrid Connections!

You might have missed it, but there was a recent addition to the troubleshooting options on App Service with the new Network Troubleshooter!  The Network Troubleshooter offers comprehensive analysis and actionable insights to resolve connectivity failures for both Linux and Windows web apps. It tests connectivity to Azure resources like Storage, Redis, SQL Server, MySQL server, and other apps running on App Service. It diagnoses connectivity problems with Private endpoints, Service endpoints, and Internet-based endpoints, detects NAT gateways, and investigates DNS failures with custom DNS servers. Additionally, it provides actionable recommendations and surfaces any network rules it finds that are blocking connectivity.

If you regularly wrestle with connectivity challenges, give the Network Troubleshooter a try!

Next Steps

Developers can learn more about Azure App Service at Getting Started with Azure App Service. Stay up to date on new features and innovations on Azure App Service via Azure Updates as well as the Azure App Service (@AzAppService) X feed. There is always a steady stream of great deep-dive technical articles about App Service as well as the breadth of developer focused Azure services over on the Apps on Azure blog.

And lastly take a look at Azure App Service Community Standups hosted on the Microsoft Azure Developers YouTube channel.  The Azure App Service Community Standup series regularly features walkthroughs of new and upcoming features from folks that work directly on the product!

Build 2025 Session Reference

(Note: all times below are listed in Seattle time - Pacific Daylight Time)

(Note: some labs have more than one timeslot spanning multiple days)

 

Innovate, deploy, & optimize your apps without infrastructure hassles

https://build.microsoft.com/en-US/sessions/BRK201  

Monday, May 19th 11:15 AM – 12:15 PM Pacific Daylight Time

Arch, 705 Pike, Level 6, Room 606

Breakout, Streaming Online and Recorded Session (BRK201)

 

Quickly build, deploy, and scale web apps and APIs globally with App Service

https://build.microsoft.com/en-US/sessions/BRK200

Tuesday, May 20th 11:45 AM – 12:45 PM Pacific Daylight Time

Arch, 705 Pike, Level 6, Room 608

Breakout, Streaming Online and Recorded Session (BRK200)

 

Simplifying .NET upgrades with GitHub Copilot

https://build.microsoft.com/en-US/sessions/DEM549

Monday, May 19th 5:05 PM - 5:20 PM Pacific Daylight Time

Arch, 705 Pike, Level 4, Hub, Theater B

Demo Session – Also Recorded (DEM549)

 

Use Azure SRE Agent to automate tasks and increase site reliability

https://build.microsoft.com/en-US/sessions/DEM550

Tuesday, May 20th 5:10 PM - 5:25 PM Pacific Daylight Time

Arch, 705 Pike, Level 4, Hub, Theater A

Demo Session – Also Recorded (DEM550)

 

How .NET Aspire on App Service enhances modern app development

https://build.microsoft.com/en-US/sessions/DEM548

Wednesday, May 21st 2:00 PM - 2:15 PM Pacific Daylight Time

Arch, 705 Pike, Level 4, Hub, Theater B

Demo Session – Also Recorded (DEM548)

 

Add AI experiences to existing .NET apps using Sidecars in App Service

[Note: Lab participants will be able to try Phi-4 and Azure AI Foundry Agent service scenarios in this lab.]

https://build.microsoft.com/en-US/sessions/LAB347

Monday, May 19th 4:45 PM - 6:00 PM Pacific Daylight Time

Arch, 800 Pike, Level 1, Yakima 1

Hands on Lab – In-Person Only (LAB347)

You can also work through the lab with your own Azure subscription!  Code is available at  https://github.com/Azure-Samples/Build2025-LAB347.  Deploy the lab resources using the included resource provisioning template (https://github.com/Azure-Samples/Build2025-LAB347/blob/main/resources/lab347.json). You can deploy the template by searching on “Deploy a custom template” in the Azure Portal, and copying and pasting the template into the “Build your own template in the editor option”!

 

Add AI experiences to existing .NET apps using Sidecars in App Service

[Note: Lab participants will be able to try Phi-4 and Azure AI Foundry Agent service scenarios in this lab.]

https://build.microsoft.com/en-US/sessions/LAB347-R1

Wednesday, May 21st 4:30 PM - 5:45 PM Pacific Daylight Time

Arch, 800 Pike, Lower Level, Skagit 5

Hands on Lab – In-Person Only (LAB347-R1)

You can also work through the lab with your own Azure subscription!  Code is available at  https://github.com/Azure-Samples/Build2025-LAB347.  Deploy the lab resources using the included resource provisioning template (https://github.com/Azure-Samples/Build2025-LAB347/blob/main/resources/lab347.json). You can deploy the template by searching on “Deploy a custom template” in the Azure Portal, and copying and pasting the template into the “Build your own template in the editor option”!

 

Modernizing .NET Applications using Azure Migrate and GitHub Copilot

https://build.microsoft.com/en-US/sessions/LAB343

Tuesday, May 20th 5:15 PM - 6:30 PM Pacific Daylight Time

Arch, 800 Pike, Level 1, Yakima 1

Hands on Lab – In-Person Only (LAB343)

 

Modernizing .NET Applications using Azure Migrate and GitHub Copilot

https://build.microsoft.com/en-US/sessions/LAB343-R1

Thursday, May 22nd 10:15 AM – 11:30 AM Pacific Daylight Time

Arch, 800 Pike, Level 2, Chelan 2

Hands on Lab – In-Person Only (LAB343-R1)

Updated May 21, 2025
Version 3.0
No CommentsBe the first to comment
OSZAR »