So You Want To Do Containerized Microservices In the Cloud?
June 30, 2021 Alex Woodie
As a modernization consultant working in IBM’s Rochester, Minnesota, lab, Amy Anderson gets to hear from some of the most tech-savvy IBM i shops in the world. Her job requires her to know where shops are now, listen to where they want to go, and chart a path that takes them there. That can sometimes be quite a challenge, especially considering the rapid pace of technological change at the moment.
“One of the things that we’re seeing now is the whole industry now is focused on modernization,” Anderson said during her session at the recent NAViGATE conference hosted by COMMON in May. “You hear phrases like digital transformation, application modernization. And I often joke every executive says they want to do containerized microservices in the cloud.”
The tech world moves swiftly, and currently it’s moving like a rocket toward containerized microservices in the cloud. Which brings up the obvious question: Just what are containerized microservices in the cloud?
“What does that mean?” Anderson asks. “How do we get there from here? Those questions are not easily answered.”
If there’s one thing that’s not up for debate, it’s that the need to modernize has never been higher. Anderson, who’s official IBM title is digital transformation architect, made a compelling case that we have just gone through a period of rapid innovation and transformation. In her session, she shared data collected by Scott Galloway, professor of marketing for NYU Stern, that shows the COVID-19 lockdown, as weird as sounds, was actually great for businesses (well, for some businesses, anyway — millions of small businesses, in particular restaurants, are out of business).
“In the first eight weeks of 2020, when we had the pandemic, the digital economy witnessed 10 years’ worth of growth,” Anderson says, quoting Galloway’s work. “It was kind of ticking up for 20 years, you know, very politely [going] up one year and one year. And then all of a sudden, we hit that lockdown and we had this explosive [growth].”
It was hockey-stick-level growth the likes of which the world rarely sees.
“So the imperative to do something and to be well positioned for e-commerce is greater than ever,” Anderson says. “We’ve just seen this acceleration that that we didn’t know was coming. Some businesses have emerged quickly as winners.”
Some major retailers pivoted very quickly and realized substantial growth in their e-commerce operations during the COVID-19 lockdown. Citing data from Forrester Research, Anderson showed that e-commerce giant Amazon did fairly well during the pandemic, realizing a 25 percent increase in sales year-over-year in the first quarter of 2020, up from 10 percent growth in the same period the prior year.
But other companies did much, much better in the first quarter of 2020. Walmart’s sales were up 77 percent year over year, Home Depot realized 79 percent growth in its e-commerce sales, and Dick’s Sporting Goods hit 106 percent. But the winner of the most rapid growth in e-ecommerce sales goes to Target, which recorded a whopping 141 percent increase in sales online.
“All of these numbers are great,” Anderson says. “We may have Dick’s Sporting Goods attending the conference here, but you know, you want to be like Target.”
With Target as the clear, ah, target, IBM i shops must now figure out how to get there. There may not be an obvious path leading directly from monolithic RPG and COBOL applications to containerized microservices in the cloud. Containers, microservices, and clouds are not completely foreign in the world of IBM i. But they’re also not the standard fare, at this point in time, so the journey may be a long and strange one.
One positive development, according to Anderson, is that that IBM i shops have more modernization options available today than they’ve ever had before.
“There are newer ways to modernize in small bites that help you lower your risk and lower that upfront expense,” Anderson says in her NAViGATE session. “Because just diving into some major transformation is expensive and there’s a lot of risk associated with it, so we have ways that we can help you deal with that.”
The good news, at least where Anderson sits, is that even the longest journeys start with a couple of small steps. It may seem impossible to go from “custom RPG business logic running on an IBM i server” to “my business runs on containerized microservices in the cloud.” But if there is a route from here to there, then at least the starting point is well-defined, as are the first few steps.
Anderson’s preferred approach to dealing with this challenge is to get a clear statement of the problems that customer face, and beginning to chart a path forward. As she states in her COMMON sessions, she is a big advocate of application discovery tools that can help investigate what’s going on deep into the RPG and COBOL code, and begin to pull apart the strands of spaghetti code, and see where they lead.
“What we always do — this one is, to me, not optional — is to start with discovery and analysis,” Anderson says. “We have to understand what’s in your system, and without fail, we see there’s a lot of businesses right now where the keepers of the knowledge about the application have left the business. They retired. They moved on. They’re not there.”
The application discovery phase is critical for helping to refine the modernization strategy, because it begins to show the state of applications for what they really are, Anderson says. It’s also crucial for helping to define what the next phases of the digital transformation will be, which is important for meeting the executive’s goals.
“We’re seeing people say ‘I’ve got this giant monolithic application that I’ve been carrying around for 40 years. It’s just a big fur ball of code. And what I really want to do is break it down into business functions so that I can start to deal with the business functions individually,'” Anderson says.
For example, one of Anderson’s banking clients wanted to pull out of the “giant customer service application” the section having to do with payments. The client wanted the option of replacing that part with a package. But even if it didn’t bring in a third-party vendor to supply that functionality, it wanted the option to do that, she says.
“Once we create these isolations, we’re starting to break down that monolith,” Anderson says. “You’ll sometimes hear the phrase ‘mono to micro.’ It’s really saying how do we break down that monolithic application and create consumable chunks, if you will.”
Once the application components have been newly defined and separated, then the next step is defining APIs (application programming interfaces) to those programs. There are various tools available to do this, including tools from IBM and third-party software vendors. RESTful web services using JSON are the popular flavor of the moment, although XML-based SOAP methods are still in use.
“What people increasingly are wanting to do is to build a set of APIs that can communicate with the IBM i application,” Anderson says. “Maybe those APIs are sitting on IBM i and maybe they’re somewhere else. But once we do that, we create the flexibility that we need in order to deal with the different chunks.”
Whatever technology you use to define the APIs, the important thing to realize is that you have started making progress toward running “containerized microservices in the cloud.” Moving an application from on-prem to the cloud may be one of the least problematic areas of the equation, as there are various cloud options available from IBM and third-party public and private clouds.
“Ultimately with APIs we can start to physically isolate these things, and so that API piece of this is really important for what we’re trying to do,” Anderson says. “I really encourage you to go and learn. There’s a lot of techniques and tooling out there that [take] a low-code approach to creating APIs. You don’t have to have a Master’s degree in Java development in order to do this. And it’s a really clean way to be able to take things pull them apart, isolate, and that really gives you options.”
And one of the options, if you like, is running containerized microservices in the cloud.