피드로 돌아가기
Migrating a PHP monolith in production: how I think about it
Dev.toDev.to
Infrastructure

Obsolete LAMP 스택의 Kubernetes 기반 Strangler Fig 마이그레이션

Migrating a PHP monolith in production: how I think about it

Filipe Silva2026년 4월 24일6advanced

Context

10년 이상 된 Debian 서버 기반의 Obsolete LAMP 스택으로 인한 보안 침해 발생. 문서화되지 않은 환경 의존성과 파편화된 코드베이스로 인해 유지보수 불가능한 상태의 Legacy Monolith 구조임.

Technical Solution

  • 인프라 제어권 확보를 위한 기존 LAMP 스택의 즉각적인 Containerization 및 Kubernetes 배포
  • 신규 모듈을 점진적으로 배치하고 Ingress Rule을 통해 트래픽을 전환하는 Strangler Fig Pattern 적용
  • 도메인 복잡도 해결을 위한 PHP 8.x 기반의 Domain-Driven Design 및 Hexagonal Architecture 도입
  • 사용자 경험 개선을 위한 Performance 최적화 -> 결제 시스템(Stripe) -> 인증(OIDC/OAuth 2.0) 순의 단계적 전환 전략 수립
  • 레거시 코드의 내부 구현 분석 대신 기능적 요구사항 정의에 집중한 행동 대체 방식의 리팩토링 수행

1. 레거시 마이그레이션 시 코드 수정 전 인프라 Containerization을 통한 환경 제어권 우선 확보

2. 전체 재작성 대신 Strangler Fig Pattern을 활용한 모듈별 점진적 교체 전략 검토

3. 도메인 모델링 시 기존 코드의 구현 방식이 아닌 실제 비즈니스 룰 기반의 재정의 수행

4. 리팩토링 초기 단계에서 최소한의 Testing Baseline을 구축하여 회귀 오류 방지

원문 읽기