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.
 
