Scaling and high availability for OutSystems Platform servers
OutSystems Platform is ready for you to design your infrastructure for high availability.
Servers can be scaled for clustering, failover and performance. Databases should implement the recommended vendor policies.
Server roles
The characteristics of each OutSystems Platform server role define how they can be clustered and how failover is implemented.
Role | Cluster Capable | Failover |
---|---|---|
Front-end | Yes | Yes |
Deployment Controller | No | Yes* |
Scheduler | Yes | Yes |
Lifetime Front-end | Yes | Yes |
* Manual procedure. Learn more about how to execute the appropriate actions.
Front-end
In a cluster scenario, the Front-end role scales best horizontally. Balancing the load across nodes will provide failover and several levels of disaster recovery, depending on the implementation.
The design can range from a segmented distribution of Front-ends that contain small incidents, to a geographical distribution aimed at containing high-risk events.
To properly scale your Front-end horizontally, Outsystems recommends that you decide on a suitable set of hardware specs for the Front-end server, and replicate that configuration on subsequent Front-end machines.
Deployment Controller
This service can only grow vertically since it has no cluster capability. Adding CPU cores, memory and increasing disk I/O will provide faster compile times for large/very active teams.
In a Production environment, it is only in use when new application versions are published. In a Development environment, it is used every time a developer publishes an eSpace, application or solution.
Scheduler
This role can be activated in any node with the Front-end or Deployment Controller roles. The OutSystems Platform will distribute the load generated by timer executions across all nodes that have this role, within the same OutSystems zone.
With heavy analytics timers, the pressure on shared Front-end and Deployment Controller nodes can negatively influence their performance. In this case, a dedicated Scheduler node or nodes are recommended.
LifeTime
LifeTime scales horizontally like any Front-end, mostly for high availability reasons, since it simply consists of a very light management console.
You should set up a dedicated node with, at least, the recommended hardware requirements for a Front-end role.
Database
Within the databases that the OutSystems Platform supports, there are several high availability options. Check the following vendor documentation for specific extra details.
- SQL Server
- Oracle
- MySQL (under evaluation)
Check the Infrastructure Design Examples for some simple scenarios where database high availability is represented.
More Information
To learn more about how to set up your OutSystems Platform check the Designing OutSystems infrastructures guide.
Important: The information in this article applies only to OutSystems Platform on-premises or private cloud deployments.