Environments overview
An environment is a separate Creatio application with a separate database. You can supplement an environment with a version control system. The purpose of an environment is to ensure the delivery of new features on different life cycle stages: development, testing, production.
There are several environment types:
- Development environment
- Pre-production environment
- Production environment
Development environment
The development environment is a separate Creatio application or multiple applications for new feature development.
We recommend supplementing the development environment with a version control system to track changes.
Use the SVN version control system only to transfer changes between development environments. Do not use SVN in a preproduction or production environment. This may negatively affect Creatio performance or render the application inoperable. Learn more: Version control in Subversion.
Use Git VCS if:
- You are going to develop in the file system.
- You use Creatio on-site.
Use Subversion (SVN) VCS if:
- You are going to develop with no-code tools.
- You use Creatio in the cloud.
Subversion VCS is only available for Creatio .NET Framework.
Learn more about how to set up VCS: Version control systems.
We recommend deployment the development environment on-site.
Delivery a separate instance of Creatio and the corresponding database for each developer when using on-site deployment.
You can deploy Creatio in the cloud in several ways:
- Use the free trial page. You can get familiar with the main features of Creatio during the 14 days trial period. After the trial period is over, the Creatio team can move the demo version to the main Creatio platform.
- Contact a Creatio sales associate and ask them to delivery a new instance of Creatio in the cloud or migrate an existing Creatio instance to the Creatio cloud service. After you agree on the conditions, the Creatio team will delivery or migrate your application.
When delivering applications in the cloud using the Creatio platform, certain restrictions apply. Delivering the product is impossible without complying with them.
-
Do not use SQL Agent.
Jobs and other SQL Agent actions are not available. Use Creatio task scheduler instead.
-
Do not use DB Mail.
Send email notifications using Creatio platform features.
-
Do not use Extended Stored Procedure.
Implement the necessary logic using either the standard T-SQL stored procedures or the application server capabilities.
-
Do not use DBMS username binding.
Creating database users is not available in DBMS on the Creatio platform. Use domain users and domain authentication instead.
-
Do not edit the
Web.config
application file.Store the needed parameters in Creatio system settings.
-
Do not use Creatio application and DBMS server IP binding.
Server IP addresses may change. As such, it is not possible to bind them. Always work with application domain names instead.
-
Do not install additional software.
No additional software can be installed on the Creatio cloud servers.
-
Do not work in the file system.
The OS level access permissions restrict the ability of the application server and DBMS to work in the file system. Use FTP and HTTP(S) to work with files instead.
-
Do not run third-party applications on the server.
The OS level access permissions restrict the ability to run third-party applications. Implement the needed logic in the Creatio application.
-
The database must use SQL Server 2016 and later.
To ensure compatibility with the cloud infrastructure of the Creatio platform, create the application database in SQL Server 2016 and later.
- Creatio must be served over both HTTP and HTTPS.
Do not use logic tied to a specific protocol. Define the current Creatio protocol instead.
- Creatio must require only the default user permissions.
Do not use functionality that requires administrator privileges.
- Creatio must run on behalf of a user without a profile.
The platform creates users that cannot sign in to the OS and do not have a profile.
Additional recommendations
- Specify the partner name in the Publisher (Maintainer code) system setting. For example, FineSolution.
- The value of the Prefix for object name (SchemaNamePrefix code) system setting must refer to the partner. For example, FS.
- The solution cannot use replacing modules. It is only possible to replace schemas.
- Concentrate the server logic in the C# classes and call the logic where it is needed.
- Cover the public API of the server classes and client schemas with unit tests.
- Bind all the required data, scripts, and libraries to packages.
- Develop the product using a VCS. Store the packages in the VCS.
If you develop complex project solutions, you can follow these recommendations: Terrasoft Project Life Cycle.
Pre-production environment
Pre-production environment is a separate Creatio application for testing the features developed in the development environment. The features are usually tested by the development team analyst or the feature owner. Deployment the pre-production environment on-site or in the cloud.
Production environment
Production environment is a separate Creatio application for everyday use. Production environment database is identical to the pre-production environment database. Since development nearly always leads to errors, error detection, debugging, compiling, etc., development in the production environment is forbidden.
Delivery the production environment on-site or in the cloud.
- If you deploy Creatio in the cloud, the production environment setup is identical to the development environment setup.
- If you deploy Creatio on-site, the production environment setup is identical to the pre-production environment setup.
See also
Version control in Creatio IDE
Resources
Creatio documentation on on-site deployment
Creatio documentation on version control systems
Creatio documentation on Project Life Cycle methodology