Compose by domain.

By Filippo Conforti on April 30, 2024

With the enterprise market moving towards a composable approach, traditional ecommerce platforms are trying to modernize their offerings, splitting their monoliths into more specialized commerce components. Meanwhile, some headless vendors have started offering "pre-composed" applications that resemble their competitors' monoliths. The truth is that many components are not always better than one, and monolithic approaches can make sense in some situations.

So what's the right strategy? When should a company consider a modular architecture and when should it opt for a monolithic solution instead? In order to answer this question, it is important to consider the different domains of the stack. Different domains require different solutions and skills. Thus, monolithic approaches are harmful when one platform covers multiple domains that should remain independent.

Monolithic approach: the same platform covers different domains.
Monolithic approach: the same platform covers different domains.

In contrast, when multiple platforms cover different areas of the same domain, the stack might become too fragmented, and the benefits of composability might be overcome by complexity. Moreover, if multiple solutions are used to manage the same aspect of a business, omnichannel experiences become harder to achieve.

Fragmented approach: multiple platforms covering the same domain.
Fragmented approach: multiple platforms covering the same domain.

Ideally, there should be one platform for each domain: a single ERP system for the organization, a unified payments infrastructure for both online and offline transactions, a unified commerce engine to get and manage orders irrespective of the market and sales channel, a single content hub for the whole organization, etc.

Unified approach: one platform for each domain.
Unified approach: one platform for each domain.

The bottom line is, being monolithic within a domain is better than being fragmented. Rather, a monolithic approach across multiple domains is detrimental and has a negative impact on the business. The key is to determine the right boundaries for each domain. By defining your domains incorrectly, you will construct your stack based on incorrect assumptions, and you will end up building another monolith without even knowing it.

Enjoy the reading?

Subscribe to the newsletter and get a new article delivered to your inbox every week.