Platform architecture overview

The OutSystems architecture is the pivotal element that establishes high-performance low-code. It is a layered ecosystem that enables developers to build applications quickly that extend systems of record, transform complex internal business processes, rewrite critical core business systems, or create delightful, world-class mobile and web apps.

high performance low code platform layers 

OutSystems has multiple deployment options, which allows you to pick the one that best suits your enterprise infrastructure and tech stack:

  • Cloud-native: OutSystems Developer Cloud (ODC)
  • Cloud-ready PaaS: OutSystems 11 Cloud
  • Self-managed IaaS: OutSystems 11

For the cloud-based infrastructures, OutSystems shares control of the cloud environments with customers. Visit our technical documentation for further details on the OutSystems Cloud Shared Responsibility Model.

Table of contents

Cloud-native architecture: ODC

outsystems developer cloud platform diagram 

ODC is a cloud-native, app development platform that enables you to address your most strategic, mission-critical needs. It provides a modular, scalable environment for developing and deploying your apps, all packaged in a modern architecture based on best practices in cloud-native infrastructure, management, and operations. Four main characteristics separate it from run-of-the-mill low-code platforms:

  • Power: It gives you the freedom to innovate and deliver whatever the business requires – no matter the complexity. You have everything you need to become a cloud-native powerhouse.
  • Security: You can trust that your most important assets are safe, from development through production.
  • Agility: It offers you the peace of mind of knowing that your apps will continuously evolve at the speed of your business, hassle-free and without technical debt.
  • Scale: You can be confident that the experiences you build will handle whatever the world throws at it.

The development platform consists of multiple services, each responsible for specific functions that facilitate the building and deployment of apps. All the platform services have a resilient microservices design with secure web service interfaces. Developers, DevOps engineers, and architects interact with these services using ODC Studio and the ODC Portal. They are all also multi-tenant and benefit from automatic recovery and continuous upgrades. With ODC, applications are always on, highly available, and utilize a global content delivery network (CDN) to deliver application content anywhere in the world with reduced latency.

The infrastructure that hosts ODC is running in multiple availability zones (AZs) to provide a higher level of resiliency for customer applications, even in non-production stages. Load balancing is done via an API Gateway, and traffic routing to healthy instances is automatic. The runtime also has built-in application health monitoring and will seamlessly launch new instances of the application as needed to replace any unhealthy ones

Using Aurora Serverless V2, the data in the database is automatically written to three AZs simultaneously. The data is also backed up continuously and incrementally, which allows for data to be restored at any point in time within the backup retention period.

In OutSystems Developer Cloud, the runtime is independent of the Platform and comprises multiple stages, each independent of the other, that serve to host and run the deployed apps. Staging lets multiple teams deliver independently and in parallel, a foundational part of the continuous integration approach to software development.

Using containers, ODC automatically provides scaling without any setup or configuration necessary. Additional instances of an application will be deployed to handle increased load with traffic automatically being load balanced based on availability. Automatic scaling is not just limited to application compute. ODC databases also automatically scale up and down based on load.

OutSystems gives organizations the freedom to deploy their applications on an infrastructure that is physically distributed around the globe. When subscribing to OutSystems, organizations choose the region(s) they will be using and the following regions are available for ODC:

  • Americas: United States (Virginia), Canada (Central), Brazil (São Paulo)
  • EMEA: Germany (Frankfurt), United Kingdom (London)
  • APAC: India (Mumbai), Singapore, Japan (Tokyo), Australia (Sydney)

Whenever possible, organizations should consider locating their OutSystems instance in a region that reduces distance (and latency) to optimize application performance and data transfers. Additionally, to meet legal requirements, organizations can select the regions to ensure that specific data resides in a specific region.

Cloud-ready architecture: OutSystems 11 Cloud

OutSystems 11 Cloud (OutSystems Cloud) is a public cloud with its physical infrastructure hosted in Amazon Web Services (AWS) data centers. Each customer has a dedicated set of virtual machines and database instances protected inside a dedicated Virtual Private Cloud (VPC), which is logically isolated from the internet and other virtual networks on AWS.

