Monolith vs Modular BSS/OSS
Comparing monolithic and modular architectures with trade-offs and decomposition strategies.
The most consequential architectural decision any telco faces is whether to build (or buy) its BSS/OSS as a monolithic platform or a modular, decomposed set of services. This is not a binary choice β most real-world deployments exist on a spectrum. There is no universally correct answer.
Monolithic vs Modular BSS/OSS
Hover each side to compare
Monolithic
Single deployment unit Β· shared database
Single Deployment Unit
CRM
TMF629
Product Catalog
TMF620
COM
TMF622
Billing
TMF678
SOM
TMF641
ROM
TMF652
SLM
TMF638
Resource Inv.
TMF639
All domains, one schema
Modular
Independent components Β· API-bound
BSS
CRM
TMF629
Product Catalog
TMF620
COM
TMF622
Billing
TMF678
OSS
SOM
TMF641
ROM
TMF652
SLM
TMF638
Resource Inv.
TMF639
Standardised integration contracts
Independent Databases
Monolith vs Modular: Trade-Offs
Side-by-Side Comparison
| Dimension | Monolithic | Modular |
|---|---|---|
| Deployment | Single unit β one deployment, one release cycle | Independent per component β each domain deploys on its own schedule |
| Data | Shared database β ACID transactions across domains, but creates coupling | Database per service β loose coupling, but eventual consistency challenges |
| Scaling | Vertical only β scale everything or nothing | Horizontal per component β match resources to actual demand |
| Failure blast radius | A bug in billing can take down CRM, ordering, and everything else | Failures contained within component boundaries |
| Change velocity | Every change requires full regression. Monthly releases common. | Each team deploys independently. Daily releases possible. |
| Vendor strategy | Single vendor, single contract. Clear accountability but lock-in. | Best-of-breed selection. Flexibility but higher integration cost. |
| Operational complexity | Lower β one system to monitor, deploy, and debug | Higher β dozens of services, distributed tracing, service mesh |
| Team model | Shared codebase β merge conflicts, coordination overhead | Domain-aligned teams β full ownership, independent release cycles |
The Architecture Spectrum
Where Does Your Organisation Fit?
| Pattern | Deployment | Coupling | Best For |
|---|---|---|---|
| Pure Monolith | Single unit | Tight | Small operator, single product line, speed to market |
| Modular Monolith | Single unit, module boundaries | Medium | Want structure without distributed complexity |
| Macro-Services | 5-15 domain-level services | Loose (API-bound) | Most Tier-1/2 operators. Best balance of flexibility and manageability. |
| Microservices | 50-200+ fine-grained services | Very loose | Digital-native operators, telco-as-code platforms |
Decision Framework
Architecture Decision Matrix
| Factor | Favours Monolith | Favours Modular |
|---|---|---|
| Team size | < 30 engineers | > 50 engineers with domain specialisation |
| Change frequency | Quarterly releases | Weekly/daily releases |
| Subscriber base | < 2M, single country | > 5M, multi-country or multi-brand |
| Vendor strategy | Single vendor, integrated suite | Best-of-breed, multi-vendor |
| Cloud maturity | On-premise, limited containers | Cloud-native, Kubernetes-fluent |
| Product complexity | Single or dual product line | Converged (mobile + fixed + TV + IoT) |
Section 10.1 Key Takeaways
- Monolith vs modular is a spectrum β most operators land on macro-services (8-15 domain components)
- Monoliths are valid for small operators with low change velocity and single-vendor strategies
- Modular architecture is essential when business agility demands independent evolution of domains
- Decompose by business domain (aligned to ODA components), not by technical layer
- Avoid anti-patterns: shared databases, too-fine granularity, and layer-based decomposition
- In a modular architecture, source-of-record must be explicitly defined for every entity