App Service on Azure Stack: Adding more worker roles
This document provides instructions about how to scale App Service on Azure Stack worker roles. It contains steps for creating additional worker roles to support applications of any size.
If your Azure Stack POC Environment does not have more than 96-GB RAM you may have difficulties adding additional capacity.
App Service on Azure Stack, by default, supports free and shared worker tiers. To add other worker tiers, you need to add more worker roles.
If you are not sure what was deployed with the default App Service on Azure Stack installation, you can review additional information in the App Service on Azure Stack overview.
There are two ways to add additional capacity to App Service on Azure Stack:
- Add additional workers directly from with within the App Service Resource Provider Admin.
- Create additional VMs manually and add them to the App Service Resource Provider.
Add additional workers directly within the App Service Resource Provider Admin.
- Log in to the Azure Stack portal as the service administrator;
- Browse to Resource Providers and select the App Service Resource Provider Admin.
- Click Roles. Here you see the breakdown of all App Service roles deployed.
- Click the option New Role Instance
- In the New Role Instance blade:
- Choose how many additional role instances you would like to add. In the preview, there is a maximum of 10.
- Select the role type. In this preview, this option is limited to Web Worker.
- Select the worker tier you would like to deploy this worker into, default choices are Small, Medium, Large, or Shared. If, you have created your own worker tiers, your worker tiers will also be available for selection.
- Click OK to deploy the additional workers
- App Service on Azure Stack will now add the additional VMs, configure them, install all the required software and mark them as ready when this process is complete. This process can take approximately 80 minutes.
- You can monitor the progress of the readiness of the new workers by viewing the workers in the roles blade.
In this preview, the integrated New Role Instance flow is limited to Worker Roles and deploy VMs of size A1 only. We will be expanding this capability in a future release.
Manually adding additional capacity to App Service on Azure Stack.
The following steps are required to add additional roles:
- Create a new virtual machine
- Configure the virtual machine
- Configure the web worker role in the Azure Stack portal
- Configure app service plans
Step 1: Create a new VM to support the new instance size
Create a virtual machine as described in this article, ensuring that the following selections are made:
- User name and password: Provide the same user name and password you provided when you installed App Service on Azure Stack.
- Subscription: Use the default provider subscription.
- Resource group: Choose AppService-LOCAL.
Store the virtual machines for worker roles in the same resource group as App Service on Azure Stack is deployed to. (This is recommended for this release.)
Step 2: Configure the Virtual Machine
Once the deployment has completed, the following configuration is required to support the web worker role:
- Browse to the AppService-LOCAL resource group in the portal and select the new machine you created in Step 1.
- Click connect in the VM blade to download the remote desktop profile. Open the profile to open a remote desktop session to your VM.
- Log in to the VM using the username and password you specified in Step 1.
- Open PowerShell by clicking the Start button and typing PowerShell. Right-click PowerShell.exe, and select Run as administrator to open PowerShell in administrator mode.
Copy and paste each of the following commands (one at a time) into the PowerShell window, and press enter:
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes
netsh advfirewall firewall set rule group="Windows Management Instrumentation (WMI)" new enable=yes
reg add HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\system /v LocalAccountTokenFilterPolicy /t REG\_DWORD /d 1 /f
Close your remote desktop session.
- Restart the VM from the portal.
These are minimum requirements for App Service on Azure Stack. They are the default settings of the Windows 2012 R2 image included with Azure Stack. The instructions have been provided for future reference, and for those using a different image.
Step 3: Configure the worker role in the Azure Stack portal
- Open the portal as the service administrator on ClientVM.
- Navigate to Resource Providers > App Service Resource Provider Admin.
- In the settings blade, click Roles.
- Click Add Role Instance.
- In the textbox for Server Name enter the IP Address of the server you created earlier (in Section 1).
- Select the Role Type you would like to add - Controller, Management Server, Front End, Web Worker, Publisher, or File Server. In this instance, select Web Worker.
- Click the Tier you would like to deploy the new instance to (small, medium, large, or shared). If you have created your own worker tiers these will also be available for selection.
- Click OK.
- Go back to the Roles view
- Click the row corresponding to the Role Type and Worker Tier combination you assigned your VM to.
- Look for the Server Name you just added. Review the status column, and wait to move to the next step until the status is "Ready." This can take approximately 80 minutes.
Step 4: Configure app service plans
- Sign in to the portal on the ClientVM.
- Navigate to New > Web and Mobile.
- Select the type of application you would like to deploy.
- Provide the information for the application, and then select AppService Plan / Location.
- Click Create New.
- Create your plan, selecting the corresponding pricing tier for the plan.
You can create multiple plans while on this blade. Before you deploy, however, ensure you have selected the appropriate plan.
The following shows an example of the multiple pricing tiers available by default. You notice that if there are no available workers for a particular worker tier, the option to choose the corresponding pricing tier is unavailable.