The World's Largest and Fastest-Growing Open Cloud Community

OpenStack Journal

Subscribe to OpenStack Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get OpenStack Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


OpenStack Authors: Liz McMillan, Kevin Jackson, Don MacVittie, Christopher Keene, Pat Romanski

Related Topics: Cloud Computing, Microservices Journal, Cloud Data Analytics, Cloud Application Management

Article

Cobol to Cloud Computing

Ramp to cloud for legacy applications

Legacy Modernization & Cloud
With the exception of very small organizations, migrating to the cloud is not a simple switch that can convert them from an ‘ in-house' data center to Cloud.  Large enterprises have to modernize much of their applications to adapt to cloud, So the path to the cloud is a combination of:

  • Portfolio assessment of existing application
  • Retire redundant applications that can be sourced as SaaS and change the business process accordingly
  • Modernize existing applications to utilize the benefits of Cloud platform and hence they can be hosted on a private or public or hybrid clouds.

So modernizing  existing applications to take advantage of  Cloud platforms is key to a  success of  enterprise transformation towards  On Demand  utilization of resources and providing  improved business capability  building for the underlying business.

Why Cobol Modernization Is Relevant Today
Most  large enterprises continue  to run Mainframes and other legacy systems on which the Cobol is the pre dominant 3GL language,  and  Cobol continues to run   millions of transactions each day as  they continue to perform for the very specific needs for the enterprise.  Typical  Characteristics of the Cobol based programs  that  makes it continued existence are .

  • Complex Business Logic, which in most shops did not have proper documentation making it very difficult to replicate , by a new generation of developers who generally perceived to be more of technical in nature and not of domain knowledge
  • Performance of 3GL Programs like Cobol is still unmatched in 4GL and programming languages built on top of virtual machines. Also most Cobol programs are directly accessing operating system level Files like PDS, VSAM Files, whose performance is perceived to faster than relation databases
  • The way most big IT shops setup their Cobol batch programs is highly suitable for distributed and parallel processing. We are seeing that the incoming files are logically split across business units or divisions and batch programs individually process them and finally another master program merges them, this kind of well thought out organization of process aligns with business needs, and most organizations finding it satisfying to continue with Cobol batch programs
  • Finally Cobol and associated eco system, Cobol , VSAM Files, JCL, QMF, DB2... are not as isolated from rest of the IT systems as they used to be. For example in early 1990s we have no way directly invoking a Cobol batch program running on mainframe from a program in Unix. However increased adoption of open standards on mainframe like
    • Wrapping of 3GL programs as stored procedures
    • Exposing 3GL logic as Web Services
    • Middleware connectivity suits

All help towards the  co-existence of Cobol programs with the rest of the world, making it less beneficial for organization to rewrite them unless there is clear business need.

According to Gartner, mainframes running Cobol apps comprise 60% to 80% of all business applications worldwide (including as much as 90% of all financial transactions), which adds up to billions of lines of Cobol code directly tied to enterprise systems and trillions of dollars of IT investment.

Cobol and Cloud
The following chart indicates why moving the Cobol programs to Cloud As Is  viable than taking lot of effort to  re-engineer them  in terms of effort and cost and yet not producing a system that does not match the business capability and performance of Cobol programs.

Cloud Tenant

Cobol Batch Programs

Elasticity

Most shops run their batch programs at specific batch windows  at that time they consume excessive  CPU processing cycles, and then goes into idle mode .

High Performance Computing

Cobol programs have been structured  to utilize the MPP (massively parallel processing)   capabilities of mainframe, where by a task is split into multiple sub tasks (JCL batch jobs) and then arrive at the result

Hands Free Upgrades and Maintenance

Typically  Upgrading software and components on Mainframe  is difficult and  tend to take long cycles of elapsed time,  this can be mitigated if the respective PaaS providers  commit for  SLAs on upgrades.

Cobol PaaS Options
The following are the choices for enterprises at this time, to utilize the platform as a  service for Cobol programs over the Cloud and migrate their  legacy cobol programs to Cloud.

Windows Azure / CLR  / Cobol
The .NET Framework provides a run-time environment called the common language runtime, which runs the code and provides services that make the development process easier. The common language runtime makes it easy to design components and applications whose objects interact across languages. Objects written in different languages can communicate with each other, and their behaviors can be tightly integrated. For example, you can define a class and then use a different language to derive a class from your original class or call a method on the original class. You can also pass an instance of a class to a method of a class written in a different language. This cross-language integration is possible because language compilers and tools that target the runtime use a common type system defined by the runtime, and they follow the runtime's rules for defining new types, as well as for creating, using, persisting, and binding to types.

Since Windows Azure is built on the .NET Framework, implementing Cobol to run Windows Azure is a natural fit and we already see the following providers.

  • Micro Focus Visual COBOL® for Azure provides the tools and support for building new Azure applications or moving existing applications to Azure.
  • Fujitsu's NetCOBOL for .NET contains a COBOL compiler that enables a company to extend valuable COBOL assets to participate in the .NET platform, where it can be integrated with other languages and tools within the .NET framework.

Amazon EC2 And Cobol
Micro Focus is extending its Enterprise Cloud Services to support Amazon's Elastic Compute Cloud (EC2), allowing businesses to shift their existing Cobol applications to Amazon's infrastructure.

Summary
While the migration of Cobol To Cloud, looks  promising and there are   support from vendors, we find most solutions revolve around  one vendor MicroFocus, and   also   migration of true mainframe style batch programs  is still in the beta stage.  We need to see more support from vendors, especially support from IBM in enabling  this happen.

Otherwise there could be some proof of concept  being successful, but the real power and  performance of the mainframe  cobol programming can  only be substituted  if there is a proper platform support from vendors.

More Stories By Srinivasan Sundara Rajan

Highly passionate about utilizing Digital Technologies to enable next generation enterprise. Believes in enterprise transformation through the Natives (Cloud Native & Mobile Native).