Software development best practices

5 Signs you Need to Abandon Your Monolith in 2023

Time for reading: 5 min
Share article

Why move to microservices? You’ve probably heard this question when discussing your IT budgets. After all, businesses need to scale rapidly to stay competitive. But are the benefits of microservices enough to outweigh the costs of app modernization?

In 2021, Statista asked 950 organizations from all over the world for their opinion about microservices. Turns out, 85% of enterprises with over 5,000 employees use them already. 14% more are planning future adoption. This research suggests that larger businesses are more likely to see the value and become early adopters of microservices.

Smaller businesses can also massively benefit by transitioning from a monolithic architecture to microservices. Here’s a case in point from the MindK vault. 

microservice usage statistics in business

Why move to microservices: lessons from the frontlines

CEMAsys is one of the leading players in the corporate social responsibility (CSR) niche. It has been helping companies mitigate climate change since 2007. Yet, what worked as a small Norwegian consultancy couldn’t scale efficiently. 

a case study that shows the usage of microservices in SaaS apps

CEMAsys sustainability reporting software, developed by MindK [explore the case]

The challenge

In 2013, our development team sat down with CEMAsys consultants to brainstorm how to transition to a SaaS model. Together, we designed a convenient web interface to deal with the CSR requirements:

  • Radically simplified data entry.
  • Secure document management library.
  • Automated carbon footprint calculations.
  • Advanced Health, Safety, and Environmental reporting.
  • Powerful analytics.
  • Supply chain management, and more.

Originally, the team went for a monolithic architecture with the Joomla core and Symfony login. Although the app had many functional components, all fit into just one deliverable. The whole codebase was inseparable and had to be deployed at once. 

Such an approach allows a high development speed, especially early on. This is attractive for companies operating on tight budgets. Yet, monoliths have many drawbacks for larger applications. Based on our experience, here are some of the signs you need to abandon your monolith:

  • Development speed grinds to a halt as you have to run the whole codebase through your CI/CD pipeline with each small change.
  • A need to scale parts of your system independently, which is pretty much impossible with your current architecture. 
  • Introducing new technologies requires lengthy workarounds. As a result, it gets harder to maintain your application.
  • When too many people try to use the admin panel, the entire application becomes unresponsive for all other users. 
  • Different parts of your software depend on each other and nobody seems to know how or why. Your junior QA engineer tried to find the answer. Nobody has seen her for the past three months. 

As the CEMAsys project evolved, the old architecture and tech stack became its major limitations. The company grew and expanded into the global markets. It acquired new clients, including some Forbes Global 2000 companies. This necessitated building new features. Yet each new tweak could potentially break an unrelated functionality. Onboarding developers took a lot of time as they had to understand heaps of old code. 

Minor changes could result in major bugs, so maintaining high quality standards required a lengthy QA process. There were other technological limitations. For example, new CO2 footprint calculations required reports with a huge amount of data. PHP simply failed to process this data before the timeout. Switching to a Node.js backend would’ve easily solved this problem. 

Monolithic architecture advantages and disadvantages

The solution

Our team suggested breaking the core system into smaller modules with independent logic. In this microservice approach, each module performs just one business function. They can be developed by different teams, each using the technology that’s best suited for the task. 

In the case of CEMAsys, these technologies were Angular and NestJS for the application core and AdonisJS for reports and planning. 

example of a microservices architecture used in CEMAsys

Microservice architecture in CEMAsys application

So, what benefits can you achieve by moving to microservices?

#1: Faster development 

Migrating legacy applications to microservices gives a huge boost to the development speed. The client now has engineers working simultaneously on four different modules. These teams don’t interfere with each other. You don’t have to worry about deploying a change to the EU Taxonomy module breaking something in the CO2 footprint calculations. This simplifies the QA and debugging. 

why move to microservices: start your free consultation

#2: Better scalability

Initially, the project was hosted on a single virtual machine. As the system grew, it became less stable and more expensive to operate. To solve this issue, the team placed each microservice in isolated containers. Using orchestration with a Kubernetes cluster improved system stability and the release speed. And with autoscaling in place, our operational costs were finally under control.

EU Taxonomy report in CEMAsys

#3: Easier integrations

Each microservice has its own database, customized for the task at hand. These modules communicate with the help of an API gateway. This simplifies third-party integrations. Encapsulation allows changing one module for another without causing problems to the codebase. It also opens up new-use cases and revenue streams when you embed these modules in partner software.

CEMAsys dashboard

Learn more about our API development services.

#4: Improved performance and system stability

With microservice transformation the client can introduce new features or update services in the background without disrupting the user experience. Another improvement came from describing the entire infrastructure as code with the help of Terraform. This prevents undocumented changes, making the system much more stable and predictable. 

All of this helped CEMAsys acquire more than 800 corporate clients. The company is now expanding into the American market. The microservice architecture allows us to quickly roll out new features and react to changes in local ESG legislation.

benefits of microservices

Conclusion

Many organizations choose a monolithic architecture to save costs and increase development speed. Yet at some point, they hit a wall in productivity. This is why a move to microservices makes a lot of sense for larger projects. The benefits of microservices range from faster development to easier QA, better scalability, and performance. Ultimately, this results in a better experience for your customers.

Microservices are a key part of a cloud-native approach we practice at MindK for the past five years. We’ve previously written about the skills to look for when you hire SaaS and microservices developers. So don’t hesitate to drop us a line if you want an expert team to modernize your software.

why move to microservices start your journey

Subscribe to MindK Blog

Get our greatest hits delivered to your inbox once a month.
MindK uses the information you provide to us to contact you about our relevant content andservices. You may unsubscribe at any time. For more information, check out our privacy policy.

Read next

regression testing

Regression testing: the definitive guide

Read more
Future of Real Estate Software Industry

Digital Transformation in the Construction Industry: How Technology Can Address Challenges Across the Value Chain

Read more
rough estimate of time to develop a project

What do companies that build apps mean by ‘Rough Estimate’ (and how we do it in MindK)

Read more