With a subscription to OutSystems Platform, an organization's infrastructure is automatically provisioned, configured and tuned for high availability, performance, security and reliability:
Infrastructure provider: The physical infrastructure of OutSystems Platform is hosted in the secure data centers of Amazon Web Services.
Starter environment configuration: The starting configuration for OutSystems Platform is one production environment and two non-production environments.
Supported stack configurations: OutSystems Platform allows organizations to choose their preferred SDK (JEE or .NET).
Infrastructure geography: OutSystems Platform gives organizations the freedom to deploy their applications on an infrastructure that is physically distributed around the globe.
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 Platform.
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 Platform 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.
Starting environment configuration
The starting configuration for OutSystems Platform includes three environments:
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 starter configuration is adequate for a team of up to five developers who are doing their usual daily work. In production, it is capable of serving up to 30 requests per second and supporting approximately 600 concurrent users based on benchmarking against a well-designed and scalable application.
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 Platform. Each front-end server has 4 GB (.NET stack) or 8 GB (Java stack) 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 3.75 GB of memory, 1 virtual core and 100 GB of storage capacity.
Virtual private cloud (VPC). The VPC service provides a logically isolated private network for an organization's OutSystems Platform 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 Platform as a secure and seamless extension to their data centers.
If additional scalability is needed to meet performance requirements, the OutSystems Platform infrastructure can be scaled on demand.
Supported stack configurations
Depending on whether an organization chooses JEE or .NET as their SDK, applications will be generated using standard, optimized Java or C# code and deployed to JBoss or Microsoft IIS application servers. OutSystems Platform does not use a proprietary runtime engine. All applications built with OutSystems Platform rely on standard Java or .NET.
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 Platform visual query capabilities or the tools they already have.
The visual modeling capabilities abstract the underlying stack and ensure portability between stacks. However, the SDK chosen is relevant when developing OutSystems Platform extensions. OutSystems Platform allows developers to use Eclipse or Visual Studio to:
Deploy their own existing Java or C# code and libraries to OutSystems Platform so they can easily reuse logic they have previously built.
Create Java or C# components that can use the full scope of the underlying JEE or .NET stacks. OutSystems Platform automatically catalogs them 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 Platform. Once deployed, these custom integration adapters become available as new visual building blocks that developers can use in their applications.
This extensibility makes OutSystems Platform 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.
When subscribing to OutSystems Platform, organizations choose the region(s) they will be using. The following regions are available:
Asia Pacific: Australia, Singapore, and Tokyo
Europe/Middle East/Africa: Ireland
Americas: United States (Northern Virginia and Oregon)
Whenever possible, organizations should consider locating their OutSystems Platform 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 public 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
In OutSystems Platform, 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 Platform 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.