2. Enterprise scalability for distributed dev teams

In situations where developers need to collaborate in the same module, OutSystems offers everything that is needed to implement a continuous integration development cycle between developers that can scale as needed:

  • Server capacity scaling
  • Staging control
  • User governance for large application portfolios
  • External authentication

Table of contents

Server scaling for large dev teams

The OutSystems architecture allows you to set up an environment that scales to accommodate large numbers of developers so they can work simultaneously without being hindered by performance issues. You do this by isolating the services in charge of compiling the applications (deployment controller) and executing the applications (front-end server):

  • In the OutSystems deployment controller server, enable multiple processors in the deployment controller server to ensure that simultaneous compilation processes do not affect processing capacity.
  • In self-managed deployments, you can also separate the OutSystems deployment controller server from the OutSystems front-end server so the application compilation process does not affect the execution of applications.

With these settings, 20 or more developers can work on the same OutSystems server without any issues. For example, an OutSystems customer in the banking industry has 60 developers working simultaneously on an OutSystems development environment without any performance problems.

Staging control for complex deployment scenarios

OutSystems provides fine-grained control over deployment operations by providing the ability to choose individual modules to push. This enables someone to quickly push a small hotfix, instead of deploying the full app, which can impact scalability. In addition, deployment plans are validated to make sure that all dependencies are satisfied and apps are consistent.

User governance for application portfolios

In typical enterprises, it is very common for a given IT user to have different responsibilities and access levels for different applications. For example, an in-house developer might be allowed to change an application, but not allowed to open or reuse the "Intranet" application (where the master intranet data and services reside). Another user might be able to open and reuse services from Directory and Intranet, but only change the "Vacations" application.

The OutSystems low-code platform enables you to scale the configuration of such rules along with the definition of the roles and their permission levels across an entire infrastructure. The desired role can then be assigned to a user in the desired applications.