However, in 2023, the customer opted for import substitution to mitigate potential risks due to the discontinuation of foreign vendors' solutions in Russia.
To tackle this complex issue, ICL Services, as a product and service company, was asked to migrate the customer's applications from Windows to Linux.
Key Challenges
- Develop a phased migration plan for all applications.
- Identify technical risks during the migration and devise a plan to mitigate them.
- Replace Windows-dependent technologies (such as Active Directory and IIS).
- Configure CI/CD for the applications.
- Test the applications in a Linux environment.
At the project's outset, we assembled a team of five developers. The team devised a plan for porting applications while simultaneously identifying a comprehensive list of potential technological risks and their mitigation strategies. The experts also formulated a plan for migrating the databases from Microsoft SQL to PostgreSQL.
After setting the objectives, the team started the project in June 2023.
The first step was to migrate all functions of the previously used foreign applications to import-independent technologies (.NET 7-8 and PostgreSQL). The team set up a full testing framework and then assessed the system's functionality.
The databases for these applications were migrated from MS SQL to PostgreSQL. A utility for automatically migrating databases from MS SQL to PostgreSQL was developed during the porting process. Migrating a 200 GB database from MS SQL to PostgreSQL takes 40 minutes.
We also replaced Windows Active Directory with OpenLDAP.
The new application versions were integrated into the customer's existing CI/CD pipelines, enabling their seamless business testing and industrial deployment.
Products and technologies
- .NET 7-8
- PostgreSQL, MS SQL
- C#
- ASP.NET Core
- Rocky Linux
Results
- Over 6 months, we migrated the customer's applications from .NET Framework and MS SQL to .NET 7-8 and PostgreSQL, replacing any incompatible components.
- Through our efforts, the customer became independent from Microsoft's proprietary solutions.
- We remain committed to supporting modern technologies for ongoing development.