All projects
2024.05Software & InfrastructureLegacy Modernization
Enterprise Service Platform Modernization
Split functions bundled in a single server into services while tracking migration progress.
WebServer & Infra

- Timeline
- About 6 months
- Team size
- 4 people
- Platforms
- Web · Server
- Migration approach
- Sequential, feature-by-feature migration
Background
Multiple features were tangled together in a single server, so deploying even one feature meant redeploying the whole server. The client wanted to split it into services, but had to do so without stopping the service that was already live.
Scope
- Splitting service boundaries by feature
- Message-queue integration between services
- Tracking migration status stage by stage
- Running existing features and new services in parallel
- Kubernetes deployment configuration
Technical decisions
What we chose, and why it fitMigrated feature by feature in sequence, rather than moving everything at once
Changing the entire service at once would make it hard to isolate the cause of any problem and hard to roll back. We separated and moved features one at a time, running them in parallel with the existing server to verify before moving to the next, so that any issue during migration stayed scoped to that one feature.
Stack
JavaKubernetesKafkaAWS