Blow the dust off your legacy applications

Blow the dust off your legacy applications

27 May 2021

Application modernization

Legacy systems today are often crucial to the proper functioning of an organization. However, they involve high operational costs and it is becoming increasingly difficult to find the right people to manage and maintain them.

It is quite a challenge to align these outdated and often monolithic applications with the current and future digital age, in addition to keeping them up-to-date in line with the speed at which companies are moving. As a result, a company may no longer be able to respond quickly enough to the needs and expectations of its industry and/or customers.

Correct management of your application landscape and deployment of a modernization process will help you to switch gears quick enough. Modernizing also reduces your technical debt backlog. And the timing is perfect: there's no time like the present. There are various ways to get started and we will explain them to you.

The right tactics for your context

Once you’ve made the decision to modernize an application, it’s time to dive into the deep end. The current application landscape must be mapped out in detail and evaluated in order to determine the best way to modernize it. A number of questions must be answered, such as: Can a certain application be deployed in the cloud?

In addition, it is also good to have a functional discussion: Where should the application landscape evolve? Which business needs are covered or not (yet) covered now?

All this information is weighed up to make some architectural choices and identify the technical requirements of the modernization project. It's a good idea to present the chosen way forward to all stakeholders, so that everyone is on the same page and a concrete action plan can be created.

Once everything is mapped out and it is clear what modernization is needed, a whole range of modernization strategies can be deployed. The most appropriate can be determined on the basis of the available budget and the requirements resulting from the previous investigation.

  • Rehost: The aptly named Lift & Shift. This is purely about infrastructure. The servers are moved to the cloud, but the applications remain untouched.
     
  • Replatform: Traditional infrastructure components are replaced by Platform as a Service (PaaS) components, e.g. the database, identity and application servers. The added value at the application level is still very limited, but a re-platforming strategy does deliver an immediate significant reduction in costs in terms of infrastructure and its management.
     
  • Refactor: The existing code is reviewed in detail, and changes are made in order to bring the code up to today's level. The application is usually split into several parts for this task, and refactoring is carried out one module at a time.
     
  • Rebuild: This involves a full rewrite of the existing application(s).
     
  • Retire: If the undertaking is no longer worth the effort, then nothing is done and the application is quietly killed off.
     
  • Retain: Of course, it can always be a valid decision not to modernize yet and to (temporarily) keep the application in its current form.
Development-image

Cutting the elephant into bite-sized pieces

Whether you choose to completely rewrite your application(s) or opt for a step-by-step modernization, an iterative approach is the best way to achieve effective modernization. This involves working on two tracks: a functional track and a technical track. The first aims to meet your business needs, while the second aims to modernize your technology at the same time.

By cutting the elephant into pieces, you can (for example) progressively develop new functionalities according to the new architecture, so that the business can move forward. Or you can choose to offer the end users a new user experience and only then tackle the older back-end systems.

This also leaves room for an agile approach. By regularly releasing something and gathering feedback from it, you will gain additional knowledge within the development process. Read all about the why, how and what of feedback loops in a BizDevOps context in this blog series.

Managing with due care and with attention to modernization opportunities

As mentioned in the introduction to this blog post, proper management of a monolithic application is often a stumbling block in itself. Outsourcing part or even all of the management can be a solution.

A good partner will take a thorough look at the application(s) in order to focus on the current status and support needs. By outsourcing all or part of the work, you free up more space on your side for innovation. The legacy system is kept up and running by your partner, and your IT team can focus on newer applications or dialogue with the business about necessary new functionality.

By managing one or more applications, your partner will of course get to know them well, both in terms of technical and functional aspects. A technology partner can therefore proactively help to uncover needs and carry out a number of health checks on a regular basis. Such advice, even if you don't have real innovation expectations, always comes in handy. It identifies more than just the technical debt.

If the direction of the modernization process still needs to be clarified, Managed Services is a good first step. It allows you to acquire knowledge that can help to define a concrete modernization process.

Don't take your modernization journey on your own

We are ready to help you transform and optimize your applications and IT workloads and make them future-proof. 

Discover all our blogs
Read more

Subscribe and receive our blogs in your mailbox