잡동사니

1년간 MSA 적용기 본문

IT Paradigm/MSA

1년간 MSA 적용기

yeTi 2021. 8. 13. 09:42

안녕하세요. yeTi입니다.
업무환경에서 1년간 MSA에 대해 고민하고 적용해본 후기를 공유하고자 합니다.

MSA란

MSA(Microservice Architecture)란, 개념 이해하기에 언급했듯이
MSA에 대해 다음과 같이 정의했습니다.

  • 클라우드 인프라를 사용할 것
  • 도메인별로 데이터를 나눌것
  • Devops를 적용할 것
  • 서비스간 통신은 간결하게 할 것
  • 실패를 위한 설계를 할 것
  • 모니터링을 할 것

적용기

저를 포함한 3명의 팀원이서 위의 것을 모두 고려하기에는 한계가 있다고 판단하여 선별적으로 적용했습니다.

  • Bare-metal에 Kubernetes를 활용하여 컨테이너화
  • 관리편의상 DB인스턴스를 나눠서 관리하지 않는 대신 쿼리상 조인을 지양
  • 간단한 Devops 적용
  • RestAPI와 Kafka를 활용하여 서비스간 통신
  • 실패를 위한 설계는 역량 부족으로 시도 못함
  • H/W와 container 상태, DB 관리를 위한 모니터링

후기

사실상 위에서 언급한 수준에서 우리는 MSA를 하고 있다고 자신있게 얘기해왔습니다.
하지만 K-Mooc에서 Cloud 전환 방안 및 Appl. 유형 에 대한 챕터를 보고 나서 부족한 부분을 많이 느꼈습니다.

DB인스턴스를 나눠서 도메인별로 관리하는것이 MSA의 핵심으로 인지가 되어 우리가 했던 방식은 MSA 전향을 위한 단계로 인식하게 되었고,
MSA에서 추구하는 12 factor도 준수하지 않은 부분도 있어 이제는 MSA를 준비하는 과정이었다고 말해야 맞다고 느꼈습니다.

따라서 현재 수준은 Cloud Modernization 전략에서 Migration(cloud ready) 단계로 기존 서비스를 container화 했던 수준으로 진행했다고 생각합니다.

Comments