Presentation
효율적인 MSA 전환 전략
MSA 전환 및 클라우드 네이티브 환경 구축을 고민하고 계신 분들이라면 발표자료를 통해 성공 전략을 꼭 확인해보세요!
2025년 03월 21일

효율적인 MSA 전환 전략
MSA 전환을 통해 얻을 수 있는 유지보수성 향상, 개발 속도 개선, 기술 스택 다양화, 스케일링 효율화, 신뢰성 향상, 시장 변화 대응력 향상 등의 이점을 설명합니다.
‘효율적인 MSA 전환 전략’ 발표 영상
‘효율적인 MSA 전환 전략’ 핵심내용
MSA 전환의 필요성과 플랫폼 기반 접근의 장점

- 모놀리식 환경에서는 변경이 전체 애플리케이션에 영향을 주지만, MSA에서는 특정 기능에 대한 변경만 해당 서비스에 적용할 수 있어 유지보수가 더 수월해집니다.
- 각 서비스별로 독립적인 테스트와 디버깅이 가능하기 때문에 개발 속도를 더욱 빠르게 개선할 수 있습니다.
- 플랫폼 기반 접근 방식을 도입하면 성공적인 전환을 위한 통일된 전략을 제공할 수 있으며, 서비스별로 다양한 기술 스택을 병행하여 사용할 수 있도록 지원합니다.
- 또한, 여러 개의 독립된 서비스들은 필요에 따라 개별적으로 확장할 수 있고, 장애가 발생하더라도 전체 시스템에 미치는 영향을 최소화할 수 있습니다.
- 마지막으로, 문제를 바라보는 관점을 바꾸면 전환의 이유와 가치가 더 명확해져 효율적인 전략 수립에 큰 도움이 될 수 있습니다.
MSA 전환 진행 과정

- Rollback 전략을 마련하고, 독립적으로 운영이 가능한 마이크로서비스 기반의 EDA(이벤트 중심 아키텍처)를 도입하는 것이 필요합니다.
- 데이터 분리 전략에서는 공유(Shared) 방식과 독립(Independent) 방식, 두 가지 접근 방식을 고려하셔야 합니다.
- 또한, API 및 통신 방식을 설계함과 동시에 DevOps 환경과 CI/CD 환경을 구축하여 개발과 배포 프로세스를 자동화하시는 것이 중요합니다.
- 내부 서비스 간 통신 방식을 결정하실 때에는 Docker와 Kubernetes와 같은 컨테이너화 기술을 적용하는 것이 안정성과 확장성을 확보하는 데 큰 도움이 됩니다.
- 더불어, API Gateway와 Service Mesh 도입, 그리고 자동화된 CI/CD 파이프라인 구성이 필수적으로 이루어져야 원활한 서비스 운영이 가능해집니다.
MSA 전환의 성공 요인 및 전략

- 조직 내 변화 관리는 직원들의 저항을 줄이고 명확한 비전을 공유함으로써 성공적인 전환을 이루기 위해 꼭 필요합니다.
- 명확한 목표와 전략을 수립하여 MSA 전환의 사유를 정의하고, 단계별 목표와 우선순위를 설정하시는 것이 중요합니다.
- 기술적인 준비 단계에서는 기존 시스템을 면밀히 분석하고, 적합한 기술 스택을 선정한 뒤, 점진적으로 전환을 진행하셔야 합니다.
- 또한, DevOps 및 CI/CD 환경을 구축하여 자동화된 CI/CD 파이프라인을 구성하고, 서비스 간 통신 방식을 결정하시는 것이 필요합니다.
- 마지막으로, Strangler Fig 패턴을 활용하면 대규모 시스템 전환에 따른 위험을 최소화할 수 있으며, 이를 통해 기존 모놀리식 시스템의 문제를 점진적으로 해결해 나갈 수 있습니다.
MSA 전환을 위한 사전 진단 단계

- 사전 진단 단계에서는 기존 시스템의 분석뿐만 아니라, 데이터베이스 구조, 트랜잭션 흐름, 운영 방식, 보안 및 인증 방식 등을 꼼꼼히 검토하셔야 합니다.
- 비즈니스 요구사항을 분석하실 때에는 핵심 기능과 서비스 수준 협약(SLA)을 확인하고, 도메인 모델 분석 및 성능 병목 지점을 파악하시는 것이 중요합니다.
- 장애 대응 프로세스 역시 점검이 필요하며, 장애 발생 시 적용할 롤백 전략과 로그 모니터링 체계의 적합성도 평가하셔야 합니다.
- 레거시 시스템의 리팩토링 전략을 수립하실 때에는 트래픽이 많은 기능을 우선적으로 MSA로 전환하고, 성능과 안정성을 충분히 검증하시는 것이 바람직합니다.
- 또한, 서비스별 데이터베이스 분리는 독립 배포와 결합도 약화 등의 장점을 제공하지만, API 증가와 같은 현실적인 문제도 함께 고려하셔야 합니다.
공공기관 온라인 e학습터 전환 구축 사례

- 공공기관의 온라인 e학습터로 전환하는 과정에서는 다양한 기술적 요소가 활용되며, CI/CD 기반의 환경을 통해 개발 및 운영 환경이 구성됩니다.
- 서비스 가용성을 확보하기 위해 172개 지역별로 리소스를 격리한 네임스페이스가 구성되며, 서비스는 교사, 학생, 학부모 등 7개의 역할에 따라 분리됩니다.
- MSA로 전환할 때, 대부분의 개발자분들이 Cloud Native 전문가가 아닌 경우가 많아 이 부분이 문제로 지적되기도 합니다. 기존의 전통적인 방식으로 개발을 진행할 경우, 서버 배포 시 문제가 발생할 가능성이 크기 때문에 이에 대한 대비가 필요합니다.
- 안정적인 운영을 위해 자동화된 배포 환경과 소스 형상 관리 전략이 필수적이며, 서비스 개수가 증가함에 따라 이러한 시스템의 표준화를 마련하시는 것이 중요합니다.
- 또한, 관측 가능성(Observability)을 확보하여 문제를 탐지하고 근본 원인을 분석하는 과정이 매우 중요합니다. 이는 MSA 환경에서 발생할 수 있는 복잡한 데이터와 다양한 장애를 사전에 정의되지 않은 상태에서도 감지할 수 있도록 돕기 때문입니다.
마무리
- 문의사항 : hello@msap.ai / 02-6953-5427