Creatio main application

PDF
Beginner

The classic 3-tier Creatio architecture is cross-platform, flexible, and scalable.

Creatio allows for the following deployment options:

  • Without fault-tolerance. Basic infrastructure option without using load balancers.
  • With fault-tolerance. Infrastructure option with horizontal scaling. Fault tolerance is implemented using Creatio server, database, and caching load balancers.

Creatio layers 

Creatio has a classic 3-tier architecture that has the following layers: data, application, presentation.

scr_CreatioLevels.png

Presentation layer 

The presentation layer enables users to access the Creatio UI via a web browser or a mobile app for Android or iOS. The layer contains web pages, JavaScript code, and styles that define the UI logic and look.

The key technologies used here are Angular, JavaScript, Ext.JS, HTML5, CSS.

The supported browsers include Chrome, Firefox, Edge, and Safari.

Creatio mobile application is an alternative client to access the application that uses the UI optimized for Android and iOS devices.

Application layer 

The application layer is implemented on .NET Framework and .NET Core frameworks. You can deploy the layer on Windows, Linux, Mac web servers. The application layer defines the core business logic, such as dynamic case management, business process engine, phone integration, etc.

The layer handles user authentication/authorization, license checks, and instantiation. It also runs custom business logic implemented via Creatio and low-code tools.
This layer corresponds to the application server on the infrastructure level.

Data layer 

The data layer stores and manages all customer data, application settings, metadata, and user authentication data.

Creatio uses it for in-memory storage of the session data and frequently used caches, as well as quick interactions between web farm nodes.

Supported DBMS: Microsoft SQL Server, Oracle and PostgreSQL.

Caching server: Redis database.

The layer corresponds to the caching server and database server on the infrastructure level.

Creatio infrastructure 

The Creatio infrastructure includes the following components:

  • Application server.
  • Database server.
  • Caching server.
  • Version control system server (optional). Needed for multi-user development.
  • Mobile application (optional). Opens Creatio on a mobile device.

View the general architectural diagram of Creatio without fault tolerance in the figure below.

Note. The architecture of Creatio with fault tolerance requires load balancers, as well as additional application, Redis, and database servers. Learn more: Horizontal scaling.

Application server 

The application server corresponds to the application layer and performs the main computations.

Creatio supports the .NET Framework and .NET Core frameworks.

Setup options for Creatio products
Creatio products .NET Framework .NET Core
Marketing
+
+
Sales Enterprise
+
+
Sales Commerce
+
 
Sales Team
+
 
Service Enterprise
+
+
Customer Center
+
 
Studio
+
+
Lending
+
 
Bank Customer Journey
+
 
Bank Sales
+
 
Sales Enterprise & Marketing & Service Enterprise
+
+
Sales Enterprise & Marketing & Customer Center
+
 
Sales Commerce & Marketing & Customer Center
+
 
Sales Team & Marketing
+
 
Sales Team & Marketing & Customer Center
+
+
Bank Sales & Bank Customer Journey & Lending & Marketing
+
+

.NET Framework application server 

Creatio on .NET Framework runs under Microsoft Internet Information Services (IIS) in Windows.

Learn more about the system requirements for .NET Framework Creatio product servers in the Requirements calculator.

The .NET Framework Creatio application server consists of the following components:

  1. The loader(WebAppLoader), an application that performs Creatio service functions and redirects users to the configuration component of the main Creatio application.

    The loader handles the following:

    • user authorization
    • license verification and user authentication
    • running the background task scheduler

    The loader is located in the Creatio root folder on the file system level.

    After the application loader authenticates a request, the users can work with the configuration component.

  2. The configuration component (WebApp), an application that implements specific configuration in Creatio and handles the business logic.

    The configuration component is located in the Terrasoft.WebApp folder on the file system level.

.NET Core application server 

Creatio on .NET Core runs under Kestrel on Linux.

Learn more about the system requirements for .NET Core Creatio product servers in the Requirements calculator.

Creatio on .NET Core is monolithic and serves as both the application loader and the configuration component.

Learn more about .NET Core Creatio products in a separate article: Creatio .NET Core products.

Database server 

The database server is a part of the Creatio data layer.

The database stores the following data:

  • user data
  • data required for Creatio operation
  • configuration settings that determine the product functionality

You can use the following DBMS:

  • Microsoft SQL Server
  • Oracle (for on-site deployment)
  • PostgreSQL

Find the up-to-date versions of supported DBMS in the Requirements calculator after performing the calculations.

Setup options for Creatio products
Creatio products
MS SQL
Oracle
PostgreSQL
PostgreSQL
(.NET Core)
Marketing
+
 
+
+
Sales Enterprise
+
 
