[Based on an article written by Eyal Herson that originally appeared in Medium.com]
I want to share my best current thinking about legacy applications and how you can make them available in the cloud. I am frequently asked, “Is it really possible to take legacy systems and move them to the cloud?” Literally you cannot, but you can make the systems, and their data accessible in the cloud, and it is in your best interest to do so by using hybrid integration from Open Legacy including micro-service-based APIs.
Companies have spent hundreds of millions of dollars building out and evolving legacy systems. In many enterprises, these legacy systems, legacy monoliths, and application monoliths serve as the operational backbone of the organization and continue to provide tremendous business value.
I want to help you leverage these systems and applications as much as possible to enable your enterprise to access the data that resides in their core systems in the cloud without incurring the risk of costly migration and modernization projects.
While there is no simple way to take a mainframe, AS400, SAP ERP or any other on-premises system to the cloud, there are other things we can do to achieve the same goal.
Getting Started with Hybrid Integration
You do not need to move the complete system. You can create a presentation of the functionality of the legacy system in the cloud as an application programming interface (API) integration layer where each API is a microservice.
You can take every legacy routine, or a combination of routines, and generate a program in the cloud that acts as a proxy or a bridge between the new digital world and the old legacy world.
Start with the elements you already have like COBOL programs, copybooks, and transactions. Modern tools for digital transformation use these application elements to discover what they need to bring legacy transactions and their data into a digital-friendly environment. The modern tools also use other components that facilitate connection to the legacy environment like CICS and IMS connectors.
The new program is written in familiar languages like Java or .NET. It is deployed as a microservice and it will enjoy all the benefits the cloud has to offer, quickly with agility and velocity consistent with a software factory and modern software architecture.
The program is easy to monitor and manage. When you want to execute some functionality in the legacy system, you can call its representation in the cloud. The collection of all these modern programs is known as the “digital layer,” and the transformation from “legacy programs” to “modern programs” is known as making the digital transformation.
One way to get there is microservices – a style or way of organizing applications. It used to be that applications were monoliths, big chunks of code that was hard to change. Today, you organize programs into smaller units that communicate with each other as needed. This arrangement is dynamic and supports frequent changes that are often needed to refresh applications.
One of the challenges organizations have is trying to solve hybrid integration problems with the cloud, cloud to on-prem, or on-prem to on-prem. They are trying to solve it with the same kind of middleware – large pieces of software that are not flexible and cannot scale to meet today’s demands.
Each microservice has the entire integration stack embedded in it so that it can be deployed together. This enables you to have a transaction on a mainframe or stored procedure on a database, not only exposed as an API but also enhanced with additional functionality and agility.
You do not need to worry about integration because it is handled automatically. This methodology is highly efficient and standardizes backends into a single location where you can manage everything easily. Complete adherence to, and compatibility with, a modern microservices architecture means you have the flexibility to customize your code and process it in a way that supports any kind of Java runtime environment.
Why It Matters
There is tremendous interest in enterprises making a digital transformation leveraging technology to meet the evolving expectations and demands of customers and employees. It is already touching lives in many useful ways.
One example is paying bills through a financial services company has become faster and easier. No more writing checks, buying stamps, riding to the post office. With online bill pay, it is typically free to use the services of your financial institution. That is digital transformation.
Also, depositing checks by using a bank application that takes a picture of the check. There is no need to go to the bank to deposit it. The picture of the check does it. That is digital transformation.
Cloud services are enabling digital transformation as new environments, in which to run applications that are infinitely scalable based on the needs of the application. Cloud services are low cost and flexible with the ability to scale up or down to meet the needs of the applications that are running there. This low cost and flexibility is something special and the marketplace is responding to it.
New and Improved
If you want to make changes to the new digital form of the legacy transaction, you can make those changes in the microservice you created. This is often easier than changing the COBOL application itself, since each monolithic code has already been divided into small, solvable elements.
It is easy to execute because everything is standard Java code and based on a code-first approach. There is no hidden metadata. If you change the code, the graphical user interface reflects it. Essentially what you are doing is building Java SDKs on top of legacy systems to bring them all to a level of abstraction where you are just dealing with Java objects.
With the right strategy and tools it is remarkably easy and straightforward to access your legacy systems using microservices. You need a repeatable process, and you need to learn some new techniques involving Java and APIs to support digital transformation like REST.
The ability to access data and leverage legacy systems via digital devices is enabling enterprises to meet the real-time demand for innovation that meets the needs of their customers to remain relevant and competitive.