How to Improve Legacy Systems With Open Source

Have you ever tried to open an app on your phone or laptop to be met with the message, “You need to download a newer version of this program?” It’s not just annoying but undoubtedly slows you down. Government is facing the same issue when it comes to dealing with legacy systems. They’re old, clunky, expensive to maintain and inhibit productivity.

And yet, government is still using this old tech to get everyday jobs done. Some of these applications were developed 15 years ago or longer. To make matters worse, these are mission- critical applications. It is not easy to just rip and replace them all with modern technologies, such as cloud, microservices and containers. One way to solve the problem would be to allow IT to continue to deliver value, while innovating from the inside out.

To learn why it’s critical for agencies to modernize their technology, GovLoop sat down with two experts at a recent online training who shared their tips. Attendees heard from Kim-Tuyen Tran, Solutions Architect at the General Services Administration, and  Zohaib Khan, App Modernization Practice Lead at Red Hat.

Tran and Khan discussed solutions and best practices on adopting an open source first strategy for updating legacy systems and mainframes. In response to the question of why modernize in the first place, Tran said there is always room for modernization. Whether you want to provide greater value to your customers, or lower the cost of operation, modernizing solves these issues. But where do you start? Tran offered a list of viable options that should be considered, including potential costs and benefits.

  • Using automated translation or conversion tools can ease conversion and minimize re-engineering. You can move from proprietary hardware to something more open, such as Linux or Windows.
  • Re-host. Look at application needs before making a selection. Re-hosting can lower operational costs and minimize work needed to migrate. However, this is costly due to the shrinking talent pool.
  • Re-engineer. This involves manually rewriting your legacy portfolio and a new code altogether. You have to remember to not only sustain systems but also use resources you already have, Tran said. Re-engineering can be very costly and risky, and it takes time to train users.
  • Commercial off-the shelf (COTS). Involves open source Software-as-a-Service that can replace the functionalities of legacy applications. It can be more cost-effective and save on time to production. However, it can pose issues with integration and requires customized development.

Tran explained how evaluating application portfolios follows a three-step approach that allows for transparency and acts as a roadmap for development.

Technical Discovery involves reviewing current systems from technical support to resources contracts. “You don’t want to take a toll on current business operations,” Tran said. It’s important to understand your current legacy system environment.

Business Discovery involves confirming business functionality and revisiting and sorting through common capabilities. Meet with application business owners to determine if and how the systems and interfaces align with your business needs.

Team of Teams Solutioning is about keeping everyone informed and defining what needs to be modernized. “Individuals need to come together,” Tran said. This is where you must fully understand your plan. Transparency is key. This includes everything from security to operational risks. You must be upfront about each issue in order to formulate a clear architecture. Then, develop a modernization plan for implementing scheduled milestones.

Red Hat’s Khan addressed the reluctance in making this shift. Changing systems can be difficult mainly because no one wants to be the first. “Agencies want to be sure of business value,” he said. People want to be able to continue business operations without having to completely shut down. Khan listed three patterns to modernizing your agency’s tech.

  1. Lift and shift. You can “containerize” existing components, but legacy applications must be well written and suited. This allows you to independently deploy different components.
  2. Augment/refactor. This happens when your legacy system is hard to change separately. It allows you to continue business operations without shutting down the system. Khan called this method “transformation from the inside out.”
  3. Complete rewrite. This involves totally replacing your legacy system with entirely new interfaces and data. The benefits of rewriting often outweigh its costs in the end. Do this in the most simple way and keep in mind of common capabilities of the supporting environment and the cost-analysis.


Leave a Comment

Leave a comment

Leave a Reply