Standard architecture with no lock-in
OutSystems takes your application models, and generates standard and optimized applications that are ready to run on a standard web farm or cloud architecture. OutSystems also uses a standard relational database to deploy and store all data that your applications use.
Once generated, applications can run independently of any OutSystems components, and all of your application data remains under your control and accessible with standard tools.
This approach ensures that:
- The applications you create are optimized for performance and security - whenever you redeploy your models, OutSystems regenerates the applications with the latest security protections or performance optimizations. We leverage best of breed code patterns, validated for security best practices during our engineering processes, and optimized for performance across all different types of workloads across our diverse customer base.
- Your applications are compiled to standard code, using non-proprietary frameworks. As technologies evolve, OutSystems evolves its compiler, taking advantage of new frameworks or new framework capabilities, and abstracting you from such changes.
- Your applications run on top of standard web application servers and databases, independent of OutSystems proprietary components. This gives you the flexibility to deploy your apps using any Infrastructure as a Service (IaaS) provider, or on-premises. You also retain control of the underlying infrastructure components over which you can use your standard processes and tools (e.g. for application monitoring or security scanning)
- You'll never be locked-in to OutSystems. Given OutSystems generates and deploys standard applications, on standard technologies, with a standard database model, your investment is always protected. At any point, if you ever stop your OutSystems subscription, you can retrieve and keep:
- the last version of the generated source code for your applications - so you can deploy and run them in your infrastructure with no need for custom interpreters, runtimes or any kind of proprietary library. If you have to make small changes to your applications, you can do so with standard tools (e.g. change them with Visual Studio, manage them under a standard source control system).
- your application data, in the last version of your database schema - so you can continue to use existing data for existing applications, progressively migrate or integrate it from other applications, or just keep it for historical purposes.
Check these articles to learn more: