Replatforming
Migrating an application to a new platform with minimal code changes to improve operations and scalability.
Classification
- ComplexityMedium
- Impact areaTechnical
- Decision typeArchitectural
- Organizational maturityIntermediate
Technical context
Principles & goals
Use cases & scenarios
Compromises
- Incomplete dependency analysis leads to runtime failures
- Cost overruns due to unplanned cloud resources
- Insufficient testing causes production regressions
- Start with non-critical components
- Introduce automation and tests early
- Provide monitoring and metrics before cutover
I/O & resources
- Architecture and deployment documentation
- Dependency and performance analysis
- SLA and compliance requirements
- Updated platform architecture and deployment scripts
- Test and rollback plans
- Monitoring and observability configuration
Description
Replatforming is the migration of an application to a different platform with minimal code changes to improve operational characteristics or scalability. The method targets platform-level optimizations (e.g., containers, PaaS, or cloud services) rather than full re-engineering. It typically reduces migration risk and time compared with a complete rewrite.
✔Benefits
- Faster migration compared to full refactoring
- Reduced risk while improving platform
- Improved operations and scalability
✖Limitations
- Limited if deeper architectural issues exist
- Not suitable for extensive functional rewrites
- May mask technical debt instead of resolving it
Trade-offs
Metrics
- Time-to-migrate
Total duration from planning to production cutover.
- Post-cutover error rate
Number of incidents per time after migration.
- Change in operational costs
Comparison of ongoing costs before and after replatforming.
Examples & implementations
Containerization of an internal API
API was migrated into containers without functional change and integrated into existing CI/CD pipeline.
Shift to PaaS for background processes
Batch jobs were moved to managed PaaS services, reducing administrative effort.
Optimization of an e-commerce platform
Parts of the shop migrated to a scalable container environment, better handling peak loads.
Implementation steps
Analyze and inventory
Define target platform and criteria
Create prototype for critical components
Adjust automated tests and CI/CD
Staged rollout and monitoring
⚠️ Technical debt & bottlenecks
Technical debt
- Old configuration patterns remain
- Unaddressed monolithic interfaces
- Temporary adapters that are never removed
Known bottlenecks
Misuse examples
- Replatforming instead of necessary refactoring when code quality is poor
- Moving all components at once without tests
- Choosing incompatible PaaS solution for cost reasons
Typical traps
- Underestimating hidden dependencies
- Unaccounted operating costs in the cloud
- Insufficient rollback strategy
Required skills
Architectural drivers
Constraints
- • Limited cutover windows
- • Regulatory and compliance requirements
- • Existing SLA constraints