Step 2. Execute the ARM 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 which are created. So choose to create a new Resource Group so that the only resources in this Resource Group are for this LANSA Stack.
- The Stack Name will be part of the URL of your application.
- The Stack Name may 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 Stack 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 URL is the URL of your MSI which you have saved from an earlier step. Paste it into here.
- New Virtual Machine 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 Capacity refers to the number of Application Gateway instances that are available. It is 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.
- The Max Instance Count limit of 100 instances is a Azure limitation. If that is insufficient for your needs, then you will need to increase the power of the VM SKU you are using, thus requiring fewer instances. The maximum number of instances in a Virtual Machine Scale Set was recommended by Azure to be 100. This has since been increased by Azure and a future release of the template will allow up to 600 instances.
- Database New or Existing Determines whether a new SQL database should be provisioned or to use an existing database. Parameters which are relevant to choosing 'new' have the Description prefixed 'New DB'. Descriptions of parameters which are relevant to choosing 'existing' have the Description prefixed 'Existing DB'. Parameters without either flag are relevant whether you are using a new or an existing database.
- The database parameters and their possible values are described here: Azure SQL Database parameters . Note, the Database Server Name for an Azure SQL Database is the fully qualified domain name and is the "Server name" property in the Azure Portal.
- 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 3. 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 it is 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.