Table of contents
- Infrastructure provider
- Baseline configuration
- Supported stack configurations
- Infrastructure geography
- Infrastructure multi-tenancy isolation
The OutSystems platform runtime layer automatically provisions, configures, and tunes an organization's infrastructure for high availability, performance, security and reliability:
The physical infrastructure of OutSystems Cloud is hosted in the secure data centers of Amazon Web Services. Amazon Web Services (AWS) is the market leader and the most mature public cloud infrastructure as a service (IaaS). It has enterprise-grade availability with guaranteed service levels of 99.9%, and it is the IaaS technology that has been accredited by the largest number of security compliance standards.
Although OutSystems Cloud runs on Amazon AWS, customers are not locked-in to a single IaaS vendor. The OutSystems platform internal architecture abstracts the IaaS layer, which enables portability between IaaS vendors.
A typical starting configuration for OutSystems Cloud includes a development, a non-production (test), and a production runtime environment.
Multiple environments enable organizations to develop and test the functionality of their applications and integration before deploying them to production or releasing them to customers. Environment separation also allows better access control. There is less risk in development. Making a mistake in a development database is different from making a mistake in a production database, for example. In scenarios with sensitive personal data, the data is protected because development and QA teams do not use this data in their tests.
The physical architecture of the starter configuration includes the following:
- Development, test and production front-end servers. Each front-end server is an isolated virtual instance with a set of resources well-suited for developing and running mobile and web applications with OutSystems. Each front-end server has 4 GB of memory and 2 virtual cores.
- Management (lifetime) front-end server. The management front-end server is a virtual instance, isolated from the other environments, with 4 GB of memory and 2 virtual cores.
- Database servers. Each database server is a virtual relational database instance with 8 GB of memory, 2 virtual cores and 100 GB of storage capacity.
- Virtual private cloud (VPC). The VPC service provides a logically isolated private network for an organization's OutSystems environments. This allows the cloud environments to communicate with the organization's on-premises systems over an IPsec VPN tunnel, thereby enabling organizations to leverage OutSystems as a secure and seamless extension to their data centers.
If additional scalability is needed to meet performance requirements, the OutSystems Cloud infrastructure will scale as needed.
The Cloud infrastructure baseline deployed varies depending on the OutSystems edition.
Typical starting configuration:
- One front-end for each non-production environment
- One database server shared across non-production environments
- Two front-ends for the production environment
- One database server dedicated to the production environment
Supported stack configurations
OutSystems Cloud allows organizations to choose their preferred database engine (Microsoft SQL or Oracle). OutSystems deploys applications to a standard operating system and application server, without any proprietary runtime engine.
For the database engine, the options are Oracle or Microsoft SQL Server. Organizations can take full advantage of their underlying capabilities by using either the OutSystems visual query capabilities or the tools they already have.
The visual modeling capabilities abstract the underlying stack and ensure portability between stacks. OutSystems allows developers to:
- Deploy their own existing traditional code and libraries to OutSystems so they can easily reuse logic they have previously built.
- Create components in traditional code that can use the full scope of the underlying stack. OutSystems automatically catalogs these components and makes them available to other developers who can then use them to assemble new applications visually.
- Package integration adapters written in native languages and deploy them to OutSystems. Once deployed, these custom integration adapters become available as new visual building blocks that developers can use in their applications.
This extensibility makes OutSystems very flexible and enables developers to leverage existing development skills, while deploying code to the cloud, instead of having to comply with complex and custom cloud-deployment containers. It is also a great benefit should an organization decide to migrate from our public cloud infrastructure to its own data center or to a different IaaS provider. This architecture will never lock an organization to a particular cloud or deployment model.
OutSystems Cloud 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. The following regions are available for OS11:
- In Asia Pacific: Sydney, Singapore, Tokyo, Hong Kong, Mumbai, Bahrain, Seoul, and Jakarta
- In Europe/Middle East/Africa: Ireland, Frankfurt, London, and Cape Town
- In the Americas: United States (Northern Virginia, Ohio, and Oregon), Canada, and São Paulo
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.
For more details, see Choosing the AWS Regions for an OutSystems Cloud deployment.
Additionally, to meet legal requirements, organizations can select the regions to ensure that specific data resides in a specific region.
Infrastructure multi-tenancy isolation
Support for multi-tenancy—hosting multiple customers (or tenants) efficiently in the platform layer while keeping them isolated—is a basic aspect of OutSystems. In the OutSystems Cloud, multi-tenancy is provided by the underlying AWS IaaS and its virtual machines logically isolated from other tenants. At the database level, the multi-tenancy is assured by the Amazon Relational Database Service (Amazon RDS), where each database instance operates logically isolated. Additionally, OutSystems prevents cross-tenant access by making sure each tenant's front-ends and database instances share a Virtual Private Cloud exclusive to the tenant.
This VPC isolation is preserved even when scaling resources. The OutSystems infrastructure can grow to accommodate demand spikes or additional capacity with no impact on other customers, and OutSystems guarantees that the additional resources will be part of the customer’s VPC.
Each OutSystems customer's applications share the customer's common isolated set of environments and are deployed independently of each other, even though they share the same resources. The entire application portfolio shares the same optimized infrastructure and scales evenly as new computing resources are added.