• bids: 0 +10
  • bidders: 0 +10
  • completed auctions: 0 +10
  • next fall of the hammer: 0 ending now
  • sold lots: 0 +10
  • bids: 0 +10
  • bidders: 0 +10
  • completed auctions: 0 +10
  • next fall of the hammer: 0 ending now
  • sold lots: 0 +10
  • bids: 0 +10
  • bidders: 0 +10
  • completed auctions: 0 +10
  • next fall of the hammer: 0 ending now
  • sold lots: 0 +10
  • bids: 0 +10
  • bidders: 0 +10
  • completed auctions: 0 +10
  • next fall of the hammer: 0 ending now
  • sold lots: 0 +10
  • bids: 0 +10
  • bidders: 0 +10
  • completed auctions: 0 +10
  • next fall of the hammer: 0 ending now
  • sold lots: 0 +10
  • bids: 0 +10
  • bidders: 0 +10
  • completed auctions: 0 +10
  • next fall of the hammer: 0 ending now
  • sold lots: 0 +10
  • bids: 0 +10
  • bidders: 0 +10
  • completed auctions: 0 +10
  • next fall of the hammer: 0 ending now
  • sold lots: 0 +10
  • bids: 0 +10
  • bidders: 0 +10
  • completed auctions: 0 +10
  • next fall of the hammer: 0 ending now
  • sold lots: 0 +10

24.03.2025

Why we are transitioning to Microservices

... and why it might not be right for you. In this post, we’ll share why we decided to transition, the challenges we faced, and how to decide if microservices are the right choice for your use case.

written by Christian Prohinig

At AURENA Tech, our journey to microservices was driven by necessity, not trend. I recently had the opportunity to share our experience during the Lakeside Talks Meetup series, which highlighted the practical lessons we learned along the way. While our monolithic architecture worked well in the early stages, its limitations became clear as we scaled. These included inefficiencies in scaling individual components, increased deployment risks due to tightly coupled modules, and delays in adapting to new business needs. In this post, we’ll share why we decided to transition, the challenges we faced, and how to decide if microservices are the right choice for your use case.

Picture generated by ChatGPT

Why We Decided to Transition to Microservices

Our monolithic architecture faced challenges as we grew. Scalability bottlenecks arose because components could only scale together, even if only one needed it. As an example, an overloaded notification module would require the whole system to scale, resulting in many idling components and wasted resources. Deployments became risky, as changes to one module had the risk of affecting others. Adding new features required significant rewrites and delayed our ability to adapt.

Simplified illustration of original architecture

Our plan is not to completely discard the monolith. Instead, we are reducing its size over time by extracting services where flexibility and scalability are most needed. This approach let us retain stability in parts of the system that work well, ensuring critical functionalities continue to operate reliably. By minimizing disruption to core processes during the transition, we are able to focus on incrementally modernizing high-impact areas without jeopardizing overall system performance.

When to Stick with What You’ve Got

Microservices aren’t always the best solution. If your team lacks experience or workforce, managing multiple services and APIs can become overwhelming. If your current architecture is stable and meets your needs, transitioning may be unnecessary. Additionally, systems requiring strong transactional consistency may struggle with the complexity of distributed systems.

Picture generated by ChatGPT

How We Made It Work

Our transition is gradual. We started with high-impact bottlenecks and new business requirements which could be implemented as dedicated services. To piece it all together, we introduced Kafka for resilient messaging. Kafka acts as a distributed message broker, enabling services to communicate asynchronously. It ensures no data is lost, even if a service is temporarily unavailable, and supports scalable, fault-tolerant communication across our system. Extracting modules one at a time allowed us to refine our approach while the monolith continued handling stable components.

Simplified illustration of original architecture

The Results

Microservices brought clear benefits. High-usage services now scale independently, development cycles are faster, and system resilience has improved by isolating failures to individual services. Meanwhile, the streamlined monolith manages stable components effectively and can be improved incrementally.

Are Microservices Right for You?

Ask yourself if scalability, deployment, or development bottlenecks are holding you back. Do you have the expertise to manage distributed systems involving dozens of components? For us at AURENA Tech, microservices were essential. For others, a well-tuned monolith may still be the better choice.

Article by
Christian Prohinig

“Enabling the team to deliver high quality software and great products for our users” is what motivates Backend Lead Christian.

More articles

23.09.2026

uxcon Vienna: AI changes the process, but also the user

AURENA Tech UI designer Moritz Schwarzl is just back from this year’s UX conference, uxcon, in Vienna. He shares his insights into how the ever-present topic of AI will change research and design work.

24.08.2026

New additions to the AURENA Tech Product & Design Team

With Dražen Petrović and Moritz Schwarzl joining, we are happy to welcome a new Product Owner and a UI Designer to our team.

01.08.2026

River and Racetrack: AURENA Tech Team Event 2026

Our team event 2026 took us to Styria for three days filled with outdoor challenges, international food and some serious racing action.

03.07.2026

A Boost for the AURENA Tech Backend Team

We are excited to welcome three new engineers to our ambitious Backend Team.

20.03.2026

AURENA Tech strengthens its QA team

Anatolii Vynarchuk joins AURENA Tech to expand our Quality Assurance team.