Migration to Russian IT solutions. Successful case of our team

In this post, I will not focus on the importance of the transition to Russian software in the public sector, since many articles have already been written about this. Instead, I would like to share the experience of implementing one of our projects, in which we successfully transferred the client from foreign virtualization and DBMS solutions to Russian analogues, confirming our expertise and the ability to implement critical parts of the IT infrastructure based on domestic developments.

Project Introduction

The project affected a key part of the customer's infrastructure, where an information system operated with more than 5,000 users. The system was built on the 1C Fresh platform to conduct financial and economic activities of the customer and more than 600 subordinate organizations. It included: about 24 information databases with a total volume of over 26 TB. The technical part included 105 virtual machines based on Microsoft Hyper-V and the Windows Server 2012 R2 operating system; database management was carried out through MS SQL Server 2014.

In 2023, as part of a strategy to reduce risks from using foreign software and strengthen information security, the customer decided on the need to replace all key components of foreign software with Russian-made analogues. At the same time, it was important not to disrupt the functionality of the existing information system.

When the customer approached us with an offer to help in the implementation of this project, we gladly took on this task, since our company participated in the deployment and maintenance of the information system at the launch stage.

To implement the project, we developed and agreed with the customer a plan, the main stages of which included:

1. Audit of current infrastructure and determination of potential for scaling.

2. Selection of Russian software and data migration methods.

3. Infrastructure preparation and migration.

4. Experimental and industrial operation of the system with enhanced monitoring.

Next, we will go over some points in more detail.

Infrastructure audit: a key stage of migration

Before starting the migration project, an audit of the existing IT infrastructure was essential. The main purpose of the audit was not only to assess the current state and efficiency of the system, but also to identify the potential for its further scaling, which became the basis for planning future improvements.

  • Analysis of current capacities: A detailed investigation revealed that although the current infrastructure capacity was sufficient to support continuous operations, there were significant bottlenecks in performance, backup volumes and recovery times. Considering plans for the development of the information system, it was clear that existing capacities would no longer be able to meet future requirements without additional scaling.

  • Recommendations for increasing capacity: Based on the audit, our company’s specialists developed recommendations that included technical specifications for updating the infrastructure. These specifications were aimed at ensuring smooth operation of the information system and preparing for scaling in accordance with long-term development plans. These recommendations also contributed to the formation of a long-term budget for the acquisition of necessary equipment.

  • Setting up performance metrics collection: Customized monitoring mechanisms, including APDEX, allowed us to evaluate user satisfaction when interacting with the system, which is a key factor in the success of the migration project.

  • Setting up the collection of the number of sessions in 1C: Thanks to additional measures to collect session statistics in the 1C configuration, we were able to fine-tune the system to ensure its high performance and stability.

  • Recommendations have been prepared: Based on the research conducted, recommendations were prepared and implemented to maintain high system performance during the period of work on the import substitution project.

Selection of Russian software for project implementation.

In the process of selecting software for project implementation, we focus not only on our own experience, but also on the specific requirements and wishes of the customer. Our previous projects covered a wide range of popular software solutions available on the market, which successfully completed tasks in accordance with critical requirements, such as FSTEC certification, security level and compatibility with 1C products. Considering that the customer’s infrastructure already used software products such as Viola and Postgres Pro, it was decided to focus on them. This approach fully complied with our selection criteria, providing the necessary functionality and security, and also facilitated subsequent support of the information system by the customer himself.

Selecting a tool and method for database migration.

One of the defining steps in the migration project was choosing a database migration method that would ensure minimal downtime and optimal hardware utilization. When considering various methods, we looked for a solution that guarantees high reliability and speed of data transfer using multi-threading.

Here are some of them:

  • Upload-download method via DT (Data Transfer)

    • pros: Ease of use, typical 1C approach, multi-threaded data loading from DT.

    • Minuses: There is no guarantee of complete loading of data after unloading, lack of multi-threaded unloading, length of procedure for large databases, increased risk of failures at various stages of migration.

  • XML data transfer method

    • pros: Ensures that all transferred data is downloaded.

    • Minuses: Lack of standard solutions from 1C for transfer, long data transfer time for large databases, increased risk of points of failure.

  • Database replication using the ibcmd utility

    • Pros: Uses standard functionality of the 1C platform, saves time due to multithreading, direct interaction with the DBMS, does not require 1C licenses.

    • Minuses: Potential bugs in the migration mechanism due to its newness. What was confusing was that few people had used this method before us because of its novelty.

  • Reloading data areas through migration

    • Pros: Typical functionality of the 1C Platform and no long-term blocking of users

    • Minuses: Slow (very) data transfer. Data with extensions that change the structure cannot be transferred and there are many points of failure during the transfer.

Based on the comparative analysis, replication through the utility was chosen ibcmd as the most effective and reliable method. This method made it possible to interpret data from one database to another without additional licensing costs and with minimal downtime.

To conduct a test migration to understand how correct our choice of method was, we used the following configuration of 3 virtual servers.

While testing the migration on three virtual servers, we achieved significant performance improvements:

  • Database migrations are four times faster thanks to multi-threading.

  • By optimizing transaction logs and indexing, the size of databases has been significantly reduced.

Comparative data in the table below

