Beruflich Dokumente
Kultur Dokumente
OutSystems Platform
Enterprise Cloud
Technical Specifications
OutSystems provides the only open, high-productivity application platform (PaaS) that makes
it easy to create, deploy and manage enterprise mobile and web applications - helping IT
deliver innovative business solutions fast.
OutSystems Platform enables rapid delivery of beautiful applications for all devices utilizing
responsive or device-specific web design. The Platform empowers IT to attack changing
business requirements by automating core DevOps best practices such as continuous
integration and delivery. It is available as a public cloud, private cloud and on-premises
solution.
Table of Contents
1 OutSystems Platform Overview ............................................................................................................................................ 3
1.1
2.2
2.3
2.4
2.5
3.2
3.3
3.4
3.5
4.2
4.3
4.4
4.5
4.6
4.7
Page 1 / 20
www.outsystems.com
4.8
Data Transfer............................................................................................................................................................................................................................................. 14
4.9
7.2
7.3
Page 2 / 20
www.outsystems.com
Page 3 / 20
www.outsystems.com
Some characteristics of OutSystems Platform running in our public cloud, either built-in or available as optional
services to which you can subscribe:
Standardized for Java or .NET stacks over a MySQL, Oracle or Microsoft SQL Server database
VPN to your data center for easy and secure integration to existing systems
Full-cloud or hybrid configurations - e.g. Development and Test in the cloud, Production on-premises or
vice-versa
However, the fact that OutSystems Platform runs on Amazon AWS doesnt mean we are locked into a single IaaS
vendor. OutSystems Platform internal architecture abstracts the IaaS layer, allowing portability between IaaS
vendors. See section Public, Private and Hybrid deployments for further information.
Page 4 / 20
www.outsystems.com
Multiple environments allow you to develop and test your applications' functionality and integrations before
deploying to production or releasing them to customers. Additionally, this environment separation allows better
access control; less risk in development (making a mistake in a development database is different from making a
mistake in a production database); and, in scenarios where your applications have sensitive personal data, you
usually dont want your development and QA teams using this data in their tests.
The starter configuration is adequate for a team of up to 5 developers, on their usual daily work, and, in
Production, it is capable of serving up to ~30 requests per second, approximately 600 concurrent users
(benchmarked against a well-designed and scalable application).
Figure 4 depicts the physical architecture of the starter configuration.
Database servers
Each Class 1 Database Server is a virtual relational database instance with 3.75 GB of memory, 1 virtual core
roughly equivalent to a 3.3 GHz Intel Xeon processor, and 100 GB of storage capacity.
If you need additional scalability or performance requirements, you can always scale your OutSystems Platform
infrastructure on demand. See section Vertical Scalability for additional details.
2001-2015 OutSystems - All rights reserved
Page 5 / 20
www.outsystems.com
The starter configuration also includes 200 GB/ month of outbound data transfer per environment. Usage above
this limit will be invoiced. Inbound data transfer is always free, in order to allow you migrate your data to the
cloud without worries. See section Data Transfer for additional details.
Although OutSystems Platform visual modeling capabilities abstract the underlying stack and ensure portability
across stacks, the SDK you choose is relevant when developing OutSystems Platform Extensions. Integration Studio,
together with Eclipse or Visual Studio, allows you to:
Deploy your own existing Java or C# code and libraries to OutSystems Platform, in order to easily reuse
logic youve 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 visually assemble new applications.
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 you can use
in your applications.
This extensibility capability makes OutSystems Platform very flexible, allowing you to leverage your 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 whenever you think about migrating from our public cloud
infrastructure to your own data center or to a different IaaS provider. This architecture will never lock you to a
particular cloud or deployment model.
2001-2015 OutSystems - All rights reserved
Page 6 / 20
www.outsystems.com
Whenever possible, consider locating your Platform instance in a region that reduces distance (and latency) in the
following scenarios:
On-premises integration performance: when you need to integrate your applications with legacy
services or applications hosted in your own data center. This becomes increasingly important if you plan to
engage in long term hybrid or on-premises to cloud scenarios.
Co-location with external cloud applications and services: in scenarios where you are already using
some of the AWS cloud services, youll have advantages in deploying OutSystems Platform in the same
region, to decrease communication latency and reduce data transfer costs on your other AWS
infrastructures.
Application performance to end users: you can provision resources closer to your end users, so they have
a better experience when running their applications, in case the users are concentrated in a single location.
Additionally, to meet legal requirements, you can select a region to ensure that your data resides only in the region
you specify.
Note: To choose the High Availability Database option when using a Microsoft SQL Server database, select either the European or
North American regions. The High Availability Database option for Microsoft SQL Server will be available to all regions in the future.
Page 7 / 20
www.outsystems.com
This gives you an extended security level regarding the code generated by the platform, and ultimately reduces the
cost of maintenance as new security issues are automatically fixed in customer applications.
Page 8 / 20
www.outsystems.com
Figure 7. Easily define the level of access that should be provided to each role in your IT team
To enable SSL/TLS on an OutSystems Platform environment you should associate the environment's address (single
frontend IP address or the Load Balancer address, both available in the management console) to your preferred
domain name and purchase an SSL certificate securing that domain. By requesting this configuration, using the
appropriate option in the management console, OutSystems Platform enables HTTPS to all your applications in that
environment, by configuring the underlying Application Server to use your certificate. No need for specific HTTPS
programming and testing headaches.
Page 9 / 20
www.outsystems.com
You can subscribe to additional VPNs, for example to connect to multiple geographic locations or to create a
redundant VPN connection to provide failover.
Page 10 / 20
www.outsystems.com
Temporarily increase the computing power of your front-ends, in order to finish processing computationintensive jobs;
Enhance the processing power of the database, in order to handle increasing load, as your application
portfolio grows.
Page 11 / 20
www.outsystems.com
Front-end Servers
.NET stack
Class 1
Class 2
Class 3
Java stack
3.75 GB of memory
7.5 GB of memory
7.5 GB of memory
15 GB of memory
15 GB of memory
30 GB of memory
Database Servers
Class 1
Class 2
Class 3
Class 4
Class 5
Front-end Servers of the same class differ between stacks due to higher system requirements in the Java version of
OutSystems Platform. But you can expect similar responsiveness between stacks, for front-ends of the same class.
Page 12 / 20
www.outsystems.com
From the backups, OutSystems is able to recover all your applications source versions, all configurations and
application runtime data. Front-end server local file system is not backed up.
A database restore is an operation requested in the management console and will be scheduled and done in
agreement with customers.
Page 13 / 20
www.outsystems.com
Fault-tolerant Front-ends: by using the Horizontal Scalability service, OutSystems places additional frontends in separate and isolated Availability Zones (but always in the region you specify). This has no
performance impact on your applications, since all Availability Zones in the same region are connected
through special low-latency links. In the rare scenario of a data center disaster or failure, this implies that
the availability of your other front-end servers wont be affected.
Database Replica: under the High Availability configuration, your Production database instance has a
standby replica in a different Availability Zone. In the event of a Database Instance failure, planned
database maintenance, or an Availability Zone failure, the Platform will automatically failover to the up-todate standby so that database operations can resume quickly. See the High Availability Database section
for additional information.
Page 14 / 20
www.outsystems.com
4.10.1 Database
The core of a business application is its data. Most data related operations - such as modeling, deploying changes,
optimizing via indexes, querying/ updating data, and testing your queries - are provided by OutSystems Platform in
its visual modeling environment. You can also integrate with external databases and, if needed, use the Platforms
Advanced Query feature to write complex SQL statements. You will seldom find the need to access the database
directly. But, if you do, you can use your favorite database clients, such as TOAD, Oracle SQL Developer, or Microsoft
SQL Server Management Studio, to directly access your applications database to perform operations such as:
Read or Write data in bulk to your application tables e.g. deleting data in a development table
Page 15 / 20
www.outsystems.com
Create and run database specific Extract, Transform and Load (ETL) processes to load data from files or
external data sources - e.g. to extract and load Production data to the Test environment
Read data of the Platform metamodel. This can be helpful in advanced scenarios.
We do however protect you from making changes that could affect the health of your PaaS. In that matter, we
restrict you from writing or changing the Platforms internal tables and views; from manipulating the structure of
database objects (tables / views / indexes / etc.) and from creating database logic (such as functions, views,
procedures, etc.) directly in the cloud database.
Use Extensions created in Integration Studio, together with Eclipse or Microsoft Visual Studio, to write
native Java or C# code that is deployed, runs and is monitored as part of your application. This code can
reuse local services and the entire scope of the JEE or .NET frameworks.
You can request access to a folder in the local file system of your environments, allowing you to create and
access files from your applications:
o
This folder is specific to each frontend server. It cannot be accessed from another front-end in your
PaaS.
Your applications can have access to the local folder in each front-end by using the Filesystem
extension. Direct access to the file system (e.g. using FTP or similar protocol) is not allowed.
Uploading large files with seed data that your applications use
Use as a destination folder of third party libraries that require reading or writing to the file
system
This folder is not backed up by OutSystems at any point in time. If you wish to store files
persistently, you should use other options (see section File Storage).
Configuration of low-level runtime settings (such as HttpRuntime parameters or custom handlers) can be
achieved by deploying the Service Center Factory Configuration component.
Page 16 / 20
www.outsystems.com
For instance, if you choose the Amazon S3 file storage service, you can use this Amazon S3 component,
built by a member of the OutSystems community. This component encapsulates the Amazon S3 API in an
Extension that you can easily reuse as a visual building block in your applications.
This is a good option when you dont want to fill your database with large amounts of binary information
that might create unnecessary (store and retrieve) load on the application server and database.
Even though OutSystems is running on Amazon, the S3 service should be acquired directly from Amazon,
should you wish to use it.
Applying a maintenance update: in this scenario you have to install the update on each of your front-end
servers and refresh your applications code to incorporate the corrections and improvements of the new
software version.
Applying a major version update: in this scenario, in addition to updating your front-end servers and
refreshing your applications, you must review the breaking changes checklist and, if needed, modernize
and test your applications.
Notice that, in some cases, your underlying infrastructure - e.g. Operating System, Database version or
Framework - might need to be updated as well, to ensure your applications keep running on top of a stateof-the-art stack.
OutSystems takes care of the installation of new updates/stacks in all your environments and databases. Customers
only have to update their applications (or request an Application Upgrade service to OutSystems or one of its
partners).
As software updates can have impact on your running applications, these interventions are always scheduled and
agreed upon by OutSystems and the customer, to ensure coordination and minimal business impact.
Private Cloud OutSystems Platform can reside in a private cloud provisioned by a third-party service
provider or in a private cloud within your data center.
On-Premises customers have the option to run OutSystems Platform as an on-premises solution.
Hybrid consists of mixing the public and private cloud models by having some environments running in
the public cloud and some running in your own private cloud or datacenter.
In a hybrid deployment, OutSystems Platform abstracts the environments physical location and makes them
centrally manageable. The Platform and your environments are still able to communicate securely, either via SSL or
via an encrypted Virtual Private Network (VPN).
Common scenarios for a hybrid deployment are:
Page 17 / 20
www.outsystems.com
Gives you the ability to start your project immediately, but keep control over sensitive production
data or underlying physical architecture and operations.
You already have your own virtualization environment setup to support Development and Test,
but want to benefit from the cloud elasticity and/or high availability for deploying your
applications.
Two Production environments, one in the cloud and one in your datacenter.
Public facing applications deployed in the cloud Production environment. Internal use
applications deployed in your datacenter. (Additional Production environments are optional.)
On-premises environment used as a caching service for legacy systems. The cloud environments
integrate with this replica environment, avoiding having to access the legacy system all the time.
In Figure 14 you can see a screenshot depicting an infrastructure with two environments deployed in the cloud
(Development and Quality) and two environments deployed on-premises (Pre-Production and Production).
Figure 14. Infrastructure with two environments deployed in the cloud and two environments deployed on-premises
Page 18 / 20
www.outsystems.com
Advise on the cloud scenario that best fits customer requirements: private, public or hybrid
At the end of the Assessment, a Roadmap Plan fully adapted to the customers scenario will be presented including
next steps and best practices recommendations. This plan will provide the following information:
At the end of the Migration Service, your OutSystems application portfolio will be running in the cloud with minimal
impact on your business operation. This service will ensure you:
Page 19 / 20
www.outsystems.com
These services can also be used for the off-boarding processes, in which customers want to move their application
portfolio to their own private cloud or on-premises data center. These services complement the full commitment of
OutSystems Platform to no lock-in.
Discontinuation policies are provided for each version of the platform, and if you ever choose to terminate your
subscription a full detachment and off-boarding process is documented and supported, allowing you to keep your
data (in the form of a standard MySQL, Oracle or Microsoft SQL Server database backup file), and applications
generated source code.
Reusable OutSystems architectures for maximum reutilization and proper architecture growth
Integration strategy and approach to handle third party SaaS, cloud or on-premises systems
At the end of the Acceleration Service, a checkpoint report fully adapted to your case is presented with next steps
and recommendations. This report provides you with an assessment of your team towards your own autonomy
including:
Next recommended Acceleration Program steps Community support, technical assurance, or continued
acceleration
Page 20 / 20
www.outsystems.com