Skip to content

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.