-
MSA(Micro Service Architecture)란?TIL(Today I Learned) 2021. 11. 1. 00:02
최근 IT업계에서 핫하다는 MSA에 대해 가볍게 알아보았다.
왜? IT업계에서는 지금 MSA가 핫한걸까?
마이크로 서비스는 기존의 API, system(infra), Application, interface, Domain API.. 등(모놀리스 방식)을 여러개로 쪼개어 기능을 제공하는것을 의미한다.(Micro단위로 세분화한다..라고 생각하면 이해가 쉬울 수 있겠다. 물론 마이크로 단위까지 쪼개기는 어렵겠지만!)
여러개로 쪼개진 서비스는 서로 통신이 가능해야하기 때문에 복잡도는 상승할것이다.
API가 여러개로 쪼개져 호출되기 때문에 웹 호출량이 증가하고(WAS 호출량 증가)(WAS : 인터넷 상에서 HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행할 수 있게 해주는 미들웨어(소프트웨어 엔진)이다.)
이로 인해 비용이 증가할 가능성이 높다..(정확하진 않습니다..하지만 개발자의 설계의 효율성에 따라서 비용의 증가 폭이 달라질것이라고 하네요)
그렇다면 많은 도메인은 MSA는 뭐가 좋길래 사용하려할까?
첫째. 하나의 모듈 고장으로 인해 전체 서버가 다운되는것을 방지해준다.
둘째. 차지 비율이 높은 모듈만 선택적으로 인프라 관리 및 업데이트를 해줄 수 있다는 장점이 있다.
이로 인해 Auto-Scale을 도입할 수 있게 되고 해당하는 모듈만 관리하고 배포하는 DevOps팀을 구성할 수 있게된다.(애자일방식)
현재 개발리더들이 MSA를 도입하려는 시도가 증가하고 있는 추세라고 하는데, 몇몇 개발자 분들은 현재에도 시스템이 무리없이 잘돌아가는데, 비용절감이 되지 않고, 복잡도가 증가하는 MSA를 도입하는 이유를 구태여 찾지 못한다는 의견도 있는듯하다.
ROI(Return Of Investment) 즉, 투자 대비 효과가 얼만큼 있는가를 정확하게 따져보고 효과가 분명해졌을 때, 변화를 시도하는것이 적절하다고 판단하는듯하다. 하지만 클라우드와 Docker의 활성화가 대폭 증가한다는 점과, 차지 비율이 높은 모듈만을 인프라 관리 할 수 있다는점은 확실한 장점으로 다가오는듯하다. 즉, 특정 상황에서는 굉장히 좋을 수 있다..(ex) Netflix와 같은 서비스)
'TIL(Today I Learned)' 카테고리의 다른 글
VSCode Extensions 를 이용한 Python 개발 (0) 2021.11.01 SOAP과 REST란? (0) 2021.11.01 eclipse와 intellij의 차이점, ORM과 JPA란 (0) 2021.10.30 windows 환경에서 JDK와 eclipse 설치 (0) 2021.10.29 Web Socket 과 HTTP 통신의 차이, Socket.io패키지, 네임스페이스 (0) 2021.10.28