OutSystems Cloud uses a layer of AWS Security Groups, acting as firewalls, to control the traffic allowed between the customer environments and the internet. Additionally, OutSystems shields each environment using a Web Application Firewall (WAF), which blocks malicious traffic from reaching the running web applications. To ensure that OutSystems keeps full flexibility on the reaction to evolving security threats, maximum availability, and compatibility with OutSystems product evolution, the same WAF's policies apply to all customers.

The OutSystems Cloud high-availability option enables customers to deploy front-end servers across different AWS Availability Zones and set up a database replica in a different Availability Zone than the primary database.

Additionally, customers who need extra layers of compliance have the option to upgrade to a high-compliance OutSystems Cloud, which reinforces security, risk management, and monitoring for a SOC2 Type II compliant cloud platform. From an infrastructure perspective, this option adds:

  • The deployment of anti-virus and intrusion detection software on all OutSystems Cloud servers.
  • Log collection from all system components and corresponding feed into Splunk SIEM (Security Information and Event Management) service. Only a limited number of OutSystems staff with security responsibilities has privileged access to the SIEM.
  • Enforced HTTPS communications.

The diagram below shows the architecture of the base setup for a Standard Edition with high-availability option in a high-compliance OutSystems Cloud:

standard edition base setup architecture diagram

OutSystems Cloud and OutSystems 11 shared platform architecture

The OutSystems PaaS cloud-ready (OutSystems Cloud) and IaaS self-managed (OutSystems 11) deployment options share a platform architecture. This platform architecture provides components, tools, environments, code generation and more to build apps that are extensible and can run in a standard .NET application server. OutSystems doesn't lock customers into any proprietary technology.

Our platform has environments, tools and components that cover the full application lifecycle management process and the different development tools are the following:

  • Service Studio: The environment for creating all the parts of the application stack: the data model, application logic, UI, business process flows, integrations, and security policies.
  • Integration Studio: The environment for creating components to extend the OutSystems platform and to integrate with third-party systems.
  • Platform Server: The server component that is the core of the OutSystems platform. It generates, optimizes, compiles and deploys applications to a standard web application server. It also manages scheduled batch jobs and application logs.
  • Builders: SaaS tools (Software as a Service) to simplify the development of complex and time-consuming activities such as creating workflow apps, compressing the UX/UI design for high-quality mobile app experiences, and simplifying the integration with external systems.
platform development environment

The OutSystems management consoles are:

  • Service Center: Manages the operational aspects of an environment, such as connection strings, web service end-points and application properties.
  • LifeTime: Enables the centralized management of all development. Development, QA and production environments - from staging apps between environments and monitoring their performance to managing IT team permissions.

The OutSystems platform does not use any runtime engines or proprietary interpreters to run your applications:

  • Frontend server(s): Standard web application servier (IIS Application Server) environment complemented with extra OutSystems services.
  • Deployment controller server: Compiles the applications and deploys in frontend servers.
  • Database server: The database is a relational database management system (RDBMS), such as Microsoft SQL Server, Azure SQL and Oracle database.
outsystems management consoles

What happens to apps developed in OutSystems if the vendor and platforms change? For worry-free and risk-free implementation, OutSystems is the only solution that truly offers "no vendor lock-in”. OutSystems doesn't use a proprietary runtime engine to run applications. Instead, the OutSystems platform takes your application models and generates standard .NET applications that are ready to run on a standard web application server that ultimately does not require OutSystems to run.

no vendor lock in and risk free implementation 

Therefore, if you ever decide to stop using the OutSystems platform, you can detach the source code of your applications. You can then manage them as any other .NET application and use the IDEs and version control systems of your choice. You are not locked in to OutSystems if you have to change your tools. This provides customers the assurance that, if they ever stop using OutSystems, their IP is not lost, and applications will continue to run as-is in their own environment.

app environment