Microsoft Azure is now offering another hosting option, an Azure Functions Premium plan, for Azure enterprise cloud customers that want to add new capabilities to their cloud configurations.
Using the premium plan, enterprise customers will be able to use pre-warmed instances to run their apps with no delay after being idle, while also being able to run on more powerful instances and connect to VNETs, all with automatic scaling in response to load, according to Microsoft.
Azure Functions Premium, which is the company's latest Functions hosting model, enables a suite of long requested scaling and connectivity options without compromising on event-based scale, wrote Alex Karcher, program manager for Azure Functions, in a recent post on the Azure Blog.
The premium plan, which is in preview, allows users to configure up to four D-series processor cores and 14GB of memory for each instance, compared to only one A-series core and 1.5GB of memory under the standard Azure Consumption plan. The D-series instances are substantially more powerful than the A-series instances available to functions using the Consumption plan, allowing users to run much more CPU or memory intensive workloads in individual tasks, according to Karcher.
New Scaling Controls Enabled
While both plans have event-driven scaling, the premium plan allows users to set minimum and maximum instances for scale controls, while the consumption plan provides no scale controls.
The ability to set maximum instances has been one of the most highly requested features and allows users to limit the maximum scale out of a user's Premium plan, wrote Karcher. "Restricting max scale out can protect downstream resources from being overwhelmed by your functions and allows you to predict your maximum possible bill each month."
Minimum instances can also now be specified in the Premium plan to allow users to pre-scale applications ahead of predicted demand. "If you suspect an email campaign, sale or any time gated event will cause your app to scale faster than it can replenish pre-warmed instances, you can increase your minimum instances to pre-load capacity."
In addition, the Premium plan allows dynamic scaling functions to connect to an Azure Virtual Network (VNET) and allows users to securely access resources in a private network, wrote Karcher. "This feature was previously only available by running Functions in an App Service Plan or App Service Environment and is now available in a dynamically scaling model by using the Premium plan."
No Start Delays
The premium plans also now means that users will have no warmup or cold start delays when calling a serverless application for the first time, he wrote. Premium plan users will utilize pre-warmed instances, while consumption plan users require app loading after apps are inactive.
Cold start delays have traditionally been one of the most common problems faced by serverless developers, he explained.
"In the Premium plan, we offer you the ability to specify a number of pre-warmed instances that are kept warm with your code ready to execute," Karcher said. "When your application needs to scale, it first uses a pre-warmed instance with no cold start. Your app immediately pre-warms another instance in the background to replenish the buffer of pre-warmed instances. This model allows you to avoid any delay on the execution for the first request to an idle app, and also at each scaling point."
During the preview of the new services, only one pre-warmed instance will be available per site, but that number is expected to rise over the next few weeks, he added.