What's New in Azure App Service at Build 2024
Published May 21 2024 10:00 AM 4,117 Views
Microsoft

Welcome to Build 2024!

The team will be covering the latest AI enhancements for migrating web applications, how AI helps developers to monitor and troubleshoot applications, examples of integrating generative AI into both classic ASP.NET and .Net Core apps, and platform enhancements for scaling, load testing, observability, WebJobs and sidecar extensibility.

 

Drop by the breakout session “Using AI with App Service to deploy differentiated web apps and APIs” on Thursday May 23rd (12:30PM to 1:15PM Pacific time – BRK125 – In-Person and Online) to see live demonstrations of all of these topics! 

 

Azure App Service team members will also be in attendance at the Expert Meetup area on the fifth floor – drop by and chat if you are attending Build in-person!

 

There are additional demos and presentations from partner teams that will cover (in part) App Service specific scenarios, so if you have time consider the additional sessions as well! 

 

Using AI with App Service to deploy differentiated web apps and APIs

BRK125

Thursday, May 23rd

12:30 PM - 1:15 PM Pacific Daylight Time

Breakout Session – In-Person and Online

 

App innovation in the AI era: cost, benefits, and challenges

BRK120

Tuesday, May 21st

4:45 PM - 5:30 PM Pacific Daylight Time

Breakout Session – In-Person and Online

 

Conversational app and code assessment in Azure Migrate

DEM713

Wednesday, May 22nd

10:30 AM - 10:45 AM Pacific Daylight Time

Demo Session – In-Person Only

 

Leverage Azure Testing Services to build high quality applications

BRK183

Thursday, May 23rd

1:45 PM - 2:30 PM Pacific Daylight Time

Breakout Session – In-Person and Online

 

Vision to value - SAS accelerates modernization at scale with Azure

BRK170

Thursday, May 23rd

1:45 PM - 2:30 PM Pacific Daylight Time

Breakout Session – In-Person and Online

 

GitHub Copilot Skills for Azure Migrate

In a recent IDC study of 900 IT decision makers worldwide, 74% of the respondents cited faster innovation, faster time to market, and/or improved business agility as one of the top benefits driving the business case for migrating and modernizing apps with a managed cloud service.  Microsoft has been continuously investing in first party tools to make it easier and faster to migrate using the tools you already use and love. We are excited to announce that Azure Migrate application and code assessment, which was released at Microsoft Ignite 2023, now adds GitHub Copilot Chat enhancement to the Visual Studio migration extension! 

 

Once you have the updated migration extension installed in Visual Studio, as well as enabling the Visual Studio GitHub Copilot Chat extension, GitHub Copilot Chat will guide you through the individual items found in the application migration report. You can ask questions like "Can I migrate this app to Azure?" or "What changes do I need to make to this code?" and get answers and recommendations from Azure Migrate. (Note:  GitHub Copilot licenses sold separately). 

 

You can get started by clicking on the “Open Chat” button in the compatibility report as shown below.

Chat session:  starting outChat session: starting out

This will open an interactive chat session where you can chat with Copilot to iterate through the various assessment suggestions.  In this example the migration report recommends moving secrets like database connection strings out of web.config or code, and into a secure location such as Azure Key Vault.

Chat session:  resultsChat session: results

You can interactively step through recommended remediations for each issue:Chat session: details for first issueChat session: details for first issue

In this example after selecting “No, I don’t have an Azure Key Vault…”, Copilot will show the commands necessary to setup Key Vault in Azure:

Chat session:  create a Key VaultChat session: create a Key Vault

 

You can continue to walk through all of the migration suggestions and issues found in the assessment report in this manner, leveraging Copilot to provide specific steps, CLI commands, and code remediations to prepare your application for migration into Azure!

 

Sidecar Scenarios in Azure App Service on Linux

Sidecar patterns are a way to add extra features to an application, such as logging, monitoring and caching, without changing the application’s core code.  Sidecar support for container based applications on Azure App Service on Linux is now in public preview! Public preview for using sidecars with source-code based applications is expected to be available this summer.

 

Common scenarios include attaching monitoring solutions to your application, including popular third-party application performance monitoring (APM) offerings.  This example shows a container-based application configured with an OpenTelemetry (OTel) collector sidecar which exports metrics to OTel compatible targets.  There are also additional examples showing how to integrate with commonly used ISV solutions such as Datadog with your web applications.

 

