Legacy System Migration: Moving to Modern Technology Without Pain

What Is Legacy Migration?

A legacy system is an outdated computing software or hardware that is still in use. While these systems may still meet the requirements they were originally designed for, they are typically based on old technologies that are no longer common. A legacy system migration involves moving an old IT system – a legacy system – to a newer hardware infrastructure or software platform.

Why Should My Business Migrate?

Migration from legacy systems to a cloud-based service, in particular, can improve the performance and competitiveness of your organisation. System performance is often poor, and maintenance costs are high. The incompatibility with new technologies can bring difficulty and problems when altering these systems as they can no longer be kept up to date at the same speed at which the business wishes to innovate and change. The lack of vendor support and regular updates for old systems can compromise your data security. Therefore, data migration from legacy systems is imperative to ensure a functioning IT system.

A legacy system migration requires a modern, flexible, easy to update, system that can adapt to changes with a minimum of interference in the ongoing business operations. System migration is the process of transferring old IT systems to a newer hardware infrastructure or software platform to keep up with current technologies.

There are two types of legacy system migration: ‘lift-and-shift’ and transformation. A lift-and-shift legacy migration is a means of migrating your application and its associated data to a cloud platform without redesigning the App. This type of legacy IT migration is generally initiated by a company’s IT department when the current system does not perform as expected, if your system becomes obsolete or if a new technology with a faster processor becomes available. A transformation legacy migration can be driven by any change in your company’s direction, or if your legacy system does not support your business process or inhibits user experience.

Digital Transformation and Modernisation Diagram

Building a Legacy System Migration Strategy

How Do You Successfully Transform Your Systems?

Planning a successful system migration can be a lengthy process. Often the solution to this problem is seen as spending several years developing completely new systems with complex data migration, with one “big bang” at the end, when old systems are turned off, and new systems are turned on. This method of data migration from legacy systems and replacement, can easily run over budget and schedule. We suggest that replacing all of the complex systems in one go is too hard to achieve.

The key to a successful legacy system transformation is to find a way to slowly, replace your existing systems piece by piece with newer systems, that closely match the business need and give you a competitive edge. We would typically recommend starting by identifying an existing system in need of replacement, or a new system that needs logic or information that is only present in your legacy systems. In this article, it is proposed that you host your new system on a scalable, robust cloud platform such as Microsoft Azure or Amazon AWS. Still, it would be possible to implement this approach entirely in-house.

The “Digital Edge Platform” is our solution to simplify the strategy of transforming and migrating legacy systems into the leaner more agile software of the future. The Digital Edge Platform is not actually a platform; buying into a single, proprietary platform is generally not a good solution for businesses, as it simply replaces one ageing monolith with another. The Digital Edge Platform is a highly flexible set of tools and techniques made by providers such as Microsoft, Google, Apple etc. that can all be used in an open systems approach, making your legacy system transformation easier.

What are the Steps to Completing Data Migration from Legacy Systems?

1. Identify the data, format, location and sensitivity

Understand what data you’re moving, the format it’s currently in, and what format it should be in post-migration. If you’re moving sensitive data, make sure any security measures are followed.

2. Determine technical, time, and financial requirements

Be realistic with your estimations. Take the process one step at a time, and take the time to understand each aspect from source data to configuration to testing. The process of data migration from legacy systems can be lengthy and can require assistance from finance, IT, developers and engineers to work out budgeting and technical aspects of the project respectively.

3. Back up all your data

Save all your important files in the event of a system crash, or if a hard drive failure occurs. Create an appropriate risk assessment report and an inventory of your assets to monitor in case of any compliance issues.

4. Execute your data migration plan

Follow each step of your data migration plan.

5. Test the system after each phase of your migration

Make sure that your system migration has worked. Test for minimal downtime, data integrity, ensure that no data is lost, and check that your applications are fully functional post-migration.

6. Follow up with any maintenance of your data migration plan

Perform regular check-ups on your data migration plan to ensure that it is all in working order.

Digital Transformation and Modernisation Diagram with Microsoft Azure Cloud

The Enterprise Service Bus

The diagram above shows how a Service Bus can be used to organise asynchronous (or synchronous) communication between system components. In this example, three new business-focused services are exposed in the cloud platform. These could be services such as a Sales service, a Debt Management service, a Customer Information service etc. They are technology services defined in terms of the business that is using them rather than technology-focused services that will never be valued or understood by business people. A “service” in this sense could be a RESTful web service that allows orders to be taken from web applications or mobile applications, for example.

There are other technical options available for service implementation, but this example suffices for illustration. The services are accessed by web applications, mobile applications and whatever else needs access to them, all using modern, decoupled communication. Services can be re-used by a multitude of applications, both internal and external to the business. Services are generally small and focused around satisfying a single business need. Keeping the services small makes them easier to change as the business changes, easier to test, lower in cost to maintain, plus many other benefits.

The services all communicate over the Enterprise Service Bus (in red in the diagram). The Enterprise Service Bus is critical to this model as it allows services and technology components to communicate with other services and components without having to be directly aware of them. For example, a Sales Service may process sales orders and save them into a database. On a successful order, the Sales Service could send a “Sales Order Success” message on to the Enterprise Service Bus.

This event can then be handled by one or more other services such as a Business Intelligence Service that generates reports on Sales and other aspects of the business. The Enterprise Service Bus provides a level of indirection between the Sales Service and the Business Intelligence Service so that they do not need to know about each other. If the Sales Service becomes unavailable due to a failure, the Business Intelligence Service carries on working. If the business decides to add a new Business Intelligence Service, the Sales Services does not need to change at all. The new Business Intelligence Service simply processes the same events from the Enterprise Service Bus as the old Business Intelligence service did!

