다섯 살도 알 수 있게 · SW공학
마이크로서비스 아키텍처(MSA)가 뭐예요?
마이크로서비스 아키텍처를, 두꺼운 백과사전 한 권을 동물편·역사편·과학편처럼 작은 소책자들로 쪼개 따로 쓰고 따로 찍는 이야기로 풀어봤어요.
오탈자 하나 고치려 해도 백과사전 전체를 다시 찍어야 해요.한 부분이 늦어지면, 책 전체 출간이 다 늦어져요.
편집장은 더 빨리 쓰라 하고, 작가는 한 권으로 묶여 있어 따로 낼 수 없다고 맞서요.책이 하나로 묶여 있으면, 일부만 먼저 낼 방법이 없어요.
마이크로서비스 아키텍처는 두꺼운 책을 작은 소책자들로 쪼개요.소책자끼리는 목차로 서로를 가리킬 뿐, 내용을 안 섞어요.
작게 쪼개기소책자 단위로 나눠요
팀도 따로 두기편마다 전담 팀이 있어요
목차로만 연결하기내용은 안 섞어요
따로 키우기잘 팔리는 편만 더 찍어요
소책자 구조는 독립 출간·독립 팀·목차 연결·따로 정하는 분량, 이런 특징을 가져요.소책자 수만큼 조율할 목차도 늘어나요.
책을 소책자로 풀면, 조율이라는 새 일이 생겨요.소책자 구조의 장점은 조율 비용을 치르고 얻는 거예요.
한 줄로
마이크로서비스 아키텍처 = 두꺼운 책 한 권을 독립된 소책자들로 쪼개, 목차로만 연결하는 구조.
마이크로서비스 아키텍처는 하나의 거대한 애플리케이션(모놀리스)을, 각자 독립적으로 개발·배포·확장할 수 있는 작은 서비스 단위로 나누는 방식이에요. 서비스끼리는 API나 메시지 같은 정해진 창구로만 통신하고 내부 구현을 서로 숨겨요. 장애나 트래픽 급증이 한 서비스에 머물 수 있다는 장점이 있지만, 서비스가 많아질수록 서로 맞추는 조율·운영 비용도 함께 커져요.
어른들은 이렇게 불러요
- 마이크로서비스 아키텍처
Microservices Architecture - 독립 소책자로 쪼갠 구조. 서비스마다 따로 배포·확장해요.
- 모놀리스
Monolith - 하나로 묶인 두꺼운 백과사전. 마이크로서비스가 쪼개는 대상이에요.
- API
API - 소책자들이 서로 가리키는 목차. 내용을 안 섞고 참조만 해요.
- 독립 배포
Independent Deployment - 한 편만 먼저 찍어 낼 수 있는 일. 모놀리스에서는 보통 전체를 함께 배포해요.
- 서비스 메시
Service Mesh - 소책자 사이를 오가는 전용 통로. 소책자들 사이의 통신을 따로 전담하는 장치예요. → 기구 사이 전용 통로
- API 게이트웨이
API Gateway - 독자가 늘 드나드는 대표 창구. 여러 소책자 앞에 세운 창구예요.
- 소프트웨어 아키텍처 모델
Software Architecture Model - 책 모양을 미리 정하는 큰 틀. 마이크로서비스는 그중 한 가지 모델이에요. → 책 전체를 미리 짜 두는 구조 밑그림
- 정보시스템 감리/PMO
IS Audit/PMO - 출간 과정을 곁에서 살피는 검수관. 소책자가 많아질수록 감리도 더 여러 곳을 봐야 해요. → 출간 과정을 곁에서 살피는 검수관
다음 이야기
쓰기 전에 그리는 설계 지도 →