Other common scenarios include attaching a sidecar for in-memory caching using Azure Cache for Redis, and attaching a vector cache sidecar to reduce traffic to back-end LLLM resources when adding generative AI to your application.

Configuring a vector cache sidecarConfiguring a vector cache sidecar

 

At Microsoft Build 2024, breakout session BRK125 includes demonstrations of sidecar scenarios for both container-based and source-code based applications! 

 

WebJobs for Azure App Service on Linux

Webjobs are background tasks that run on the same server as the web app and can perform various functions, such as sending emails, executing bash scripts and running scheduled jobs. WebJobs are now integrated with Azure App Service on Linux, which means they share the same compute resources as the web app to help save costs and ensure consistent performance. WebJobs support for both Azure App Service on Linux as well as Windows Containers on Azure App Service is broadly available in public preview.

 

WebJobs enable developers to easily run arbitrary code and scripts, in the language of their choice, on a variety of schedules including continuously, manually on-demand, or on a periodic schedule defined via a crontab expression.  For example, Linux developers can continuously run shell scripts that perform background “infra-glue” tasks like scanning through a back-end database and sending email reports.

Configuring a WebJobConfiguring a WebJob

The full list of supported scripting options, as well as information on how to run jobs in a specific language, is available in the updated WebJobs documentation.

 

Automatic Scaling on Azure App Service

We're happy to announce that the automatic scaling feature in Azure App Service is now generally available! Automatic scaling provides significant performance improvements for any web app without writing new code or making code changes.   With this feature, Azure App Service automatically adjusts the number of application instances and worker instances based on dynamically assessing the incoming HTTP request rate and observed load on the underlying app service plan.

 

We improved the Automatic Scaling feature based on your feedback during the preview phase with expanded SKU availability and a new scaling metric:

  • Automatic scaling expanded support to encompass the P0v3 and P*mv3 SKUs.
  • A new metric called "AutomaticScalingInstanceCount" was added which shows the number of worker instances your application is consuming.

Let Azure App Service adjust the worker count of your App Service plan to match your web application load, without worrying about auto-scale profiles or manual control. It is like an “automatic cruise control” for your web apps!  Also check out our community standup to see this feature in action!

 

Four Nines' Resiliency is Kind of a Big Deal!

As of May 1st Azure App Service officially supports 99.99% resiliency when your app service plan is running in an Availability Zone based configuration!  Availability Zones are isolated locations within an Azure region that provide high availability and fault tolerance. Please refer to the Service Level Agreement (SLA) documentation dated May 01, 2024 to learn more about the higher SLA.

 

Azure App Service Environment version 3:  New and Notable

For customers using the Isolatedv2 SKU on App Service Environment v3 (ASEv3) with Windows, the new memory-optimized pricing tiers, denoted with an ‘m’ such as in Imv2, are now available and can be configured using the Azure CLI as well as ARM/Bicep!  The memory optimized tiers provide a higher memory-to-core ratio than their regular counterparts. For instance, in one of the larger Isolated v2 tiers, both I5v2 and I5mv2 provide the same number of cores at 32 vCPU, but the memory-optimized tier has double the RAM at 256GB. Support for Linux and Windows Containers is expected to be available later this year.  Portal support for Windows source-code based apps running on ASEv3 will also be available shortly after Build!  Please refer to the product documentation to learn more about the new tiers and availability.

 

Friendly Reminder: While on the subject of Azure App Service Environment, allow me to rerun our public service announcement about the upcoming retirement of Azure App Service Environment v1 and v2 on August 31 2024We recommend starting the migration process as soon as possible (time is quickly running out!).  Many customers have already completed this migration with little to no downtime. Please visit product documentation for detailed steps, tools, and useful resources to help you.  Our next community standup scheduled for June 5th will also cover this in detail.

 

TLS 1.3 and More!

We are pleased to announce that TLS 1.3 has been rolled out worldwide and is now generally available across App Service on Public Cloud and Azure for US Government!  Customers can configure an application to require TLS 1.3 via the minimum TLS setting available in the Azure portal, as well as via ARM.

Minimum TLS Version Set to 1.3Minimum TLS Version Set to 1.3

 

With the availability of TLS 1.3, App Service has also updated the TLS cipher suite order to account for recommended TLS 1.3 cipher suites. You will see the following two TLS cipher suites listed on the minimum TLS cipher suite feature:

  1. TLS_AES_256_GCM_SHA384   
  2. TLS_AES_128_GCM_SHA256

