- Home
- >
- Software Development
- >
- How Vodafone Greece Built 80 Java Microservices in Quarkus – InApps Technology 2022
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 InApps.net 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.”
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 |
quarkus |
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 |
www.vodafone.qa |
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” -site:facebook.com -site:youtube.com -site:twitter.com |
vodafone.qa |
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 |
my.d-trust.net/sms-tan |
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 |
mynode |
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 |
vertx |
java constraints |
javaas |
traffic spikes |
vodafone 2022 |
“vodafone” |
vodafone linkedin |
linkedin java |
vf.qa |
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 |
journeycheck |
vodafone application |
vodafone.app |
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 |
vertx-web |
building modern java applications on aws |
www my vodafone app |
spring boot admin kubernetes |
vertx cluster |
bit-tech-labs |
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 |
tigera |
vodafone together |
vodafonenet |
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 |
Source: InApps.net
Let’s create the next big thing together!
Coming together is a beginning. Keeping together is progress. Working together is success.