+
+
Sales Commerce
+
 
+
 
Sales Team
+
 
+
 
Service Enterprise
+
 
+
+
Customer Center
+
 
+
 
Studio
+
 
+
+
Lending
+
 
+
 
Bank Customer Journey
+
 
+
 
Bank Sales
+
 
+
 
Sales Enterprise & Marketing & Service Enterprise
+
+
+
+
Sales Enterprise & Marketing & Customer Center
+
 
+
 
Sales Commerce & Marketing & Customer Center
+
 
+
 
Sales Team & Marketing
+
 
+
 
Sales Team & Marketing & Customer Center
+
 
+
+
Bank Sales & Bank Customer Journey & Lending & Marketing
+
+
+
+

Redis caching server 

Redis is a part of the Creatio data layer. It handles the following tasks:

  • user and application data storage (user profile, session data, etc.)
  • cached data storage
  • data exchange between web farm nodes

Creatio uses data warehousing to achieve these goals. This technology is based on an object class model, a unified API that manages the application's access to data in an external repository. Creatio uses Redis caching server as the external repository.

Redis supports the following data storage strategies:

  • Data storage in memory only. Redis converts a persistent database to a caching server.
  • Periodical saves to drive (default). Redis creates a data snapshot every 1-15 minutes depending on when the previous snapshot was created and the number of modified keys.
  • Transaction log. Redis synchronously records each change to a special append-only log-file.
  • Replication. You can assign a master server to each Redis server. Redis will replicate all changes to master servers on slave servers.

Define the data storage strategy in Redis server configuration.

Version control system server (optional) 

The version control system server is an optional Creatio component. Use this component when developing custom configurations in parallel with the normal operation of Creatio. Version control system is required for multi-user development. Learn more about setting up a version control system server in a user documentation article: Version control system for development environments.

The version control server handles the following functions:

  • Migrating changes between Creatio applications during the development. The version control system transfers changes via packages stored as sets of files and directories on the file system level.
  • Storing the configuration status as packages of a specific version. The version control system stores all configuration elements that you develop in the packages.

The Creatio IDE is designed to work with Subversion, but you can use other version control systems when developing in third-party IDEs.

Horizontal scaling 

You can enhance the performance of large-scale Creatio projects through horizontal scaling. Use horizontal scaling for a Creatio application with fault-tolerance.

The Creatio application with fault tolerance includes the following components:

  • Load balancer. The load balancer may be either hardware or software. To work in fault-tolerant mode, use an HTTP/HTTPS traffic balancer that supports WebSocket protocol. Learn more about installing and setting up the balancer in a user documentation article: Application server web-farm.
  • Web farm (multiple application servers).
  • Caching server that uses the Redis Cluster mechanism (multiple Redis caching servers).
  • Database server or database cluster (multiple database servers).
  • Version control system server (optional).

View the general architectural diagram of Creatio with horizontal scaling in the figure below.

scr_WebFarmArchitecture.png

Deployment options 

Creatio supports the following deployment options:

  • on-site (deploy the Creatio application on the customer's local servers)
  • cloud (deploy the Creatio application on cloud)

On-site deployment 

When deploying Creatio on-site, the customer is responsible for all server infrastructure expenses, including the installation, configuration, maintenance, and administration.

On-site deployment advantages:

  • Fast and convenient development.
  • Independent development environments. Since development is performed in a separate Creatio application, it cannot affect other users.
  • Version control system lets you save and migrate changes.
  • IDE and continuous integration pipeline setup are supported.

On-site deployment constraints:

  • Dedicated servers are required to deploy Creatio components.
  • Continuous updates, debugging, infrastructure administration are required.

When deploying Creatio on-site, make sure that both Creatio servers and client computers meet the system requirements. To calculate server parameters required to deploy Creatio and containerized components, use the Requirements calculator.

Learn more about Creatio on-site deployment and setup stages on Windows or Linux in a separate user documentation guide: On-site deployment.

Cloud deployment 

In the cloud mode, Creatio is deployed on cloud data center servers (Amazon, Azure) managed by Creatio. Both servers and data are physically located in the data centers. Creatio handles all issues related to administration, speed, or scalability. The customers only use the client part of Creatio.

Cloud deployment advantages:

  • Timely updates.
  • Maximum performance.
  • Compliance with industry standards on data availability and security.

Cloud deployment constraints:

  • Creatio in the cloud must comply with the set of requirements.
  • Third-party IDEs and DBMS are not supported.

You can deploy Creatio cloud from a trial version available on our website. During the 14-days trial period, you can get familiar with the main features of the application. After the trial period ends, the demo version can be migrated to the main Creatio platform.