This is a collection of quick start templates for deploying OutSystems on Microsoft Azure.
The goal is to enable our customers to deploy OutSystems on Microsoft Azure with extended customization options not available in the Azure Marketplace ofer.
Features:
- Support for OutSystems 11.
- Catalogs configuration. You can configure the session catalog and the log catalog. For performance reasons its highly recommended to create separate session and log catalogs.
- Frontends in a Virtual Machine Scale Set for manual and auto-scale.
- Deploy OutSystems on your own Virtual Network.
- A 30 days trial license to test OutSystems on Azure. Make sure you upload your own license before starting to develop real apps.
Notes:
- Only Microsoft SQL Server and Azure SQL with database authentication is supported.
- You must chose the same major version for the Platform Server and Service Studio.
- On OutSystems 11, the RabbitMQ user and password is the virtual machine admin user and password.
Warnings:
- This templates are updated frequently and we don't ensure backward compatibility.
- If you find an error or want to request a new feature, please use the GitHub Issue reporting, not the official OutSystems Support channel. These templates are maintained by OutSystems staff but are not supported by OutSystems itself.
- If you want to use them on production environments you should clone/fork this repo to your own GitHub account, change the "Deploy to Azure" button links to your repository and start the deployment from there.
- This warning is especially important when using scale-sets. The scale-set is dependent of the repository where it was created from for scale-up operations. The newly created instances NEED ACCESS to the GitHub repository to perform the OutSystems configuration!!! So, or avoid using scale-sets or clone/fork this repository to your own!!!
Use this group of templates to deploy OutSystems on top of an existing database server.
Notes:
- You should check if the virtual network has network connectivity to the database server before starting the deployment.
- Always validate if you already have your own Virtual Network to deploy on or if you need to use one of the auxiliary templates (bottom of this read.me)
This template deploys a single OutSystems environment on a virtual machine.
Notes:
- If you don't have your own Virtual Network, use this auxiliary template to deploy it before deploying this template: Virtual Network Ready for Single Environment
- You have an optional parameter for the OutSystems environment private key. Usefull if you want to connect the VM to an existing OutSystems environment database (environment clone).
Deploys a single OutSystems frontend server for an existing environment.
Notes:
- For this template, you will need an existing OutSystems environment and a virtual network with network connectivity to the environment and to the database.
- The template requires the same parameters as the single environment template plus the controller hostname/IP and the environment private key.
Same as the previous template but this time, the frontend server will be deployed in a Virtual Machine Scale Set. This enables scaling/auto-scaling of the frontends (ideal for production environments)..
Notes:
- If you don't have your own Virtual Network, use this auxiliary template to deploy it before deploying this template: Virtual Network Ready for ScaleSet
- If you already have your own Virtual Network for this deployment, it must contain at least two subnets: One for the VMs and another for the Azure Application Gateway. The subnet for the Application Gateway must not contain any other resources.
- The trial license included in the templates only allows two frontend servers including the deployment controller. To scale to two frontends using the Virtual Machine Scale Set you need to go to Service Center -> Frontends, and disable the frontend role of the deployment controller server.
- To scale to more than two frontends you need to install your own OutSystems license.
- Since we are always adding new features to this templates and we don't guarantee backward compatibility the safest way is to:
- Fork this repository.
- Copy the script to a location that you control. Example: Azure Storage Account or your own github repository.
- Edit the outsystemsFrontendVMSS.json template and specify the new file http location by editing the "fileUris" parameter "value".
Use this group of templates to deploy OutSystems on Azure SQL.
Notes:
- The Azure SQL Server admin username MUST BE different from the VM admin username.
- Always validate if you already have your own Virtual Network to deploy on or if you need to use one of the auxiliary templates (bottom of this read.me)
This template deploys an OutSystems Deployment Controller on a virtual machine and an AzureSQL server with OutSystems databases. Also deploys an Application Gateway for accessing the Environment. Use this template to deploy a complete, standalone environment. Fill the form with your own naming convention, replacing the default values placed as examples.
Notes:
- To Add this Environment to an existing Marketplace Deployment, first use the following template to add a new network the Resource Group of your OutSystems installation and take note of the names you give to the Virtual Network and Subnetworks.: Virtual Network Ready for Complete Environment Alternatively you can create a new subnet inside your existing VNet, create an Microsoft.Sql Endpoint on it and use it to deploy this template #6. If opting for this, use the existing gateway-subnet to deploy the new Application Gateway.
For a full stack with Dev, Test, Prod and Lifetime environments deployed on a new VNET with Azure SQL as the database engine, use our Azure Marketplace template.
To deploy a full stack on an existing VNET you can also use this templates but you will need to deploy each environment one at the time.
Use template number four to deploy each environment separately. If you want to have a Prod environment with scalling and HA capabilities, use the template number three after deploying the prod environment.
This is a group of templates to help you creating the OutSystems infrastructure in Azure.
This will deploy a Virtual Network with a single subnet for OutSystems VMs. Use this template to deploy a Virtual Network for all templates that DONT uses a Virtual Machine Scale Set.
This will deploy a Virtual Network with two subnet. One for VMs and another for Application Gateways. Use this template to deploy a Virtual Network for all templates uses a Virtual Machine Scale Set.
This will deploy a Virtual Network for a full OutSystems stack with Dev, Test, Prd and Lifetime. The virtual network will contain five subnets. One for Dev, another for Test, two for Prd (VM and Application Gateway) and another for Lifetime.
To have a different version of OutSystems deployed, fork this repo, refer to the table below and change the code accordingly in the corresponding template. Here's an example:
In the SKU field you can type platformserver if you're deploying a VM that will run one of the development or production environments. Type lifetime if your VM will run the Lifetime environment only.
The version to use and the software installed on each one are described in the following table:
Image Version | Platform Server | Lifetime |
---|---|---|
1.5.0 | 11.0.211.0 | 11.0.304.0 |
1.6.0 | 11.0.424.0 | 11.0.308.0 |
1.8.0 | 11.0.607.0 | 11.0.322.0 |
2.0.0 | 11.7.3.7036 | not available |
2.1.0 | 11.8.1 | 11.5.3 |
2.2.0 | 11.8.2 | 11.6.0 |
2.3.0 | 11.9.0 | 11.6.1 |
2.5.0 | 11.9.1 | 11.7.1 |
2.6.0 | 11.10.0 | 11.7.5 |
2.7.0 | 11.10.2 | 11.8.2 |
2.13.0 | 11.17.0 | 11.14.1 |
2.14.0 | 11.17.0 | 11.14.2 |
2.15.0 | 11.20.0 | 11.17.0 |
2.16.0 | 11.21.0 | 11.17.1 |
2.17.0 | 11.22.0 | 11.17.2 |
2.18.0 | 11.23.0 | 11.17.4 |
2.19.0 | 11.23.1 | 11.18.1 |
2.20.0 | 11.24.0 | 11.19.0 |
2.21.0 | 11.25.0 | 11.20.2 |
2.22.0 | 11.26.0 | 11.21.0 |
2.23.0 | 11.27.0 | 11.22.0 |
2.24.0 | 11.28.0 | 11.23.0 |
2.25.0 | 11.29.0 | 11.24.1 |
2.26.0 | 11.30.0 | 11.24.2 |
2.27.0 | 11.31.0 | 11.25.0 |
2.28.0 | 11.32.0 | 11.25.2 |
You can also use the versioning here to update your scalesets. Please follow Microsoft's reference documentation on the subject here:
Update the OS image for your scale set
Or here, directly from OutSystems Public documentation: Update the OutSystems Version in your scale set