Legacy Application Adapters

So far, this is great for new applications, but how could you leverage the critical logic and data that remains locked up in your legacy applications? The solution is to create “Legacy Application Adapters” that communicate with new services using the Enterprise Service Bus. Every Legacy Application Adapter will be a specialist, unique piece of software that allows access to previously locked-in logic and data. The Legacy Application Adapter will receive messages on the Enterprise Service Bus, process them and send replies out on the Enterprise Service Bus. Thus new systems are built that integrate with the legacy software without being tightly bound up to the legacy software.

In the diagram above, it can be seen that one of the Legacy Applications has been removed and replaced with a Modern Web Application. However, the Modern Web Application can still communicate with legacy systems for vital logic and data via the Enterprise Service Bus. The key to it all is the loose coupling between services and systems provided by the Enterprise Service Bus.

Gradually Replacing The Legacy Systems

Using the tools and techniques outlined above (the Digital Edge Platform), the slow process of legacy IT migration can be seen. Achieved by replacing every legacy system with a modern, new service whilst maintaining continual business availability and critical business functions.

Digital Transformation and Modernisation and the Enterprise Bus

As shown in the final diagram, eventually, no legacy systems will remain.

The Advantages of the Enterprise Bus Service

1. Rapid Return On Initial Investment

The approach to legacy system transformation and the Services Oriented Architecture based around an Enterprise Service Bus presented here, has many advantages. Principally we are not throwing the baby out with the bathwater! A large amount of money has been invested in the existing systems, and we can leverage that for as long as needed, whilst building new systems. We do not require a huge one-off investment to get the legacy system migration going. All that is required is enough investment to build the first new service. Once that is successful, funding can be sought for the next small service, and then the next and so on. The piecemeal, business-focused approach also means that the development of new services can be prioritised according to business needs rather than technological concerns.

The step-by-step process also means that we can release each service into production as soon as it is individually complete. This means that we generate a much more rapid return on investment for each new service that is constructed. The laser-like focus on each service also means that this is a very low-risk approach. Suppose something goes wrong with the development of an individual service (which is less likely in this approach anyway). In that case, the scope of the problem is limited to that service exclusively.

2. Multiple Easy Access

Having multiple small services focused around business needs means that multiple teams can easily work on this platform without stepping on each other’s toes. Each team can focus on delivering real value by creating a high-priority business service with a minimum of cross-over into another team’s work. It also follows that with a minimum of effort, some of the legacy systems can be replaced with a more standard, off-the-shelf application. For example, a company could replace its own ageing in-house CRM system with an off-the-shelf system such as Salesforce or Microsoft Dynamics. A simple adapter can be constructed to facilitate the integration with third-party software, at a much lower cost than the roll-your-own approach.

3. Higher Service Resilience

Service resilience is much higher in the Digital Edge Platform as each service is completely self-contained and does not share resources with other services. For example, databases are not shared between services. This means that a system outage in one service does not impact the other services. They will continue with their normal service levels. The same separation of services also means that the services can be scaled separately. Should you be using a cloud platform (such as Microsoft Azure), it is simple to scale the resources of high usage services and reduce the resources of low usage services, thus reducing your costs and maximising the return on investment. You can find the benefits of cloud computing in our recent blog post.

4. Easy To Use

Small services are quicker and easier to change as the business rapidly changes in a modern, fast-paced environment. This allows your business to modernise, instead of being stuck in the legacy of the past. The Digital Edge Platform is completely open and extensible and includes no proprietary frameworks and incurs no proprietary license fees! It is the platform without a platform. Therefore, you can endlessly add or remove components and services of any shape and size, to adjust to your changing business requirements, without ever being stuck with a single vendor.

The ability of the Digital Edge Platform to integrate both old and new technology means that progress will be made continually throughout the legacy system transformation process. New services can be created and deployed in days or weeks at regular intervals rather than in one big bang at the end. This continual agile delivery of value makes this approach unique and successful.

Next Steps?

Migrating from a legacy system can be a lengthy and daunting process, but one with huge benefits to your business. Legacy system migration allows you to keep up with current technologies and to gain better business value, as well as better manage and protect sensitive data.

If you are interested in our legacy system migration service via a digital transformation, please fill in the form below for your free consultation, or contact us for more information.

Nick McKenna
Since 2004, Nick McKenna, BSc, MBCS Biography has been the CEO of McKenna Consultants. McKenna Consultants is a bespoke software development based in North Yorkshire, specialising in Cloud development, mobile App development, progressive web App development, systems integration and the Internet of Things development. Nick also holds a First Class Degree in Computer Science (BSc) and wrote his first computer program at the age of nine, on a BBC Micro Model B computer. For the last 21 years, Nick has been a professional computer programmer and software architecture. Nick’s technical expertise includes; Net Core, C#, Microsoft Azure, Asp.Net, RESTful web services, eProcurement, Swift, iOS mobile development, Java, Android mobile development, C++, Internet Of Things and more. In addition, Nick is experienced in Agile coaching, training and consultancy, applying modern Agile management techniques to marketing and running McKenna Consultants, as well as the development of software for clients. Nick is a Certified Enterprise Coach (Scrum Alliance), SAFe Program Consultant (SAI), Certified LeSS Practitioner (LeSS) and Certified Scrum@Scale Practitioner. Outside the office, Nick is a professional scuba diver and he holds the rank of Black Belt 5th Dan in Karate.