Design: Legacy System Modernization using Strangler Fig Pattern
Design focuses on the migration approach using the Strangler Fig pattern, including routing, service decomposition, and data handling. Out of scope are specific legacy system internals and detailed microservice implementations.
Functional Requirements
FR1: Gradually replace parts of a legacy monolithic system with new microservices
FR2: Ensure the system remains fully functional during migration
FR3: Route user requests to either legacy or new services based on feature availability
FR4: Minimize downtime and risk during transition
FR5: Allow incremental testing and deployment of new components
Non-Functional Requirements
NFR1: Support up to 5,000 concurrent users during migration
NFR2: API response latency p99 under 300ms
NFR3: Availability target of 99.9% uptime during migration
NFR4: Legacy system cannot be fully rewritten or stopped at once
NFR5: New microservices must integrate smoothly with existing data sources