Why Vodafone Greece Devs Migrated to Red Hat's Quarkus - InformationWeek

InformationWeek is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

IoT
IoT
DevOps // Programming Languages
Commentary
6/2/2020
08:00 AM
Connect Directly
Twitter
RSS
100%
0%

Why Vodafone Greece Devs Migrated to Red Hatís Quarkus

Changing gears to another framework helped reduce boot times and resource usage, especially during traffic spikes.

The team at Vodafone Greece kept trying to make do with its legacy systems but the need for a nimbler option became impossible to ignore. Christos Sotiriou, backend chapter lead at Vodafone Greece, says they wanted to better serve requests and increasing demand on services such as distant payment solutions and mobile applications. He says they had been using a monolithic service architecture that was in place for decades. A newer option emerged when Quarkus came on the scene.

In 2019, Red Hat rolled out its build of Quarkus, a container-first, next-generation Kubernetes-native Java stack. It is billed as a more cloud-oriented option for app development that spoke to the needs at Vodafone Greece.

At the time, Vodafone Greece was dealing with long development cycles that needed to be trimmed down to be more reactive, Sotiriou says. “In order to push a new feature, no matter how small, it required two or three months of development.” The volume of people developing on the same architecture became a problem, he says, along with delays in aggregation to present information to users.

Image: joyfotoliakid - stock.adobe.com
Image: joyfotoliakid - stock.adobe.com

That led to Vodafone introducing a digital experience layer, based on Kubernetes and comprised of microservices that sit between the front-end channels, including web and mobile applications, and backend systems. “In this Kubernetes cluster, we have developed 80 microservices,” Sotiriou says. The goal is to develop up to 300 microservices, he says, when the full scope of the digital experience layer is realized.

Sotiriou says his team worked with the Spring Boot framework when they began developing microservices. Though he says Spring Boot is widely used, his team had concerns. “We became increasingly worried about resource consumption that Spring Boot was having while being deployed on the Kubernetes cluster,” Sotiriou says. For example, they faced slow boot times when a microservice was deployed because systems needed to be aggregated before it could come online.

Vodafone Greece was eventually able to decrease boot times of about 2 minutes to around 60 seconds, Sotiriou says, but a search began to find alternatives. “It became increasingly cumbersome to find ways to circumvent the methodology we were using just to squeeze ever little bit of performance out of Spring Boot,” he says.

Delays in booting, especially during traffic spikes, can cause headaches with microservices and result in an unhealthy cluster, Sotiriou says. “If booting of a new microservice takes too long it means that the old microservice that is already running is going to be killed because of heavy load.”

The development of Quarkus was a response to the need to alleviate overhead and better serve modern ecosystems, says Rich Sharples, senior director of product management at Red Hat. “Java was designed for a very, very different era of computing with big honking, mainframe-class Solaris servers running for years and decades,” he says. “That’s not the world we live in.”

Now in a containerized world, the resources that applications have access to are much smaller, Sharples says. In extreme cases, he says, such as functions-as-a-service, applications may only get enough memory and CPU to run a function one time. “That’s what we are trying to change with Quarkus,” Sharples says, “to move a lot of that processing into the compilation stage so it doesn’t affect your startup time and to lower the significant memory overhead that Java comes with.”

Sotiriou says his team considered options that included Node.js and Golang but went with Quarkus because of the ecosystem and programming language choice. In March 2019, he says his team began writing their entire stack toward Quarkus. “Not only were we beginning to write microservices using Quarkus, we also had a plethora of common libraries, shared libraries across the whole ecosystem we needed to rewrite as well.” That included common business cases that the microservices were using such as customized database connectivity and authorization authentication.

Christos SotiriouImage: Vodafone Greece
Christos Sotiriou

Image: Vodafone Greece

Vodafone Greece entered into a staggered migration, Sotiriou says, where the team initially tried to keep older applications running as they moved Spring Boot into maintenance phase while newer applications were written in Quarkus. The need to accelerate that migration became apparent earlier this year.

In January, Vodafone Greece released a new version of the My Vodafone application. Sotiriou says it was the first time the digital experience layer was used to draw the main screen for the app. “The main screen had so much information that we needed to aggregate information from three or four or five microservices at the same time,” Sotiriou says. When this version of the app was rolled out to about 30% of Vodafone Greece users, problems emerged. “The microservices the main screen used were written in Spring Boot, so it nearly tore down our cluster,” he says.

With increased traffic spikes, there were long boot times of about 40 seconds, Sotiriou says. The app was rewritten in Quarkus to rectify the issues, using half the resources. He says using Quarkus in JVM (Java Virtual Machine) mode without compiling to native led to boot times of about 14 seconds, a 60% performance increase. “That was the breaking point for us,” Sotiriou says. “We decide to migrate even more microservices from Spring Boot to Quarkus.” Vodafone Greece now has 40 microservices written in Quarkus, with another 20 microservices in the pipeline, he says.

 

For more information on DevOps and Cloud, read these articles:

Modern App Dev: An Enterprise Guide

Kubernetes Advantage: Considerations for a Multi-Cloud World

Searching For a Cloud-Native App Strategy Amid the Chaos

Joao-Pierre S. Ruth has spent his career immersed in business and technology journalism first covering local industries in New Jersey, later as the New York editor for Xconomy delving into the city's tech startup community, and then as a freelancer for such outlets as ... View Full Bio
We welcome your comments on this topic on our social media channels, or [contact us directly] with questions about the site.
Comment  | 
Print  | 
More Insights
News
Think Like a Chief Innovation Officer and Get Work Done
Joao-Pierre S. Ruth, Senior Writer,  10/13/2020
Slideshows
10 Trends Accelerating Edge Computing
Cynthia Harvey, Freelance Journalist, InformationWeek,  10/8/2020
News
Northwestern Mutual CIO: Riding Out the Pandemic
Jessica Davis, Senior Editor, Enterprise Apps,  10/7/2020
White Papers
Register for InformationWeek Newsletters
Video
Current Issue
[Special Report] Edge Computing: An IT Platform for the New Enterprise
Edge computing is poised to make a major splash within the next generation of corporate IT architectures. Here's what you need to know!
Slideshows
Flash Poll