Editor’s note: Pavel shares ScienceSoft’s several legacy system modernization stories and ways to overcome common challenges in legacy system modernization projects. If you’re looking to recover or update your legacy systems, be sure to look at ScienceSoft’s application modernization offering.
Nowadays, businesses are increasingly attracted by software modernization activities striving for shorter time-to-market, more competitive customer experience, and quick responses to the fast-changing market needs and operational demands.
However, legacy modernization projects come alongside certain challenges, hurdles and specifics. With that in mind, I share several modernization projects carried out by ScienceSoft’s team and highlight lessons and benefits of the legacy software transformation journeys, as well as briefly address general modernization success tips.
Story #1 Accounting software migration to Azure: Towards easier maintenance and updates
A manufacturer and distributor of accounting and payroll software approached ScienceSoft to update their desktop software products developed with legacy techs.
Motives for migration
The company struggled with software maintenance and update difficulties. The product’s competitiveness was at serious risk since the company couldn’t support quick and easy product evolution to meet new customer demands.
Migration results
ScienceSoft has modernized a legacy desktop software product into an Azure-based web application. This has allowed overcoming limited capabilities of client-dependent desktop apps – minimize disruption, and, consequently, costs and time to product evolution.
The updated system supports frequent and easy changes and integrations. The functionality is expanded with such capabilities as e-payments, automated tax calculation and online subscription service.
Also, placed in the cloud, the system serves as the single location for information storage and sharing for product users who can access and work with the consistent data anytime, anywhere, using any device.
Migration success factors
- Recapturing current software requirements (including all architectural design elements, connections, interdependencies). Many legacy systems lack comprehensive and up-to-date requirements documentation. However, clear and relevant application documentation helps shorten the learning curve for modernization team members, accurately identify potentially re-usable components for the renewed system and clearly predict the effect of future changes in software – and, therefore, to carry out the migration faster and exclude significant disruptions in business processes.
- Re-architecting to a modular stateless architecture. Shaping a revitalized application into a set of independent modules allows leveraging horizontal scaling capacity in the cloud, preserving high availability and adding new functionality and integrations easier. Stateless (with a state only being maintained in the browser) nature makes the application even more scalable and portable, and it integrates better with other cloud-based services. It also helps save user experience from any infrastructure issues (servers going down).
Story # 2 Cashback services migration to AWS: Towards better availability
A leading US-based cashback services provider of online shopping, travel and entertainment services and products in 100+ countries wanted to modernize several software modules (a web portal, statistics, payments, commission, mailings, and others).
Motives for modernization
The company struggled with the lack of scalability of the IT infrastructure supporting their operations. The ever-rising number of website visitors resulted in server overloads and a significant decrease in service performance. Fewer consumers could finish the purchasing journey at the time of overloads, which led to a significant drop in revenue.
Modernization results
ScienceSoft’s team migrated the entire infrastructure from 20 dedicated servers to AWS. The cloud-operating, scalable system can confidently withstand high loads. Also, the company now avoids the considerable expenses caused by running their services on dedicated servers.
Migration success factors
- Share-nothing architecture. When the nodes are made not to share memory and storage and have the data strictly partitioned, it’s possible to eliminate single points of failure and make the overall system to operate and upgrade without a system-wide shutdown. It also allows scaling via simple adding of new nodes to remain available even in case of high loads.
Story # 3 SOA implementation and migration to JavaScript of a web portal with 400 mln subscriptions: Towards better competitiveness
A large travel agency that offers a wide range of travel products including flights, cruises, vacation packages, insurance, and more turned to ScienceSoft to modernize their web portal with 400 mln subscriptions.
Motives for modernization
The company wanted to align their online booking platform – the major means of customer interaction – with the customers’ expectations and boost brand visibility in the highly competitive market.
Modernization results
ScienceSoft’s team brought the modern look and feel to the legacy portal and enabled quick and easy functionality upgrades. At the moment, Feefo – a global provider of genuine customer reviews – rates the travel agency as ‘Excellent’ at 95% of customer satisfaction.
Migration success factors
- SOA implementation. SOA is an architectural design principle, which makes an application a set of loosely coupled services communicating via APIs. Each service is responsible for particular information requests, for example, hotel deals and vacation packages, and for checking the relevance of featured deals. This allows the business to quickly introduce changes and fixes to the application, adapt business processes to new evolving needs and add integrations.
- The independent front end. The completely isolated front end allows introducing SPA (single page application) front end for smooth and sleek dynamic user experience.
General tips to maximize value and reduce risks of legacy software modernization
- Deep assessment of the legacy application code and design to understand the economic and technical feasibility of a modernization project.
- High priority to risk management and keeping modernization as a manageable, transparent and predictable process. Thus, it will be possible to roll back modernization if something starts to go downhill.
- Splitting a legacy application to smaller loosely coupled parts (preferably, microservices). This helps implement changes step-by-step and avoid a long “code freeze” – an inability to either add new features or fix hot issues.
- Thorough testing and application monitoring. If modernized components have defects, it can lead to significant business process disruptions and operational downtime.
Unlock the new value from your legacy software!
Undeniably beneficial legacy system modernization projects come together with risks and challenges that should not be underestimated. If you plan significant modernization of your obsolete software systems, be sure to have an experienced multi-functional in-house team or turn to an established provider of relevant services. Thus, my colleagues at ScienceSoft will be happy to support you at any stage of a software modernization journey, just give them a shout.
Revamp your legacy code safely and smoothly for reduced maintenance costs, easier support and increased value.