Mainframe Modernization

Are Mainframes still relevant ?

Mainframe is still as relevant as ever for many enterprises around the world. Here’s why. Mainframes continue to shine at traditional tasks Mainframes are still hard at work doing the jobs they have traditionally done. 67 of Fortune 100 enterprises continue to use mainframes for their most crucial business functions. They’re at the centre of banking, manufacturing, retail, energy, the public sector and many other industries. Over these years, mainfram ehas evovled to meet the changing market needs.

What is modernization?

Modernization is the act of updating organizational processes, systems, and tools to the most current versions or best practices. In the context of cloud computing, modernization is the process of transitioning an organization's applications, processes, and data management to a cloud-first approach. The goal is to improve organizational and technological performance, enhance the quality of customer and employee experiences, and accelerate time to market for new offerings and updates.

What is legacy modernization ?

Application modernization is the process of updating an organization's existing apps to a cloud-first model—sometimes called legacy modernization. If an organization uses on-premises apps, modernization may involve migrating those apps to a public, private, or hybrid cloud. Commonly modernized apps and data include: .NET apps ,Linux web apps , Java apps , SAP apps, SQL databases
What are the benefits of application modernization ?


What are the challenges ?
Modernization/Digital Transformation approaches :
Rehost. Sometimes called "lift-and-shift," this modernization strategy emphasizes speed because it requires practically no code changes. Organizations take apps from their previous environment and transition them as-is to their current environment.
Replatform. This approach lies in between rehosting and refactoring. With replatforming, organizations make code changes so that apps can be used with cloud technologies.
Refactor (or repackage). Refactoring prioritizes productivity as well as speed. With this strategy, apps need only minimal code changes so that they can connect easily to and make the most of a cloud-first environment.
Rearchitect. If an organization needs cloud scalability, rearchitecting might be the right approach. With rearchitecting, apps functionality and code get modified and extended to scale better in the cloud.
Rebuild (or rewrite). For recreating an app using cloud solutions, rebuilding is sometimes the right option. It's a heavier lift, but it may be essential if existing apps have limited functionality or lifespan.
Replace. If an app won't meet current or future business needs even after rebuilding, replacing it with a ready-made solution may be necessary. This approach can be faster than rebuilding and free up valuable development resources. But replacing apps could pose challenges including interruptions to business processes and limitations to future modernization initiatives.
Encapsulating : This involves accessing the mainframe resources by using API's


Encapsulating :
Let us understand how to expose mainframe applications and data through API with the help of above architecture diagram. Consider a cloud native application hosted on the cloud. The cloud be AWS, Azure, GCP or the IBM cloud. This particular application is invoking an API to access customer information which is turn invoking a mainframe application which could be a CICS application which is exposed as an API.
A cloud native application calls a managed API to get customer information. With the help of an API gateway, the cloud native application invokes an API endpoint. It secures the API and invokes the corresponding API via IBM Z/OS connect EE.
Now the API gateway and IBM Z/OS connect EE are the tools that modernize the legacy applications. 
An API gateway is an API management tool that resides between client and collection of backend services. It acts as reverse proxy to accept all API calls, aggregate the various services required to fulfill them and return the result with appropriate response.
IBM Z/OS connect EE : This is used to provide RESTful API access to Z/OS applications and data hosted in subsystems such as CICS, IMS, IBM MQ etc. Respresentational state transfer REST APIs are an application programming interface that conforms to the constraints of REST architectural style and allows for interaction with Restful webservices. Ibm zos connect facilities calling zos target applications by using REST calls. It provides standard way to identify assets that are on Zos and reach these assets by using REST. Zos connect enterprise edition allows to serve API from common zos middleware like ibm cics, ibm ims and ibm DB2. Zos connect translates incoming REST calls to the format and codepage understood by the configured middleware . Zos connect gives the ability to easily consume api from applications written on zos where in many cases these applications were written before REST was conceived. Main purpose of using REST enablement for zos is the ability to communicate with Z/OS applications in a secure way.
Going back to the diagram above, an API on IBM Z/OS will transform the http request into the input format of a CICS application and this format specified in a COBOL copybook and after that it will invoke the CICS application. The CICS app would perform the required operation and return the result in the output format which is specified in a cobol copybook. After recieving the response, the output is converted into JSON format. The response is then returned to the API gateway which in turn returns this JSON based response to the calling cloud native app. 




Comments