Skip to content

Microservices or monolith: how to choose the architecture for a new project

When a monolith is the better choice, when microservices pay off, what they cost in practice, and a short set of questions to decide for your own project.

AuthorIT Department
  • 8 min read
  • 269 views
Microservices or monolith: how to choose the architecture for a new project

The difference between a monolith and microservices

Architecture is one of the most consequential technical decisions at the start of an IT project. A wrong choice shows up later as longer timelines, scaling problems and expensive rebuilds. According to the Standish Group, 66% of IT projects exceed their budget or schedule, often because the architecture did not fit the real scale and needs of the business. The choice is not about fashion. It should follow from your goals, resources and growth plans, and neither approach is better in general.

Monolith: one system

A monolith is the traditional approach: the whole application lives in one codebase. User management, business logic and external integrations all run inside one program.

Think of an office building where all departments sit under one roof and share the same infrastructure. Communication is simple, everyone uses the same resources and management is central.

A monolith is simple to deploy, cheaper at the start and easier to debug. For many projects, especially early ones, it is the best choice.

Microservices: independent components

Microservices split the application into many small, independent services, each responsible for one business function. They talk to each other through APIs, can be built by different teams and are deployed separately.

In the building analogy, it is a campus with a separate building for each department. Every building has its own infrastructure and can be renovated on its own, but you need solid logistics and communication between them.

Microservices give flexibility, scalability and the freedom to use different technologies in one system. The price is much greater operational complexity.


When a monolith is the better choice

Monoliths are not outdated. For many companies and projects they remain the best option, especially at the beginning.

Startups and new ventures

If you are building a product and testing a business model, a monolith lets you release the first version faster. Research suggests that companies building an MVP (Minimum Viable Product) on a monolith deploy 40 to 60% faster than projects that start with microservices from day one.

Early on you do not know which features will matter and which will be dropped. A monolith allows quick iterations and changes of direction without rebuilding the whole infrastructure.

Small and medium teams

Microservices need many more people: not only developers, but DevOps specialists, architects and platform engineers. According to DORA (DevOps Research and Assessment), running a microservices architecture well takes a team of at least 8 to 10 people with the right skills.

In a company with 3 to 5 developers, microservices often end in burnout, operational mistakes and, paradoxically, slower product development.

Predictable load

If your system serves a fairly stable number of users and transactions, with little seasonal variation, you do not need the advanced scaling of microservices. A well optimised modern monolith handles thousands of concurrent users without trouble.

Ask whether you really need to scale individual components separately, or whether scaling the whole application is enough. For most B2B systems, internal CRMs and ERP platforms, a monolith is more than enough.


When to consider microservices

Microservices are not a universal answer, but in some situations they are close to necessary. These are the cases where they bring real value.

Large scale and fast growth

If the system has to serve millions of users and the load differs a lot between features, microservices let you scale only the parts that need it. An online shop on Black Friday may need ten times more power for the cart while the reporting module runs as usual.

Forrester research indicates that companies using microservices under high load cut infrastructure costs by 20 to 35% thanks to precise scaling.

Many teams working in parallel

Organisations with dozens or hundreds of developers need to work on different parts of the system at once. Microservices give each team its own services and its own deployments.

This works well in large enterprises and fast-growing tech companies, where coordinating work in one shared codebase slows development down.

Different technology needs

Some functions call for specific technology: a machine learning module is best written in Python, high-throughput data processing in Go, the interface in React. With microservices you match the technology to the task and do not force one stack on the whole system.

This matters especially for AI and automation projects, where machine learning often needs a different environment than the rest of the business application.

High availability

In business-critical systems where every minute of downtime costs money, microservices isolate failures better. A problem in one service does not stop the system, and other components keep running.

For financial systems, logistics platforms or production systems this can be the deciding factor.


The hidden costs of microservices

Enthusiasm in the industry often hides the real problems and costs. Before you decide, look at the whole picture.

Operational complexity

Running dozens or hundreds of independent services requires serious infrastructure: container orchestration (Kubernetes), distributed monitoring, central logging, a service mesh. Each of these needs skills, tools and money.

According to IBM research, companies that adopt microservices spend on average 2 to 3 times more on infrastructure and DevOps tools than for a monolith with similar functionality.

Testing

Testing a distributed system is much harder than testing a monolith. You have to check not only each service but also how they interact, how communication errors are handled and whether data stays consistent.

Preparing test environments and running full integration tests can lengthen release cycles and cancel part of the benefit of deploying services independently.

Data consistency and transactions

In a monolith a business transaction, such as placing an order, happens in one database with full consistency guarantees. In microservices the same operation may involve several services, each with its own database.

Keeping data consistent in a distributed environment calls for patterns like saga or event sourcing. They add another layer of complexity, raise the risk of errors and need experienced developers.


A practical way to decide

Base the decision on business and technical criteria, not on trends. These questions help you judge your own situation.

Assess where you start

Answer honestly:

  • How many users do you expect in the first 2 to 3 years?

  • How big will the development team be?

  • Are the business requirements clear, or still taking shape?

  • What DevOps skills does your organisation have?

  • What is your budget for infrastructure and maintenance?

If the answers point to a small scale, a small team and uncertain requirements, a monolith is the safer choice.

"Monolith first"

More and more IT experts, including the creators of popular SaaS platforms, recommend starting with a monolith. Build a well-designed monolith with clearly separated modules that you can turn into microservices step by step when there is a real need.

This lowers the risk. You do not pay up front for a complex architecture you may never need, but you design the system so that a later move stays possible.

Modular monolith in the middle

Between the classic monolith and full microservices there is a middle option, the modular monolith. It is still one deployment, but inside it is divided into separate modules with well-defined interfaces.

It keeps the operational simplicity of the traditional approach and prepares for the future. When the scale of the business really demands it, you can extract modules as independent services one at a time, without a rebuild from scratch.


How a small IT agency can help you choose

The choice of architecture should come from a careful look at business needs, not from technology preferences. An experienced technology partner helps you avoid costly mistakes and pick the right solution for your situation.

Analysis before implementation

A good agency does not start with code. It starts by understanding your business. Analysing processes, growth plans, available resources and performance requirements lets you design an architecture that is neither too small nor too big.

No technology lock-in

A small agency, unlike a large corporation, is not tied to one technology or one architectural approach. The choice follows your interest, not licence margins or internal standards.

Long-term partnership

Architecture is not decided once. It needs regular review and adjustment as conditions change. A partner who knows your system from the ground up makes later changes and product development easier.


What to take away

The choice between a monolith and microservices is not about trends or the ambitions of the IT team. It is a business decision that should follow from the scale of the project, the size of the team, the budget, the organisation's capabilities and growth plans.

For most new projects, especially in small and medium companies, a well-designed monolith or modular monolith is the best starting point. Consider microservices when scale, load or the structure of the organisation really requires them.

The best architecture is the one that supports your business goals with the least resources, not the one that looks impressive on a diagram.


Planning a new IT system and unsure which architecture to choose? Book a free consultation. We will look at your business needs and help you pick a solution that scales, is easy to maintain and fits your budget.


Tags

Share this article

Back to blog

Cookies

We use essential cookies and one functional cookie, the latter only with your consent. Visit statistics are counted on our server, without cookies. Cookie Policy