New @ Fall Ignite 2021
It has been a busy time on the Azure App Service team with new features reaching GA @ Fall Ignite 2021, and a raft of improvements and innovations for Linux and Windows customers! The team is happy to announce that just in time for Fall Ignite 2021, Windows Containers are now GA and available on App Service Environment v3! App Service is also announcing the GA of Azure Monitor Logs integration for both Linux and Windows customers!
Windows Containers on ASEv3 (GA)
Windows containers provide App Service customers with expanded options for migrating web workloads onto App Service that may have more complex install and runtime dependencies. For example, developers can render HTML and PDF pages using a web app running in a Windows container. Developers can also include low level dependencies by customizing a container’s Dockerfile to perform tasks such as placing native DLLs in specific system locations or installing binaries requiring COM registration. All Windows containers running on App Service use the Hyper-V isolation mode, so customers are assured of hardware-level isolation.
There is an example of using Windows containers on App Service in this Windows containers Quickstart, and for more details about running Windows containers see this article with information on configuration details. Also the team has recently authored an example of using Azure Container Registry Tasks in conjunction with a Git Hub repo to setup a continuous integration flow for updating your Windows container based applications on Azure App Service.
App Service Integration with Azure Monitor Logs (GA)
Thousands of customers have been using App Service’s Azure Monitor Logs integration to collect application logs, HTTP request logs and other text-based logs from their applications, and route those logs to a variety of targets including Log Analytics workspaces that support rich querying and alerting. App Service integration with Azure Monitor Logs is now officially GA and available for developers across both the Linux and Windows variants of the App Service platform!
For more details on setting up Azure Monitor Logs integration see this article as well as this reference with more info on the various text-based log types available on App Service.
New Language Versions Available on App Service
It wouldn’t be Fall in Azure if .NET Conf wasn’t right around the corner. Just in time for both Ignite and .NET Conf, .NET 6 has been released across both Linux and Windows App Service. .NET 6 RC2 is the version currently available on the platform and is fully supported for production workloads! App Service has now deployed the GA version of .NET 6 as of Monday November 8th! .NET 6 on App Service is also fully integrated with Application Insights and App Service’s AppLogs (application logs) giving developers powerful observability and logging capabilities across both Linux and Windows! Get started today with the .NET 6 App Service quickstart!
App Service has also been busy adding support for new versions of OSS languages! Node 16 LTS will be available in Early Access shortly after Ignite and will be fully supported for production workloads. Python 3.9, which has been available for a few months on Linux App Service, will be shortly moving to be a fully built-in language stack with improved build and cold start times. Also, as a sneak peek into the future for developers, keep an eye out for Python 3.10, Java 17 and Tomcat 10 in the coming months!
New Diagnostics Tools for Linux App Service
One of the core tenets of the App Service platform is to give customers the tools necessary to troubleshoot their apps. The Diagnose and Solve experience in the Azure Portal is one of those toolsets, providing a gateway to a wealth of diagnostic tools and solutions containing the accrued wisdom and experience of the platform teams.
With App Service updates rolling out at Fall Ignite 2021, App Service has added new tools for .NET developers on Linux to collect .NET Profiler traces and memory dumps. Profiler traces help identify application failures and slow requests, while memory dumps collect a wealth of information for even deeper debugging and analysis. Looking into the future, the Diagnose and Solve experience will also be adding options to integrate the new Linux tools with the platform’s Linux Auto-Heal feature, as well as providing automated analysis of the diagnostics information generated by the tools. The App Service team will also be releasing profiling support for Node.js and Python workloads on Linux App Service in the future, so stay tuned!
It is Easier Than Ever to Create a Web App with a Database!
Take a peek in the Azure Portal the next time you want to create a web app with a database! The team has updated the web application creation experience so that developers provide just a few pieces of information (web app name and language) and the platform automatically suggests a matching database engine. Then just give your database server a name, and the platform will take care of everything else: creating both the web application and database, automatically populating application settings with connection string information and automatically configuring the database so the web app can securely connect to it!
Automating Web Application Migration to Azure App Service
Migrating existing web applications to the cloud can be a challenge, but App Service has several options to smooth this journey along!
The team has made recent updates to the App Service migration assistant supporting migration of both Windows and Linux based Apache Tomcat applications to App Service. Customers can also choose a containerization route, leveraging the Azure Migrate App Containerization Tool to migrate ASP.NET applications to Windows containers, as well as Apache Tomcat applications to containers running on Linux App Service.
The team also recently published guidance on using Azure Migrate and PowerShell to perform bulk migration of ASP.NET applications to Azure App Service. Keep an eye out for additions to the ASP.NET web application migration experience in the Azure Migrate portal. Coming soon in late 2021 customers will be able to perform discovery, assessment, and bulk migration of ASP.NET web applications to App Service, all from inside of the Azure Migrate experience !
Updates to Azure Arc-enabled PaaS Services
Over the past few months as customers have worked with the Arc-enabled preview of Azure App Service, Azure Functions, and Logic Apps, a number of enhancements based on customer feedback have been incorporated into a new release of the Arc extension.
The new application services extension 0.10.0 update removes the requirement to provide a static IP up-front. This enables customers to deploy on additional Kubernetes distributions and platforms where pre-assignment of IP Addresses is not possible including AKS-HCI. Additionally a new CLI extension has been released with support for creating, updating and managing Kubernetes environments running the Arc-enabled preview bits. Updated Azure Portal support for the new extension will also be coming later in 2021.
See our documentation for release notes on the Arc extension update as well as how to set up an Azure Arc-enabled Kubernetes cluster to run App Service, Functions, and Logic Apps!
Infinite Storage for Web Applications
Azure App Service provides a generous amount of storage for web applications, but there is always a need to store more content and share that content outside the scope of individual web applications. This is where the App Service “bring your own storage” (aka BYOS) feature comes into the picture. BYOS makes Azure File shares appear as mounted directories to applications, thus unlocking the ability to easily store and access vast amounts of content using familiar file system semantics. It also makes it straightforward to share content across multiple applications and processes.
A great example of using BYOS to share content between two separate web applications is available here. The example demonstrates using BYOS to securely access image content from a Windows container based web application running on Windows App Service, and a source-code based web application running on Linux App Service. Both applications connect to a virtual network, with BYOS securely accessing the Azure File share via a Private Endpoint.
The Azure File storage mounting capability reached GA for Linux App Service recently over the past summer. Bring your own storage is currently in preview for Windows containers, and will be moving to GA soon after Fall Ignite 2021! And as a teaser of continued investments in this area, Windows App Service is working on a future preview of BYOS for non-containerized Windows web applications!
Restoring Applications from Snapshot Backups
Azure App Service will be releasing the Snapshot Restore feature to GA shortly after Fall Ignite 2021! As a quick recap, Snapshot Restores eliminate the need for developers to explicitly create a backup schedule since the platform automatically generates snapshots of application content every hour. Snapshots support a substantially larger amount of backed up content (30GB) than the traditional App Service backup feature (only 10GB) and snapshots don’t incur any file locking overhead during backups. Best of all, when the updated Snapshot Restore feature reaches GA later in 2021, it will be supported for Standard Tier web applications as well!
New Capabilities for Securing Container Pulls on Linux App Service
As increasing amounts of application workloads on Linux App Service run inside of containers, customers have asked for more options to securely pull their containers from container registries. With the platform updates being made around Fall Ignite 2021, Linux customers can now combine both managed identities and virtual network connectivity to securely pull containers from a private endpoint secured Azure Container Registry (ACR)! Additionally, the team has enabled the App Service platform to pull from private container registries, enabling scenarios such as container pulls from private registries hosted inside of customers’ virtual networks. See the following article for details on combining managed identities and virtual networks for secure container pulls from ACR, as well as an example of pulling containers from a private container registry. An overview of these topics was also covered in the Fall Ignite 2021 session on container hosting options.
Updated User Experience for Managing TLS Settings
Given the prevalence of TLS secured web applications the team has been working on simplifying the overall experience for adding and managing TLS certificates with a just-released preview of the new user experience in the Azure Portal. The updated experience introduces new functionality to manage certificates including:
- Customizing the certificate names
- Filtering the list of certificates based on certificate status
We would love to hear feedback on the new experience – let us know by clicking on the “Send us feedback” button at the top the new UX blade!