
아키텍처
헥사고날 아키텍처, Adapter만 바꾸면 될까
두줄요약
AWS S3에서 다른 오브젝트 스토리지로 이전하며, Adapter 교체가 성립하려면 어떤 전제가 필요한지 확인했습니다. 헥사고날 아키텍처는 애플리케이션 코드를 지켜주지만 인프라와 데이터 이전은 별도로 대응해야 했습니다.
핵심 내용
- AWS S3에서 다른 오브젝트 스토리지로 이전하며 헥사고날 아키텍처의 Adapter 교체 가능 범위를 점검
- Adapter만 바뀌려면 SDK 격리, Port의 벤더 비의존 계약, 클라우드별 차이를 Adapter 내부에 가두는 전제가 필요
- 애플리케이션 코드 밖의 인프라 정의, 배포 파이프라인, 네트워크, 데이터 이전은 경계 밖이라 별도 대응 필요
- 파일 저장은 S3 호환성 덕분에 비교적 쉽게 이전됐지만, 메시지 큐 같은 영역은 Port 재설계까지 필요
적용해볼 점
- 클라우드 SDK를 조립 계층에만 두고 도메인과 유스케이스에서 완전히 분리
- Port 계약에서 버킷명, 응답 타입 등 벤더 종속 요소 제거
- 벤더 차이와 설정값을 Adapter 내부로 흡수해 교체 범위를 최소화
