App Service Environment v3
In late September, during the annual Ignite conference, Microsoft announced an upcoming update to the App Service Environments, also known as ASEs.
Azure App Service, is an offering which I am incredibly fond of. It is both much simpler and much cheaper compared to using Virtual Machines, but it is still very potent. Like many PaaS services, it is, however, by default hosted in a multi-tenant environment, and that introduces certain limitations. ASE is a service which allows us to run Azure App Services in a dedicated, single-tenant configuration, and thus enables us to mitigate several of the limitations mentioned above.
Most notably:
- It opened up the possibility of using Azure App Service to organisations which, due to security or compliance requirements, cannot run applications in multi-tenant environments
- It provided the option to integrate App Service with a Virtual Network (today this functionality is also available via the Regional VNET-integration feature)
- It is the only way of providing zone redundancy for Azure App Services
Those excellent capabilities did, however, come at a price, both in the form of monetary value, and increased complexity. From the cost perspective, we need to pay a base stamp fee for every instance of ASE, and that is not cheap — just shy of a thousand EUR monthly in my default region of Azure West Europe. If we wanted a zone-redundant deployment, we needed at least two instances, and if our acceptance environment was to be a clone of production, we had to double the spend once more. Given that the base fee does not include any compute power — we still need an expensive App Service Plan per each instance of ASE, many customers found the price way too high.
Next to that, the tight VNET integration meant that all ASE management traffic had to flow through our network. As a result, we had to implement specific routing and configure Network Security Groups accordingly to allow the resource to communicate withe the Azure management plane.
The new version of App Service Environment, v3, according to the available sources, will bring several significant improvements as well as meaningful cost reduction.
We expect:
- That the base stamp fee will be removed, and we will only have to pay for the App Service Plans (new SKU — Isolated v2)
- Improved zone redundancy and load balancers
- Simplified network configuration — the management will traffic no longer flow through our VNET
The new offering is now in public preview, but as one might expect, there are several limitations. Unfortunately, at the time of writing, some of those limitations aren’t yet described in detail. For example, the documentation states that ASEv3 is available in select regions only, but does not list those regions. During my tests, I was unable to deploy in West Europe but did succeed in creating the resource in East US. Still, I had to wait for one hour and forty five minutes for the deployment to complete.
Price-wise, we the new App Service Plans start from around 350 EUR monthly for 2 CPU cores and 8 GB of memory. There are a total of three sizes, with resources and costs doubling with each increment. Comparing plans with similar computing power, that is I2v2 and I1v3, we get more than nine hundred EUR monthly cost reduction. That is huge!
Unfortunately, I was unable to test or find complete documentation related to zone redundancy. The only mention of availability zones is in regards to dedicated hosts — when using the “Dedicated Hosts” feature, and if our target region supports availability zones, the ASE will be deployed across two zones. That configuration will, however, come at an increased price. My understanding is that we will have to pay a premium for the dedicated host and double the cost of our App Service Plan.
Overall I am extremely excited to see this improvement, and I am sure that many of our customers will be very happy to start using the new version of App Service Environments.
For more information, including links to documentation, please see the official announcement: