How Vodafone Greece Built 80 Java Microservices in Quarkus – InApps Technology is an article under the topic Software Development Many of you are most interested in today !! Today, let’s learn How Vodafone Greece Built 80 Java Microservices in Quarkus – InApps Technology in today’s post !

Read more about How Vodafone Greece Built 80 Java Microservices in Quarkus – InApps Technology at Wikipedia

You can find content about How Vodafone Greece Built 80 Java Microservices in Quarkus – InApps Technology from the Wikipedia website

Alex Handy

Alex is a technical marketing manager at Red Hat. In his previous life, he cut his teeth covering the launch of the first iMac, before embarking upon a 20-plus year career as a technology journalist.

If you started programming in the past decade, your first programming language probably wasn’t Java – and the likelihood that new developers learn Java as their first language is falling every year. While it remains the third most popular language in the world, the days when Java was the first language of computer science education and boot camps has definitely passed by already.

Programmers today are raised on mobile devices, JavaScript and cloud-based deployments. But what if you were raised on these things, but then tossed back into the Java world? How would you find your way back to reactive, event-driven programming environments and highly scalable containers?

Tossed into Java

When Christos Sotiriou came to Vodafone Greece to become the company’s Backend Chapter Lead running a development team, he’d already had over a decade of experience programming. He’d already worked with C++ and Objective C, then had learned Java while getting his master’s degree. But he’d more recently been developing professionally in JavaScript and for iOS; Vodafone was a Java shop. It’d be hard for that not to feel like a bit of a setback, as Java is not exactly the most modern and dynamic development environment.

Sotiriou really appreciated the hardware constraints of the iPhone, and the immediate feedback and reactivity of JavaScript. Java applications could be a bit less elegant in their usage of RAM and CPU time and when you made a change to an application, that application had to compile before the change could be seen, unlike in JavaScript.

Transitions at Vodafone Greece

When Sotiriou joined Vodafone Greece in 2018, his team consisted of only 2 people. Today it’s nearing 40. With so many people on-boarding to the team, and the impetus to expand the company’s microservices cluster beyond 10 services, Sotiriou had his work cut out for him.

Today, that team hosts 140 microservices on their cluster — showing just how much they’ve accomplished. Here’s how Sotiriou and his team made this leap.

Finding the Right Tools

Sotiriou realized he needed tools and techniques that could do the heavy lifting. One tool Sotiriou chose to help bring that more dynamic Node.js-like development experience to his team was Vert.x, the Eclipse project which enables reactive applications on the JVM. Vert.x also helps to reduce overhead for the Java apps it’s used with, as it provides more efficient execution, allowing for greater cluster density.

Revamping Dev Feedback

Sotiriou also wanted to find a way to make the development process offer more feedback to its developers in a faster loop. His experience with JavaScript gave him an appreciation for being able to see code changes enacted quickly, showing the developer whether what they changed worked or not. Additionally, the event-driven programming model of Node.js enables quick programmatic responses to things that happen in the environment.

“I saw from my previous experience what it means to have a reactive environment, and what it means to have multithreading, and how that impacts an application. It taught me how to use threads. How iOS uses threads plays a role in how you program, and how you perceive that. My Node.js experience taught me why Node changed the industry as we see it today,” said Sotiriou. “With Node.js you can make a reactive app, and one event loop does everything. This came into play. Before that, we had a very different view of how threads operate.

“Having this experience, and having worked both environments, when it came to the point where I had to decide how to use a technology, I chose to invest a bit more time into how things work under the hood, and microservices have something in common with my previous experience. Everything I’ve done to this point was built around working in constrained environments with very little ram and very little CPU.”

Read More:   Python Heats up the Language Horse Race – InApps 2022

Improving Boot Time

There was another problem with all of those Java applications — boot time. Vodafone Greece was run on Kubernetes inside Amazon Web Services. As the system was built on containers, and whenever a new marketing campaign was sent out to customers via SMS, that system had to endure large traffic spikes as users reached out to take advantage of the marketing efforts.

Unfortunately, said Sotiriou, every time a traffic spike occurred, the system would incur a pause as it booted new containerized Java applications to meet demand. The boot time for these containers was prohibitive and could lead to a waste of marketing effort (as users failed to get through to buy a new product in a timely fashion).

To shorten boot time, though, Sotiriou knew that more optimization was necessary. Sotiriou said that his experience with mobile platforms taught him how to optimize applications to perform with smaller memory and CPU footprints. But when it came to Java, much of that work had already been performed by the team. The Java Spring Boot apps had effectively been optimized as much as possible at the JVM and application levels.

Optimizing Java Applications: Evaluating Quarkus

Sotiriou wanted more. In the spring of 2019, he and his team began evaluating Quarkus, the Kubernetes native Java stack. Quarkus is based on Vert.x, and while it was just nearing completion at the time, Sotiriou said that even as an incomplete product in 2019, the team could see the advantages very clearly.

After initial tests indicated that Quarkus would reduce application boot times, reduce CPU and memory usage, and make the entire development process run faster, Sotiriou and his team decided to port their most essential libraries and microservices to this new stack. Then, they would use it to build all of their new microservices. Older, less essential services would no longer be developed and ported forward to Quarkus as needed.

They started with their internal libraries, moving them to Quarkus so that the other applications that depended on them would be easier to port. Eventually, Red Hat’s migration toolkit for applications would add specific guidance for Spring Boot to Quarkus migrations, further easing the transition for Vodafone Greece. They also decided not to use the Quarkus Spring extensions, which make porting SpringBoot applications even easier — Sotiriou wanted these new applications to be pure Quarkus.

How Sotiriou’s Team Uses Quarkus Today

Today, Sotiriou’s team has ported over 10 business-critical SpringBoot microservices to Quarkus. These applications boot faster and require less resources to run, lowering the overall AWS bill for the cluster. The cluster is far healthier overall, as well, as it is no longer experiencing difficulty in handling the sudden traffic spikes driven by the company’s direct marketing campaigns. The team also eliminated about 30% of its Java code, overall, as Quarkus is able to help remove unnecessary and unused code.

The company now has 80 Quarkus microservices running in production with another 50-60 Spring microservices remaining in maintenance mode and awaiting a business motive to update. Vodafone Greece’s success wasn’t just because of Sotiriou’s technology choices — he also cited organizational transitions the company made to encourage collaboration.

“There is also a very human aspect in this. It was a risk, and we knew it was a risk. There was a lot of trust required for the team, and such a big amount of trust percolated into organizing a small team around the infrastructure that would later become the shared libraries or common libraries. When we decided to do the migration, the most important thing was not to break the business continuity. The second most important thing was that if we wanted to be efficient long term, we’d have to invest in development and research. We wouldn’t be able to do that if we didn’t follow a code to invest part of our time into expanding our server infrastructure,” said Sotiriou.

That was extra important for a team that scaled from two to 40 in just under three years. Selecting the right people and building a culture of trust and rapid, dynamic development was also a huge part of the success.

If you’re curious about Vodafone Greece’s migration journey, check out this fireside chat from Quarkus:

List of Keywords users find our article on Google:

vodafone app
vodafone greece
vodafone usage
iphone x vodafone
vodafone global mobility services
vodafone chat
vodafone usage manager
vodafone shared services website
vodafone iphone x
vodafone enterprise mobility articles
vodafone enterprise mobility
vodafone enterprise mobility apps
vodafone shop cloud
vodafone enterprise mobility solutions
vodafone enterprise mobility business case
vodafone enterprise mobility as a service
vodafone check usage
vodafone enterprise mobility world
vodafone web hosting services
vodafone one net case study
vodafone change address
vodafone shared services
vodafone enterprise mobile application
vodafone enterprise mobility market
what is vodafone shared services
find my phone vodafone
vodafone one net enterprise
vodafone cloud app
vodafone application to person
vodafone enterprise mobility consulting
vodafone red for enterprise
change address vodafone
vodafone mobility products
my cloud vodafone
one net vodafone
vodafone technology
vodafone enterprise mobile solution
vodafone server
vodafone apps
vodafone enterprise mobile
vodafone enterprise mobility platform
vodafone jobs
vodafone enterprise services
greece vodafone
vodafone address change
iphone x on vodafone
vodafone data usage
vodafone enterprise
lot vodafone
vodafone on net
vodafone enterprise mobility market size
vodaphone iphone x
iphone 7 vodafone
vodafone one net
retail x vodafone
vodafone mobility services
vodafone business solutions for small business
vodafone red for business
vodafone mobile enterprise
hire spring boot developers
vodafone web chat
vodafone enterprise messaging
vodafone the frame
app vodafone
working at vodafone
vodafone red essential
vodafone business solutions technologies
vodafone technology solutions for business
spring cloud kubernetes
vodafone company net
about vodafone
vodafone mobile solutions for business
vodafone enterprise solution
vodafone lot
vodafone cloud server
vodafone wikipedia
vodafone chat support
i want to upgrade my phone early vodafone
can i upgrade my phone early with vodafone
how to upgrade phone early vodafone
vodafone build your own private cloud
spring boot kubernetes
vertx web
sales outsourcing in greece
java kubernetes client
outsource contact center greece
can i upgrade my phone vodafone
vodafone dedicated cloud
spring microservices
microservices spring boot
spring boot microservices
“vodafone greece”
vodafone qa
eclipse vertx
my vodafone app
vodafone chat online
hire eclipse developers
quarkus java
vodafone online chat
quarkus getting started
how early can i upgrade my phone on vodafone
building microservices with spring boot
iphone 7 plus vodafone
deploy quarkus
quarkus hosting
eclipse vert.x
vodafone iphone 7
vodafone business mobility
vodafone business world flat
vertx for sale
what is quarkus
learn microservices with spring boot
send whatsapp message java
vodafone mobile working solutions
how to find my number vodafone
“aws bill”
vodafone get started
my vodafone usage
java microservice jobs
java microservice developer jobs
vodafone cloud server hosting
vertx microservices
vodafone red together
vodafone cloud solutions for business
vodafone featured
java quarkus
vodafone retail jobs
vodafone my business
new iphone vodafone
my vodafone apps
java microservice cloud developer jobs
vertx java
vodafone small business voucher codes
red hat migration toolkit
vodafone business red
vodafone cloud migration services
quarkus web application
vodafone small business contact
budget vodafone red
vodafone servers
vodafone company culture
java spring cloud
when can i upgrade my phone vodafone
vodafone business solutions in the cloud
vodafone enterprises
vodafone iphone 7 plus
red hat microservices
vodafone when can i upgrade my phone
portfreigabe vodafone
vodafone service hosting
vodafone mobility
one-way traffic spikes
colorado springs ux design bootcamps
offshore boote wiki
my vodafone gr app
java version 7 update 80
vodafone update address
java 7 update 80
vodafone ap
see vodafone
chat vodafone
vodafone small business contact number
vodafone trustpilot
vodafone data app
vodafone moving home
outsource sales in greece
red hat migration tool kit
red hat build of quarkus
contact center outsourcer greece
spring boot vs node
vodafone career
vodafone easy travel flat erfahrung
email vodafone
vodafone near me
my choice vodafone
why quarkus
eclipse node js development
outsource customer service greece
career objective for java developer
vodafone greece customer service
learn java microservices
eclipse node.js
spring boot vs node js
vodafone for business
how to learn microservices in java
message vodafone
vodafone business hotline
spring cloud microservices
hire spring boot developer
vodafone solutions mobility
vodafone zoominfo
spring boot wikipedia
vodafone developer
wikipedia vodafone
vodafone see you
vodafone changing address
vodafone made for me code
vodafone software update
java programming wikipedia
iphone xs on vodafone
my vodafone business
quarkus microservices
is there a problem with vodafone today
quarkus extensions
quarkus review
application migration toolkit
vodafone data manager
vodafone net
vodafone one number iphone
vodafone services app
vodaphone app
quarkus services
why work at vodafone
is there a problem with vodafone
hotline vodafone
program vodafone
vodafone digital sales
node vs spring boot
vodafone web hosting
vodafone help
master spring boot
red hat migration application toolkit
iphone vodafone
vodafone my bill
vodafone kundenservice
christos sotiriou
iphone vodaphone
e-commerce application using java eclipse
iphone 10 vodafone
kubernets for java developers
kubernetes java client
vodafone iphone
vodafone new phone every year
iphone 7 on vodafone
kubernetes for java developers
learn microservices with spring boot and spring cloud
play framework vs spring boot
send whatsapp message from java application
vodafone small business discount codes
vodafone hosting services for business
how to check data usage vodafone
toa vodafone
quarkus build
vodafone top 40
why use quarkus
learn spring boot microservices
vodafone sales service center
vodafone live chat
pure mobile vodafone
vodafone usa
run spring boot application in eclipse
spring boot application
hosting vodafone
enterprise java microservices
vodafone not working
java recruitment
motive pure amazon
redhat quarkus
node.js sms
how jvm works internally
hire java spring boot programmers
java in use spring boot
send sms node.js
reactive microservices
vodafone buy back
vodafone bit
what is spring microservices
node js eclipse
get time in java
java constraints
traffic spikes
vodafone 2022
vodafone linkedin
linkedin java
vodafone jobs greece
greeks for greeks java
red hat migration toolkit for containers
vodafone project manager
vodafone retail manager
project manager vodafone
my vodafone gr
quarkus frontend
loop stack java
retail manager vodafone
human teeth wiki
the appreciation of booted
vodafone application
trustpilot vodafone
usage vodafone
vodafone careers
sotiriou travel
aws send sms java
jamstack vietnam
red hat spring boot
vodafone one app
consultant vodafone
trusted shops wikipedia
vodafone ellada
vodafone grece
vodafone ios app
vodafone problem today
facebook java app 2020
christo customs
building modern java applications on aws
www my vodafone app
spring boot admin kubernetes
vertx cluster
aws quarkus
java offshore
quarkus post
vodafone app iphone
vodafone not working today
vodafone one net app
vodafone phone case
data usage vodafone
vodafone email address
vodafone hosted solutions
vodafone red
vodaphone chat
calico enterprise
eclipse advantage jobs
vodafone change of address
vodafone email
vodafone sales team
apps vodafone
quarkus kubernetes
run as spring boot app not showing in eclipse
segundo email marketing
vodafone maintenance
career vodafone
eve increase cpu
fb java
vodafone chat extra
vodafone usage check
when java
get today in java
looking for an outsourced team java
spring vertx
java microservices jobs
telegram for java
one net enterprise vodafone
spring boot kubernetes client
vodafone business phone number
vodafone one number not working
vodafone red partners
java whatsapp status
online chat vodafone
red essential vodafone
vodafone online application
vodaphone iphone
vodafone chat now
alex ward wikipedia
ceo vodafone email
change my number vodafone
java application server market share 2019
red hat application migration toolkit
using quarkus
vertx spring
vodafone customer service
learning with vodafone
send whatsapp message from java
vodafone message
chat to vodafone
iphone 7 deals vodafone
kubernetes spring boot microservices
vodafone admin
vodafone find my phone
vodafone software updates
java microservices developer
master java
quarkus build profile
vertx sale
vodafone hotline
vodafone me
vodafone port forwarding
vodafone problem
vodafone website
quarkus popularity
vodafone contact email
vodafone message not sent
vodafone my business 2
vodafone products
you vodafone
how to add more data vodafone
vodafone red 1
vodafone travel usa
vodafone business solutions
vodafone business team
vodafone over 60
vodafone red 2
vodafone sales app
what’s my number vodafone
who uses quarkus
calico greece
microservices youtube
quarkus red hat
vodafone business online
life digital company wikipedia
vodafone enterprise solutions
vodafone x
ceo vodafone greece
ho it vodafone
vodafone change my number
vodafone red x
node js or spring boot
twitter for java mobile
vodafone греция
aws toolkit for eclipse
bepure store
firechat wiki
learn java spring
node.js vs spring boot
vodafone porting
vodafone work experience
dna java program code
event driven microservices spring boot
facebook mobile java
iphone 5s vodafone
one number de vodafone
reactive programming spring boot
vodafone together
microservices java
send message to whatsapp from java
career at vodafone
private number vodafone
redhat nodejs
vodafone global enterprise
easy travel vodafone
learn microservices in java
sms node js
spring boot threads
hire java spring boot developer
porting number to vodafone
quarkus native
spring boot threading
vodafone cloud hosted services
teams high memory usage
vodafone business service hotline
java eclipse profiler
java spring ecommerce
microservices tutorial java
microservices using spring cloud
microservices with spring boot
is multithreading possible in javascript
spring boot cluster
spring vs node js
spring vs nodejs
vodafone business chat
microservices with spring cloud
vodafone campaign 2019
microservices java tutorial
vodafone cloud case studies
microservices in spring boot
quarkus build native
system pause c++ library
vodafone ho
eclipse 2022 java
booting wikipedia
java application development
hire dedicated node js developer
Read More:   Docker and Cloud Foundry Open Source Projects Are Defined By Ownership – InApps 2022


Rate this post
As a Senior Tech Enthusiast, I bring a decade of experience to the realm of tech writing, blending deep industry knowledge with a passion for storytelling. With expertise in software development to emerging tech trends like AI and IoT—my articles not only inform but also inspire. My journey in tech writing has been marked by a commitment to accuracy, clarity, and engaging storytelling, making me a trusted voice in the tech community.

Let’s create the next big thing together!

Coming together is a beginning. Keeping together is progress. Working together is success.

Let’s talk

Get a custom Proposal

Please fill in your information and your need to get a suitable solution.

    You need to enter your email to download


      Success. Downloading...