> ## Content Index
> Fetch the complete content index at: https://www.popit.kr/llms.txt
> Use this file to discover other available public pages before exploring further.

# 마이크로 서비스(MSA)로 구축할 때 모듈은 어떤 단위로 할까?
- URL: https://www.popit.kr/microservices-module-granularity/
- Published: 2017-09-24T23:18:53.000Z
- Updated: 2019-08-09T00:36:28.000Z
- Author: 안영회
- Tags: #소프트웨어, 마이크로서비스, #아키텍처 및 설계, MSA, 모듈

답이 없는 문제지만, 시작할 때 도움이 되는 cheatsheet 정도를 제공할 목적으로 글을 쓴다.

## 참조 모델

결론은 아래 그림이다.

![thoughtworks 글 참조하기](https://www.popit.kr/content/images/wp/2017/09/Well20factored20service20architecture1028129_e2917a13053f9b0974842f4288ae2f8b-600x396.png)

thoughtworks 글 참조하기

물론, 모든 상황에 맞는 답은 없다. [우리 환경](https://www.popit.kr/why-we-had-to-use-microservices-and-docker/)에 맞추면[ REST 형태로 API를 제공하는 웹 서비스를 모듈](https://www.popit.kr/learning-with-various-baby-steps/)이라는 단위로 부른다. 위 그림에서 Foundational capability와 같다. 하지만, 모듈이 하나로 배포되는지 사실은 유사한 API 묶음이 여러 개로 배포되는지는 구분하지 않는다.

## 응용 방법

독자들께 작은 도움이나마 드리면 좋겠지만, 누가 독자인지 모르니 여기선 그냥 우리 사례를 조금 더 풀어보자. 남의 글 하나 떨렁 옮겨놓고 글을 발행하지는 않기 위해 간단한 그림 하나를 급조했다. 모듈이라고 부르는 것외에 다른 것은 어떻게 할 것인가? 이들을 통칭하는 말을 빌딩 블록이라고 한다면, 빌딩 블록 중에 모듈이 아닌 것들을 뽑아서 대략 정리해본다. 이제 이를 동료 개발자들과 공유하고, 어떤 일이 일어나는지 지켜보고 개선한다. :)

![빌딩블록 개요 초안](https://www.popit.kr/content/images/wp/2017/09/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA-2017-09-14-%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE-10.31.52-600x309.png)

빌딩블록 개요 초안

## 3종 세트

3종 세트. 홈쇼핑에서 자주 들어서인지 편안한 느낌을 주는 말이다. 이미 [김형준](https://www.popit.kr/author/babokim/)님이 [Micro Service, Docker로 할 수 밖에 없었던 사연](https://www.popit.kr/why-we-had-to-use-microservices-and-docker/)을 통해 MSA 아키텍처 수립 방법을 설명했다. 뒤이어 [마이크로 서비스 구축 경험 공유](https://www.popit.kr/sharing-microservices-build-experience/)에서 개발팀 혹은 조직 관점에서 사고법이나 전개 사례를 공유했다. 부족하긴 하지만, 이 글은 다룰 대상인 프로그램을 다루는 시작 글이다. 이들 3종 세트가 여러분에게 조금이나마 실마리를 제공하면 좋겠다. (과연\~)

#### 이미지 출처

https://www.thoughtworks.com/insights/blog/well-factored-approach-securing-roi-your-service-investment-part-2