Some parts of this content may look out of context without reading the remaining content in this section. Please make sure to read the whole section for complete understanding of the topics discussed here.
Designing your OutSystems Platform infrastructure involves understanding the different types of server roles.
Roles can share the same server or be completely segregated.
Your OutSystems Platform infrastructure is a combination of the following server roles.
The Front-end role handles application logic and delivery to end-users.
It is installed as an application server only with Microsoft IIS, JBoss or WebLogic, or sharing a server with one of the following roles:
- Deployment Controller
The Front-end resource usage depends on CPU, memory and network as follows:
- Application logic runs on CPU resources.
- Application logic needs to be held in memory to ensure fast content delivery.
- Network delivers content according to communication throughput demand.
Deployment Controller Role
The Deployment Controller handles the license validation and application compilation for deployment in Front-ends.
There can only be one server with this role for each of the following environments:
- Quality Assurance
It is installed as stand-alone machine or sharing a server with one of the following roles:
When compiling application code, its resource usage depends on:
- CPU for each application compilation process that consumes resources on one core.
- Memory for each compilation process.
- Network to deliver compiled applications to Front-ends.
It is activated by default in all Front-ends.
It is possible to select which Front-ends also have this role in the Service Center administration console on the Front-end servers menu in the Administration top menu.
The resource consumption of the Scheduler role depends on the timer and BPT logic. In general, it consumes CPU resources.
The LifeTime role is a console to manage the application life cycle and permissions. With LifeTime you can view and promote applications across environments.
It should be installed as a separate and full OutSystems environment running LifeTime (infrastructure management console).
It requires a Deployment Controller, Front-end and Scheduler role on the same server and network access to all servers in the infrastructure.
For high availability scenarios, a multiple Front-end design can also be implemented.
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.