COBOL to the cloud

COBOL a la nube

Migrating COBOL to the cloud appears to be a achievable goal given the current state of technology.

For example, the emergence of new compilers or emulators open up different paths to access the cloud, and translators from COBOL to more modern languages appear as viable options.

Mobile access and cloud computing are increasingly in demand technologies, and the underlying technology in COBOL applications doesn’t seem to be too friendly with these technological platforms.

We believe that the perfect combination of tools and experience makes the path from COBOL to the cloud more solid and well-founded.

Let’s take the first step to embark on this journey that is already seen as nothing less than inevitable.

COBOL to the cloud: an introduction

Since Grace Hopper laid the foundations on which COBOL was finally built in 1959 and after its long journey towards standardization, this programming language has climbed positions and become the backbone of business computing that mainly resides on mainframes.

We must not forget that many of its first applications were driven and developed by and for the US Department of Defense, so this initial push to COBOL was certainly decisive for the high degree of penetration it achieved in the software development market.

Since those times, COBOL has not stopped updating and, although it is a matter of opinion how much progress has been made in this field, what we cannot deny is that the architecture on which COBOL is built has become obsolete. And this seriously limits the ability of code developed in COBOL to adapt to modern software development paradigms or the inherent security required in today’s applications given the necessary interoperability.

Who is driving the COBOL to cloud journey?

In some way, it is the Ministry of Defense and the government of the United States who are also promoting the migration of legacy COBOL applications to more modern environments. And obviously, they are not doing it because it is trendy.

All the infrastructure on which the systems developed in COBOL were built suffer from some problems of reliability, scalability, poor documentation and lack of modern features such as microservices or containerization, keeping them isolated from predictable future improvements.

We cannot ignore that, in some way, it also put pressure on the need to migrate the massive retirement of programmers responsible for application development.

For these reasons, the US government was convinced that migrating to a Cloud environment, based on modern programming languages was a task that needed to be started immediately.

The Department of Defense evaluated various technologies and tested various solutions such as rehostings, refactoring and COBOL emulators.

Finally, they defined 3 major phases to be completed as necessary to face the migration process:

  • Phase one: Automated code conversion. Refactoring of COBOL to Java.
  • Phase Two: The Purge. Removal of any persistent COBOL code.
  • Phase Three: The Big Move. Cloud migration itself.

In broad strokes, the definition of these stages sounds logical and common sense, but they do not delve into everything that involves the process of migrating from COBOL to the cloud.

In fact, there are hundreds of tips on the web on how to take the first step. Unique tips that present one or another face of the migration journey.

For example, we can find suggestions of the following type to migrate COBOL to the cloud:

  • Decouple systems: look for division points that separate the old “all-inclusive” paradigm.
  • Integrate, automate and then replace technologies: optimize the integration of the decoupled parts. Check which technology responds best to your requirements.
  • Remove blocking technologies: Identify where the flow of information slows down or blocks.
  • Adopt agile development practices: DevOps and open code is the new paradigm.

Again, they sound logical and full of common sense, but it seems that we are immersed in a sea of ​​tips and more tips, so the million-dollar question is, what is the way to follow?

The migration scenario.

As we have been pointing out until now, to migrate from COBOL to the cloud we have to go through various stages and for this we have different solutions.

The case is to decide what factors determine the choice of the chosen solution and which will be the stages to be fulfilled for a successful migration.

On the one hand, we must decide how much we are going to preserve of the legacy application’s structure and, on the other hand, how much we are going to take advantage of the new cloud technology.

They are two extremes that will have to be defined to determine the steps to follow in a migration that is free of problems.

We must abandon the idea that migrating the COBOL workload to the cloud only involves a recompilation of code in such and such a COBOL emulator or cheerfully transforming the original code into a more modern programming language.

Obviously, there are available solutions, but we should take very seriously the advantages and disadvantages of each one.

Sometimes it is easy to lose sight of the fact that the coding architecture is EBCDIC and that the programming mode that prevailed in those decades was pure transactional work and batch processing. In addition, the creation of COBOL applications followed the traditional paradigm of replicating a process that was done by hand.

But the current approach is very different. Today, the objects (data) that will be modified by methods (processes) are starting to be studied.

The new paradigm is: data first.

The strategy of the COBOL to cloud journey

To transform from one paradigm to another, a solid strategy is needed. Based on tools and methodologies of proven effectiveness.

For example, mentioning some tools: we need grammatical analyzers and the possibility of abstract syntax tree representation. And beyond them, we need technology supported by experience.

In other words, an approach of verified effectiveness that proves to be a methodology that can be repeated and adapted to the challenges presented by the modernization necessary to transform a legacy application, from COBOL to the cloud.

In summary: from COBOL to the cloud.

As has been said countless times, most mission-critical applications are written in COBOL and the cloud is now seen as a way to add an extra level of flexibility to the entire infrastructure. Furthermore, being in the cloud allows for scaling with minimal investment.

The market is moving non-stop towards modern development environments like DevOps and the cloud seems like a truly effective and accessible destination.

It is not an option to stay out. It is time to make decisions and evaluate costs and times for modernizing our legacy platform and, without a doubt, the cloud has come to stay.

At Base100, we offer a proof of concept that allows you to see how part of your system works in the new environment.

Modernization tasks begin with the use of Caravel Insight, evaluating the installed park, where we survey and inventory the entire legacy application to deeply understand what we are facing.

The task of inspecting, surveying and understanding is not easy, but we firmly believe that it is the correct way to approach the original architecture to minimize risks in the destination architecture, not to mention keeping costs and risks under control.


At Base100, as technology partners of Google Cloud, we offer a set of specific tools and products in order to ensure success in any process of implementing mixed solutions for modernizing Mainframe and proprietary midrange hardware.

Are you interested in our proposal?

Let’s continue moving forward and talk about modernization!

Contact us.