As part of the TLS updates, App Service on both Windows and Linux support End to End (E2E) TLS Encryption (in public preview).  Incoming HTTPS requests are usually terminated at the App Service front-ends, with the requests proxied to individual workers over HTTTP.  With the updated E2E TLS Encryption feature, both Windows and Linux applications can choose to encrypt the requests between the App Service front-ends and the workers running applications.  E2E TLS Encryption is available for Standard App Service Plans and above, and can be enabled in the Azure portal as well as via ARM and Azure CLI.

End to End TLSEnd to End TLS

 

If you have an Azure Key Vault that uses Azure role-based access control (RBAC), you can now import that Key Vault certificate to your web app.  Because newly created Key Vaults are configured to use RBAC by default, instead of the legacy access policies, this new support in Azure App Service will make it easier for you to integrate your Key Vault certificates with App Service.  Support for importing certificates into App Service from Key Vault using RBAC permissions is available via ARM and the Azure CLI, with Azure portal support planned for the future.  Developers can read more about this new support in the documentation.

 

For more information regarding TLS 1.3 on App Service, the new minimum cipher suites, and updates to E2E TLS Encryption refer to the all-inclusive article on the Microsoft Community Hub!

 

Better Together with Recommended Azure Service

You can now find recommendations in the Azure Portal for services commonly deployed with Azure App Service! The initial list is curated and primarily focuses on connecting newly created Azure resources to your existing App Service applications.  An example of showing recommended services is shown below.

Recommended ServicesRecommended Services

In addition to the curated listed, the new Recommended Services capability in Copilot for Azure offers quick recommendations tailored to your specific application. For instance, it can suggest a popular database suitable for your application type or ensure that you are “on the right track” with commonly deployed services, drawing insights from similar applications.

Recommend Services via CopilotRecommend Services via Copilot

To use the new Copilot integrated capability, navigate to the Azure Portal and open Copilot for Azure. Examples of the types of questions that you can ask include: “What are commonly deployed services for my app?” or “What is the recommended database for my app?”  Read more about these capabilities and try out the new Recommend Services Copilot capability today!

 

Azure Load Testing Integration

How many times has new code been released to production only to encounter unexpected performance related problems?  With the recent release of Azure Load Testing integration with Azure App Service, there has never been a better time to easily run load tests on your web applications.  Discover performance problems before they make it into production and uncover race conditions and other load related bugs ahead of time!

 

You can start setting up load tests directly from the Overview page of your web applications.

Azure Load TestingAzure Load Testing

 As part of this you configure one or more Urls to include in the test run.

Configure load test UrlsConfigure load test Urls

You also configure the size of the load test, along with other parameters governing startup behavior and load test duration.  After the load test is completed, you will see summarized results for the specific load test where you can also drill down to more detailed metrics.

Load test result metricsLoad test result metrics

For more advanced scenarios involving high-scale production scenarios, Azure Load Testing integration also makes it easy for developers to experiment with different scaling strategies and compare the results to achieve desired workload performance.

 

Language and Deployment Updates

App Service regularly updates major and minor language versions across both the Windows and Linux variants of the platform.  As part of that continuing cadence, App Service on Linux just released PHP 8.3 last week!  And just last month WordPress on Linux App Service GA’d the Free Tier option which includes a twelve month no-cost backend database running on Azure Database for MySql! 

 

An interesting technical tidbit for the curious, there is also a great write-up here on how to use Wordpress on App Service as a headless CMS back-end in conjunction with Azure Static Web Apps.

 

gRPC has been generally available for App Service on Linux since last November.  We’re happy to announce that gRPC support is now available in public preview for App Service on Windows!  The team recently demonstrated using gRPC on Windows and Linux at the recently concluded .Net Day 2024. 

 

Azure App Service on Linux has also added a new deployment status tracking API that surfaces detailed deployment log information when deploying source-code based applications.  The deployment status tracking API surfaces detailed step-by-step progress information including specific failure information, a link to follow for more detailed deployment failure logs, and post-deployment app startup information.  The platform is continuing to expand this capability with additional integration planned for the Azure Portal.  For more details on the new deploy status tracking API and guidance on how to use it see this article!

 

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.

 

Take a look at innovation with .Net, and .Net on Azure App Service, with the recently completed .Net Day 2024 event where the new code assessment migration tools were demonstrated as well as gRPC functionality running on both Windows and Linux App Service.

 

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!

1 Comment
Co-Authors
Version history
Last update:
‎May 21 2024 10:09 AM
Updated by: