Migration to Microservices Strategy¶
Executive Summary¶
Migration to Microservices Strategy defines how Algosure may extract Spring Boot Modulith modules into services later. Microservices are a future option, not the starting architecture.
Extraction Triggers¶
| Trigger | Meaning |
|---|---|
| Clear ownership | Module ownership, APIs, events, and data boundaries are stable. |
| Independent scale | A module has scale needs that justify operational separation. |
| Operational maturity | Monitoring, deployment, incident, security, and data operations are ready. |
| Contract stability | APIs and events are versioned and tested. |
| Data boundary maturity | Persistence ownership is clean and extraction does not require shared tables. |
| Team ownership | A team can own the service lifecycle. |
Extraction Readiness Flow¶
flowchart LR
Module[Modulith Module]
Boundary[Verified Boundary]
Contracts[Stable APIs and Events]
Data[Owned Data]
Ops[Operational Readiness]
Service[Extracted Microservice]
Module --> Boundary
Boundary --> Contracts
Contracts --> Data
Data --> Ops
Ops --> Service
Extraction Rules¶
| Rule | Requirement |
|---|---|
| Extract only proven modules | Module boundaries must be verified before extraction. |
| Keep domain ownership | Extraction must not change source fact ownership. |
| Use events and APIs | Service communication uses contracts, not shared database access. |
| Preserve tenant model | Tenant and organization context must remain consistent. |
| Preserve audit | Audit and observability must survive extraction. |
| Preserve AIOS boundaries | AIOS continues through governed application service or API boundaries. |
Non-Goals¶
This document does not define Kubernetes, service mesh, deployment topology, database splitting, or final service contracts.