What is an Azure Functions App Plan?
When you create a function app in Azure, you must choose a hosting plan for your app. The hosting plan dictates the following behaviors:
- How your function app is scaled.
- The resources available to each function app instance.
- Support for advanced functionality, such as Azure Virtual Network connectivity.
In Lehman's terms, your Azure functions app plan for Atlas will have one server dedicated to it on a more basic plan, but if you are looking to provision a few hundred Atlas workspaces in a short amount of time, let's say within a few days, you may have a need to increase or scale up the number of servers allocated to your functions in order to bring down the time each workspace takes to provision in order to avoid delays as allocating more Cloud resources to your Azure plan should improve performance in the Azure back-end. You can read more about the technicalities of this in the Microsoft Article: Azure Functions hosting options
It is important to mention that Microsoft will charge an increase for utilising more of their resources, The costs associated to this operation are measured in hours (for the time the app service plan remains with additional operative instances) but, additional instances are charged as other app service plan of the same tier. This is at most double the price if you are running two instances during one month instead of one. A cost simulation can be made with this online tool provided by Microsoft: https://azure.microsoft.com/en-gb/pricing/calculator/.
How to increase your Functions App Plan
Below you will find instructions for how to increase your Functions App Plan in Azure.
As a first step, we advise to perform a scale-out operation of one unit on the app service plan used by the function app that manages the provisioning.
To make this change, you must log into the Azure portal, go to the resource group with the Azure resources of Atlas, and click in the "func-atlas-wf-<clientAcronym>-<atlasEnvironment>" resource.
In the left menu, under the "Settings" section, click on "Scale out (App Service plan)":
As per the screenshot above, you must change the "Maximum Burst" value from 1 to 2, and click on the "Save" button to persist the changes. You can raise to more than 2 if you wish but this will have a further impact on hosting costs.
To ensure that the changes are applied successfully, after some time running the new provisioning of workspaces, you may have a look to the application insights resource associated to the provisioning function app, to see if more instances are running. To do this, go to the "appi-atlas-wf-<clientAcronym>-<atlasEnvironment>" resource. In the left menu, under the "Investigate" section, click on "Live metrics":
On the screenshot above you may see "2 servers online" instead of 1 and at the bottom of the page, you may see also two server instances instead of one.
If you do not see these changes after some time, you may try to restart the function app to try forcing it to receive the changes. To do this, go to the "func-atlas-wf-<clientAcronym>-<atlasEnvironment>" resource. In the top menu, click on "Restart":
We would advise to keep these changes only for the time the provisioning of all the workspaces takes place. Once you finish creating all the workspaces, the process to get the values back to normal will be the same but replacing the value 2 by 1.
As stated above, the costs associated to this operation are measured in hours (the time the app service plan remains with two operative instances) but, additional instances are charged as other app service plan of the same tier. This is at most, double the price if you are running two instances during one month. A cost simulation can be made with this online tool provided by Microsoft: https://azure.microsoft.com/en-gb/pricing/calculator/.
As an example, the screenshot below shows how much an additional instance would cost if it is running during two days:
Please start with these steps a few hours before first running the full provisioning script, and depending on what changes we notice we may advise to further increase the number of instances.
If you are interested in increasing your functions app plan for Atlas and have any further questions please get in contact with your implementation lead as we'd be happy to organise a call to walk you through the above.
Comments
0 comments
Please sign in to leave a comment.