We also identified several features of our method, which were taken into account during further migration:

  • It is important to check the integrity of the databases at the very beginning. Ibcmd allows you to check the integrity of the database structure. We encountered damaged structures and had to fix them first.

  • We discovered errors in the 1C platform 8.3.22 due to which, when updates to extensions that changed the structure were terminated abnormally, areas and information bases were damaged, which made migration impossible. As a result of close work with the platform developer, the errors were corrected in version 8.3.24.

  • We had to develop criteria to determine the required server capacity for migration. Each of the 3 servers had different power consumption during the migration process.

    • The server with ibcmd loaded the CPU by 90% and utilized RAM (in our case, no more than 14 GB on a 1.3 TB IB)

    • The MS SQL server loaded the CPU by 90% and performed read operations from the disk, but at the same time consumed a minimum of RAM.

    • The Postgres server loaded the CPU only at the time of creating indexes (the final stage) and performed write operations to disk.

      Based on these observations, it was possible to more effectively redistribute the capacity of virtual servers in the process of further migration.

Development of a methodology for dividing 1C information bases

During the current operation of the information system, the customer encountered many problems associated with the large size of the databases (the size reached 5 TB). We decided to take this experience into account in the new project and eliminate the points that we didn’t like. Namely:

  • Long periods of unavailability of the information base during maintenance

  • The more institutions and users, the more complaints about the first line of support in the event of a failure of one of the information system servers

  • Long periods of service unavailability in case of failure or maintenance of the information base

  • Long backup and restore times. The database is locked for structure changes

  • If a data area fails, the risk of data loss in other areas increases

  • Long preparation time for database testing on a test bench

To achieve this goal of reducing the size of databases, we have developed a specialized technique that allows us to optimize the data structure and improve system performance. Main stages of the method:

  • Analysis of the current state of databases: Conducting an audit of existing databases to assess the volume of data, frequency of requests and criticality of information.

  • Defining criteria for division: Development of parameters by which the databases will be divided, including the volume of data, the load on the system and the specifics of user work.

  • Development of a division algorithm: Drawing up a technical plan that describes procedures and tools for dividing databases into smaller, manageable pieces.

  • Testing and optimization: Conducting tests on partitioned databases to check their functionality and performance, adjusting the methodology based on the results obtained.

As a result, after carrying out fairly simple regulatory procedures, we got good results:

  • Conducted an inventory of all areas and removed unnecessary areas (about 2,500 unnecessary areas were removed)

  • We carried out routine maintenance work on the bases, which led to a 2-fold reduction in size.

  • All attached files were moved to separate volumes and the size of the databases was reduced by another 30%-40%. The largest database ended up weighing 1.6 TB. True, for this we had to develop functionality for uploading files, since there was no standard functionality.

  • Divided large databases into smaller ones

  • For the future, regulations have been introduced on file size and scan resolution.

  • To control the comfortable work of users and ensure maximum performance of updates and routine maintenance), we introduced server fullness criteria (no more than 450 users, 150 data areas, 500 GB per database)

  • They introduced a regulation to periodically clean unnecessary areas that multiply as work progresses.

Preparation of infrastructure using Russian software

As part of the preparation of the project infrastructure, a cluster of 14 host servers running “Alt Virtualization Server 10” was assembled. These servers deployed 193 virtual machines with the Viola Server 10 operating system and 33 Postgres Pro Enterprise DBMS, which ensured reliable and efficient operation of all components of the information system.

The replacement of virtual machines was done one by one in server-by-server replacement mode. This made it possible to carry out the process of migrating virtual machines without additional costs for server hardware. To simplify the migration process, all operations were performed using scripts prepared in advance.

The configuration of the information system is as follows

Setting up system monitoring

To ensure continuous monitoring of the system state, we chose Zabbix, a proven solution with flexible settings. The monitoring setup included all hosts and virtual machines, which made it possible to promptly respond to changes in the state of services and resource loads. In case of critical situations, the system automatically sends notifications to the telegram group and to the administrators’ email. And thanks to integration with the 1C Quality Control Center, we have set up the collection and analysis of key operational indicators using the APDEX methodology, which significantly simplifies the process of managing the quality of IT services.

Briefly about the results of the project

The completion of the project showed that the transition to Russian software is not only possible, but also leads to an improvement in the overall performance and reliability of the system. Thanks to competent planning and execution of work, the project was implemented without long downtime, while ensuring complete data safety and optimization of information base performance.

During the migration the following tasks were completed:

  • Failure-free operation of the information system during migration is ensured.

  • Structural errors in tables of all infobases have been corrected.

  • No data loss by users.

  • In 80% of cases, database sizes decreased by 15% due to the transition to PostgreSQL.

  • The functionality of all service and service databases has been preserved and adapted.

  • A complete inventory of data in all databases was completed, all unnecessary or erroneous data was removed.

  • The performance of 1C information bases has been increased by 30%.

  • The infrastructure has been optimized and the requirements for maintaining 1C databases have been updated to improve overall system performance.

  • The system has been modernized to ensure comfortable operation for more than 7,500 users.

  • All necessary documentation and instructions have been prepared, and customer training has been provided.

  • Regulations have been developed to clarify the maintenance processes, including a register of licenses and rules for creating backup copies.

  • The main task – ensuring continuous functionality of users and preventing long downtime during working hours – has been successfully solved!

Conclusion

The project proved that migration to Russian software is not only possible, but also leads to improved performance and security of the information system. This experience confirms our reputation as a reliable partner and integrator capable of solving problems of any complexity.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *