This post is the latest in a multi-part series exploring the basics of microservices. See the previous article, DevOps Is the Secret Ingredient to Make Microservices Cook.
Midway through the transformation of its 18-year-old monolithic application architecture, online digital survey and market research company Questback is now finishing a year-long containerization program and is preparing to begin an accompanying microservices deployment.
The company is re-architecting its platform to modernize it, make it easier to add innovations for customers and to make it more cost-efficient.
It’s a strategy that is gaining popularity among a growing number of enterprises, several IT analysts told The New Stack. A phased approach like the one being done by Questback is a good way to make this shift, they said.
And as the company works toward its modernization goals, it is continuing to run and maintain its existing systems to make the transformation as seamless as possible.
“We are living in a parallel world,” Questback CEO Frank Møllerop told The New Stack. “We are working with the old stuff as we are preparing the new stuff. All of this could have been done quicker, but we decided to take it a little bit slow at our end to be sure we were not impacting our business as usual too much.”
A Two-Phase Approach
Starting over from scratch was out of the question because too much money had already been invested in the existing system and because it still did its job in most ways, Møllerop said.
“We went into the cloud in 2000 when it was called hosting,” he said, long before the proliferation and success of public clouds. “It was the cradle of our technology.”
The problem was that the old architecture needed modernization and other improvements as the company looked at offering its products and services through public clouds. In the past, Questback had only offered the services through private clouds.
These needs became more evident, said Møllerop, as the public cloud started to get major traction and speed in the last six years with companies like Amazon Web Services, Google and Microsoft Azure allowing businesses to easily deploy applications that could be used by customers.
After researching its options, Questback’s IT and leadership teams got started on a plan in mid-2016 to reinvigorate its IT architecture through the addition of containers and then microservices so it could better serve customers and expand its business while sticking with its long-proven IT systems. The plans called for a two-phase approach, first for containerization, and then ending with microservices, which will integrate with its existing monolithic architecture.
“That’s the whole point,” said Møllerop. “We don’t want to replace it because our stuff works, and it can run forever.”
Containerization Completed, On to the Microservices
By April of 2018, the containerization deployment was finishing up, helped along since the late summer of 2017 by a detailed project plan which included the creation of an internal cloud enablement team, governance procedures and help from IT staffers and a third-party technology partner. Testing is now continuing with the containerization efforts. The containerization phase, which uses Docker, Kubernetes and Kublr management components, finished on time and on budget.
The second phase, the introduction of microservices, was slated to begin in April and will include decisions about which microservices technologies to use and which individual service components the company wants to offer up to customers via microservices, said Møllerop.
The lure of microservices, he said, is that they will help simplify the complex problems of trying to make changes in large, unwieldy monolithic systems. With some 200 types of technologies and standards included in its existing IT architecture, as well as more than a million lines of code, making changes creates a lot of technical issues because each modification affects other systems.
“That creates another problem or something else is not working and then you’ll have a whole list of items you need to test,” he said. “And it takes a long time before you’re able to introduce new innovations to the market” using such a procedure. “This was one of the reasons why we wanted to look into re-architecting our platform.
By sectioning off services and processes within the monolithic system using containers and microservices, select customer features will operate individually and be self-sufficient and self-contained, allowing them to be used by customers through public clouds as needed, he said. By using microservices, Questback won’t have to worry about problems arising through changes to its existing architecture as its modernization and efficiency programs continue since changes will only happen inside the subsystems of the containers.
“With containerization, we can move things around, it’s much easier and you can control it and have a complete overview,” he said. “It enhances your mobility.”
Customers will be able to access the services through Questback’s APIs, allowing the company to earn revenue while simplifying innovation and service delivery and giving it new go-to-market models.
“This will open up a new commercial model so we can charge for the use of our services differently than we would have done in the monolithic setup because we can, for instance, charge $0.01 per API call,” said Møllerop.
At the same time, the technology additions can be done even as the existing system continues to support the company’s everyday business efforts.
Drawing a Microservices Road Map
To prepare for the microservices phase, Questback will rely on its 100-member IT engineering team as well as a third party, EastBanc Technologies, which provides its Kublr container management system.
For the microservices strategy, the plans are in the very early days, he said. “We need to decide first which of our individual service components we will make available. It doesn’t make any sense to do a huge microservice architecture undertaking if we are not planning on having that element of the service made available. We need to document the APIs well so customers can utilize them and understand how each of the service components will work individually.”
There have been a few challenges with the process so far, said Møllerop, including resistance to change from some employees and mapping out how the new technologies can be used to fuel the company’s future goals. In addition, as Europe’s General Data Protection Regulation privacy rules (GDPR) take effect in May, Questback must ensure that the changes comply with those stricter rules, he said.
“It’s been a very thoughtful and well-orchestrated process,” Møllerop said of the containerization and microservices projects so far. “It’s not been easy. It’s been a lot of hard work and lots of late hours and some frustration as you go along. But we are now on the home stretch, so it looks very good.”
One key to making it all work was bringing in Kublr and EastBanc to assist with the work and to “give us a new perspective into how we should approach this technology-wise,” he said. “That’s what we did and that was one of the key reasons we were able to finish on time and on budget.”
Analysts Weigh In
Charles King, principal IT analyst with Pund-IT, told The New Stack that Questback’s decision to introduce containers and microservices into its existing monolithic architecture is a strategy he has been hearing from other companies as well.
“The migration versus starting-from-scratch issue offers a good point to compare microservices development technologies and procedures with what you already have in place,” said King. By doing it this way, it also can allow “tried and true expectations for how the process proceeds and how the final application performs. Starting from scratch seems to be more common in organizations that are already on the road with application modernization.”
King said Questback’s move to recognize employee resistance to change amid the projects is wise to keep the efforts on-track while maintaining worker job satisfaction. The company’s decision to bring in a trusted third-party vendor to help with the work is also a smart move, he said, as well as its fresh approach to adapting its existing IT infrastructure to work with microservices efforts and projects.
“You can point to the popularity and continuing rapid growth of core technologies, including Docker, as a proof point for how widespread it’s becoming,” said King.
Another analyst, Dan Olds of Gabriel Consulting Group, said that Questback’s approach makes sense. Ultimately, “the best way to get to a microservice architecture is to first build the application as a monolith and then break it apart into microservices,” he said.
At the same time, other companies which are already using a variety of internal technologies and architectures potentially could have trouble migrating to microservices in bulk, he said, based on his discussions in the marketplace.
“Many of the companies that I’m aware of are starting their microservice architectures on new projects and leaving the older stuff behind until they get more experience and better tools for conversion,” said Olds. “This is an evolutionary process, not a Big Bang process.”
Read the next article in the microservices series: Analyze This: Understand Microservices Monitoring
Feature image via Pixabay.