Book Image

Modernizing Legacy Applications to Microsoft Azure

By : Steve Read, Larry Mead
Book Image

Modernizing Legacy Applications to Microsoft Azure

By: Steve Read, Larry Mead

Overview of this book

Organizations have varying circumstances, objectives, and prerequisites when contemplating a hyper-scale cloud solution transformation to a platform such as Azure. Modernizing Legacy Applications to Microsoft Azure uncovers potential scenarios and provides choices, methodologies, techniques, and prospective possibilities for transitioning from legacy applications to the Microsoft Azure environment. You’ll start by understanding the legacy systems and the main concerns regarding migration. Then, you’ll investigate why distributed architectures are compelling and the various components of the Azure platform needed during migration. After that, you’ll explore the approaches to modernizing legacy applications and the Rs of modernizing (i.e., rehost, refactor, rearchitect, and retire). You’ll also learn about integration approaches and potential pitfalls. By the end of this book, you’ll be well equipped to modernize your legacy workloads while being aware of pitfalls and best practices.
Table of Contents (18 chapters)
1
Part 1: Legacy Estate Options
3
Chapter 2: Strategies for Modernizing IBM and Unisys Mainframes
6
Part 2: Architecture Options
10
Part 3: Azure Deployment and Future Considerations

What are the goals of moving to a hyperscale cloud such as Microsoft Azure?

So, what are the reasons behind deciding on a migration or rewrite of an application or ecosystem of applications to Microsoft Azure? The answer to that question will no doubt be different for everyone. Typically, the reasons can be broken down into three general categories.

Cost-related

The following are the cost-related factors:

  • Elastic scalability: Legacy systems were designed to run 24/7 and to support peak volumes, you were forced to design the supporting architecture appropriately. This meant that most architectures were over-provisioned. In Microsoft Azure, you can right-size your architecture and grow it as needed, either vertically or horizontally, due to the elastic nature of the cloud. This elasticity applies to the main elements of any data center – that is, its compute, storage, and networking. You pay for what you need and use and (more importantly) you do not pay for what you do not need. This can allow significant cost savings.
  • CapEx versus OpEx: Traditionally, for legacy applications, a large capital expense (CapEx) was necessary to provision a data center. This meant a large outlay of cash for assets that started to immediately depreciate. In a cloud model such as Microsoft Azure, these costs are transformed into operating expense (OpEx). Operating costs are the day-to-day expenses necessary to run a business. Essentially, hyperscalers are similar to utilities, which offer a significant advantage since you do not need to depreciate assets and deal with obsolete hardware.

Application development-related

The following are the application development-related factors:

  • Modern developers: COBOL is a procedural language that was created more than 50 years ago. Many mainframe applications were developed in COBOL and also Assembler. Since these languages are so old, there is no provision for things that are inherent in modern languages such as polymorphism and object orientation. Also, aside from a few colleges that teach COBOL, the population of COBOL developers in the world is decreasing. More and more developers are being trained in modern languages such as Java and C#. Moving to Azure allows you to leverage these new developers so that you can maintain these applications.
  • Modern DevOps: The process of creating applications has come a long way since the use of tools such as Time Sharing Option (TSO)/Interactive System Productivity Facility (ISPF), which was the solution supplied by IBM for mainframe application development. In today’s cloud-based world, application pipeline management tools and repositories such as Git are the norm. Solutions such as Azure DevOps allow for the streamlined development of modern applications by provisioning developer services that allow teams to work and collaborate on code development and deploy applications.
  • Modern architectures: We will explore this in more depth in Chapter 6 and Chapter 7, but many modernization efforts today are being driven simply by the need for your business to be more agile and leverage modern cloud architectures such as microservices. This is especially important in competitive industries such as finance, transportation, and retail. Modern architectures allow businesses to respond more quickly to changing business environments. In government settings, they allow government entities to respond more quickly to situations such as COVID-19 and new regulations.

Hardware-related

Obsolete hardware is the major hardware-related factor. In my travels focusing on legacy modernization, I have been surprised by how many companies want to move to Microsoft Azure simply to get off aging hardware. There have been numerous occasions when customers have told me that they had to resort to eBay to buy hardware that was not manufactured and supported anymore. The only option was to modernize or be at the mercy of aging hardware. When you think about it, this was probably to be expected. These were very reliable systems. They just ran the business. Management changed and the business environment changed, but the legacy systems kept running until someone asked if they should be modernized.

So, cost, application development, and hardware are the key drivers for modernizing a legacy application. As you consider where you might be in the drivers listed earlier, keep in mind that there are many paths to modernization. This is the goal and objective of this book – to show you which path might be the best for the current situation you are in.