This article describes the Azure resources deployed by OutSystems on Microsoft Azure solution template, which contains the OutSystems Development, Test, Production, and LifeTime environments.
The Azure resources that the OutSystems on Microsoft Azure solution template deploys follow naming conventions based on the general Azure naming conventions. You can identify the deployed resources by the following:
- All resources are prefixed with the solution identifier (sol_id) that you chose and entered in the solution template wizard.
- Azure resources associated to a specific OutSystems environment will be named in a way that includes the environment short name: “dev” for Development, “test” for Test, “prod” for Production, and “life” for LifeTime environment.
Each environment contains a virtual machine as the OutSystems Platform Server, playing the role of deployment controller and front-end server.
If you chose to deploy a high-availability production environment, your production environment will have two virtual machines. The second one acts as an additional front-end server.
All virtual machines have Windows Server 2016 Datacenter installed.
You can choose the size of the virtual machines during the setup, in the solution template wizard. By default, “D4s v3 Standard” size is selected for all environments.
Tip: When selecting the virtual machine size, choose one of the sizes that are recommended in the wizard: “D4s v3 Standard”, “E4s v3 Standard” or “DS3 v2 Standard”.
The main features of the proposed sizes are:
|D4s v3 (default)||E4s v3||DS3 v2|
|Temp Storage (GB)||32||64||28|
Check the official Azure documentation for detailed information on the different virtual machine sizes.
For security reasons, the deployed virtual machines have remote desktop access disabled. Learn here how to enable remote desktop access for a virtual machine.
Azure SQL Servers and Databases
OutSystems on Microsoft Azure solution template uses Azure SQL Database service. Each environment contains one SQL server and three SQL databases - the Platform/Applications database, the Logging database, and the Sessions database.
The price tier of all created databases is “S3 Standard”.
All database administration users are named “sql-<VM admin user>”, where <VM admin user> is the username you fill during the setup in the solution template wizard for the virtual machines administration user. The database administration user password is the same as for the virtual machine administration user.
Each environment has an associated storage account. This storage account will hold the log files of the installation and configuration steps of each virtual machine, along with several configuration files used by the OutSystems environments.
Application Gateways and Public IP Addresses
Each environment has an application gateway with an associated public IP address. This public IP Address is the entry point to the environment.
For example, if you have two front-end servers in your production environment, the entry point of the environment is the public IP address associated with the production application gateway.
Each virtual machine has also a public IP address for direct access, either through Service Center console or through remote desktop access.
Virtual Machine Scale Sets
The development, test, and production virtual machines are deployed with virtual machine scale sets, making these environments ready for horizontal scaling.
Other Azure Resources
The following Azure resources are also deployed for each OutSystems environment to guarantee the infrastructure operation:
- Load balancer
- Network interface
- Network security group
The table below shows examples of some of the Azure resources deployed for each environment, mapped into the main OutSystems components when applicable:
|OutSystems Component||Azure Resource Type||Azure Resource Name||Example|
|Non-production Platform Server||Virtual machine||<sol_id>-<environment>-vm||myid-dev-vm|
|Production Platform Server||Virtual machine||<sol_id>-prod-vm||myid-prod-vm
myid-prod-vm1 (high availability)
|Production front-end server
|Database server||Azure SQL server||<sol_id>-<environment>-srv<unique_suffix> (*)||myid-dev-srvbqxs|
|Platform/Application database||Azure SQL database||<sol_id>-<environment>-db||myid-dev-db|
|Session database||Azure SQL database||<sol_id>-<environment>session-db||myid-devsession-db|
|Logging database||Azure SQL Database||<sol_id>-<environment>log-db||myid-prodlog-db|
|-||Storage account||<sol_id><environment>str<unique_suffix> (*)||myiddevstrbqxs|
|-||Public IP address||<sol_id>-<environment>[appgw|VM]-PIP||myid-dev-appgw-PIP|
|-||Virtual machine scale set||<sol_id>-<environment>-VMSS||myid-dev-VMSS|
(*) Storage accounts and SQL server resources include unique suffixes in their names because the resource name must be unique in the entire Azure infrastructure.