Step 3. Execute the ARM Complete Template
1. Click here to launch the template:
2. Provide the parameters for the template.
If you hover over the 'i', just to the right of the parameter name, there is a description of the parameter.
- Firstly, the Resource Group collects all the resources of will be part of the URL of your application. So choose to create a new Resource Group so that the only resources in this Resource Group are for this LANSA Stack.
- The VMSS Name will be part of the URL of your application.
- The VMSS Name should be limited to 9 characters as some resource names will truncate the name if it's longer than 9. And you may not care about that and would rather use a meaningful name in your URL which is longer than 9 characters.
- The Resource Group name and the VMSS Name should be at least related, if not identical. This helps you to locate the Resource Group when you are given the name of any of the resources in the Resource Group.
- The MSI URI is the URL of your MSI which you have saved from an earlier step. Paste it into here.
- The VM SKU is the name Microsoft gives to their Virtual Machine sizes. New sizes are added regularly. For an up-to-date list see this link: Virtual machine names.
It is better to keep the size of the virtual machines relatively small so that you keep the incremental cost of adding another instance to a minimum. For example, a small instance may cost $0.11/hr. To add 1 more instance to manage the current load will cost a further $0.11/hr. Compare that with an instance which costs $1.872/hr. To add another instance will cost that again, even though you may only need to add one tenth of that resource to support the current load. This is a change of mindset. In the Cloud, if a machine is not running properly, you'll just delete it. Auto scaling will then create another for you to replace the deleted instance. As you get used to software defined infrastructure you'll get to trust that the scale set has deployed your application and brought it online faultlessly thousands of times. So just let it do its job.
- The Application Gateway Sku Name possible values are described here: Application Gateway Sku Name. Note, the "standard_v2" SKU is not currently available. It will become the only available SKU when the Application Gateway support for Azure Key Vault is production ready.
- The Application Gateway Capacity refers to the number of Application Gateway instances that are available. Its advisable to have at least 2 so there is redundancy.
- The Certificate Base64Encoded parameter requires the web site's SSL certificate to be converted to a base64 string and the result entered here. To get the certificate data from a pfx file in PowerShell you can use this: [System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes("path to pfx file"))
- The SSL certificate should be password protected. Enter this password in the Certificate Password parameter.
- If the Max Instance Count limit of 100 instances is insufficient, then you will need to increase the power of the VM SKU you are using. The maximum number of instances in a Virtual Machine Scale Set is recommended by Microsoft to be 100.
The database parameters and their possible values are described here: Azure SQL Database parameters
- The 3 sets of user name and password must use passwords that must pass Windows 'sufficiently complex' rules. These rules change without clear notification. Ensure that there is a mix of upper and lower case, a special character and it's 12 characters or more long and it will probably be sufficiently complex.
- Web Server Max Connect is the maximum number of web jobs to run in a single virtual machine instance. This may be left at the default value until load testing has been performed. For the greatest efficiency, it is important that this is set so that the maximum CPU doesn't rise above about 90%. As the size of the instance increases so the maximum number of web jobs that may be run increases. Note that the SQL database may be a limiting factor on performance, so in order to just be load testing the web server, use a much higher performance SQL database than the one that will be used in production so that its performance is eliminated from these load tests. Once it's clear what Web Server Max Connect needs to be set to, then you may load test to determine the SQL database size.
- The remainder of the parameters should be left set to their default values, even Install MSI should be left at 0. The default behavior is to install the MSI and update the web configuration. Step 6. Updating the LANSA Stack describes the remaining parameters in more detail.
3. Agree to the terms and conditions.
4. Click Purchase.
5. The template will now provision the Complete LANSA Stack. No more steps need to be completed.
6. Once the deployment has succeeded, it may take a further 5 or 10 minutes for the application to be fully installed. Until its completed, an attempt to use the Web Server will timeout.
7. One of the outputs of the template is the url of the Load Balancer. Use this to execute your application.