By Neil Tardy
Originally published by TechChannel January 2, 2020
Kris Whitney, product architect for Db2 Mirror for i, shares how the continuous availability database solution was created in response to client feedback.
For years, IBM i clients have been asking the company to develop new products or provide enhanced capabilities. There’s even a defined process for these asks with the Request for Enhancement (RFE) program. Partnering with clients to deliver advanced solutions that address complex business problems has been a hallmark of the platform since its inception.
In 2015, Kris Whitney and other members of the IBM i high availability (HA) team were approached by some long-time clients about their need for a continuous availability solution. However, this was no ordinary request.
It started with a few individual queries, but eventually grew into a chorus of voices. “These were some very important clients, and they all had similar requirements,” says Whitney. “They had calculated their business loss, even for planned maintenance, and concluded that they couldn’t be down at any point.” The message was that simple: These clients literally didn’t have a moment to spare for downtime.
“They wanted a commitment,” he adds. “We’d heard that conversation for a long time about 24-7 and getting to active-active, but now they needed continuous availability to remain on the platform.”
IBM’s commitment resulted in IBM Db2* Mirror for i, a licensed program product (LPP) unveiled in April 2019. The announcement was the culmination of four years of internal development and extensive collaboration with IBM i clients spanning the finance, insurance, pharmaceutical and retail industries worldwide.
This solution’s reception has been impressive. For various reasons—starting with their satisfaction in the overall quality of the products themselves—IBM i clients are generally reluctant to move to new releases or investigate new offerings. But interest in Db2 Mirror has been noticeable since GA in June.
“Yes, our adoption rate is traditionally slow, but we have people who are more motivated than I’ve seen in the past,” says Whitney. “They’re getting into their test environments and trying to get there faster.”
‘Can I Have it in 6 Months?’
In contrast, just getting there was the priority during development. As the product architect for Db2 Mirror, Whitney said that everyone involved understood the challenges of this undertaking.
“We knew full well going in that this was going to be one of those projects that don’t come around very often. As far as the size and the amount of impacts throughout the entire OS, it touched a lot of places and a lot of developers had to be involved,” he says.
While the project followed established IBM design guidelines and principles, participating clients had more opportunities to provide feedback and the ability to do so earlier in the process. That meant more demos and more reviews. Even during the initial stages, a group of stakeholders reviewed the requirements and weighed in on high-level design ideas. An early alpha program, set up more than a year prior to release, allowed participants to access a cloud-like environment to get hands-on with the solution in progress.
“Naturally, there was joking around: ‘Can I have it in six months?’ ” Whitney recalls. “But our clients understood the enormity of this and how it would change the way they wanted to run their IBM i business.”
At this point, clients were running their businesses with PowerHA* System Mirror for IBM i. As a solution that provides storage-based clustering capabilities for HA environments, PowerHA high availability “gets you almost all the way” to continuous availability, as Whitney puts it. Of course, PowerHA high availability continues to fulfill the needs of a substantial number of IBM i clients.
While Db2 Mirror has some broad similarities to PowerHA—both are LPPs that are tightly integrated with the OS, and they share some clustering code—they’re distinct solutions. To accomplish what it does, Db2 Mirror takes advantage of advancements in connectivity technology. Whitney and Mark Anderson, formerly the chief Db2 for i database architect (he retired in 2019), came up with a design for replicating databases using low latency high speed RDMA over converged Ethernet (RoCE: pronounced “rocky”) adapters.
“That was really the turning point, when RoCE technology became a little bit more mainstream,” says Whitney. “These adapters became more common.”
Using RoCE to connect two IBM i instances—which are most likely but not necessarily two physical servers—the two databases are presented as a single database that’s accessible from both systems simultaneously. This is known as an active-active configuration.
From the beginning this capability was specifically sought by some clients.
“In parts of Asia, there are banking requirements. Whether these are formal laws, legislation that will be enacted, or merely suggestions from governments, it’s a little fuzzy. But these clients were very interested in achieving an active-active solution,” says Whitney. “We heard it from multiple companies in that region of the world, so we knew it was critical.”
Another key component of Db2 Mirror is its UI, which is browser-based and runs directly on IBM i. It’s stylistically similar to the well-regarded GUIs present in IBM Storwize* solutions.
Whitney and GUI architect Tim Rowe arrived at the design choice. “Early on, I challenged Tim to do something different from what we’ve done in the past. It’s very straight forward. After some basic training, people get it,” he says. “It’s probably one of our best GUI products to date.”
A Surprising Response
For the most part, Whitney says the development process for Db2 Mirror was typical. Everyone put in long nights and worked their share of weekends, but the solution came together roughly on schedule and largely as planned.
Since the release, however, some unexpected discoveries have been made. Fortunately, they all fall into the category of pleasant surprises. For starters, Db2 Mirror has proven to be a fit for environments of all sizes. It makes sense when you think of an industry like finance. Small community banks are subject to the same regulations as the big ones, so their availability requirements are just as stringent.
“It’s applicable to a broader set of clients than we ever expected,” says Whitney. “We have—I’ll call it one of the smallest IBM i clients in the world. I mean it’s the smallest machine you can buy with a single core. They’re very interested.”
Clients have also found an additional use for Db2 Mirror: to move data. Say you’re looking to replicate a set of libraries that your users frequently query. By replicating a second system and maintaining the synchronous connection, that set of users—and the system overhead they generate—can be directed to the new node, while the original can be dedicated to production workloads.
“That’s completely valid,” says Whitney, “even if it wasn’t what we originally intended to solve.”
To better serve the entire client base, IBM is working to provide the capability to utilize internal storage with Db2 Mirror. In October, IBM issued a statement of direction pointing to support for direct attached internal storage in the near future. The company had previously made known its intent to support non-volatile memory express (NVMe) storage adapters.
As you can see, the work of bringing continuous availability to the IBM i platform is ongoing.
“I don’t see revolutionary changes to the product, but there are little things we can do to make it easier for applications to take advantage of active-active as well as enhancements we can make to the types of objects we replicate,” Whitney says. “We’re continuing a strong roadmap for a few years—and a lot of that, again, is based on what we’re hearing from people using the product.”