KT에이블스쿨 7기

[KT AIVLE School 7기] AI 마이크로서비스 모델링

CodeForWelfare 2025. 7. 28. 23:59

 

1.  애자일과 클라우드 네이티브의 핵심은 ‘빠른 피드백’

Amazon, Google, Netflix… 이들 기업은 하루 수천 번씩 배포합니다.
왜냐하면, 사용자의 요구를 빠르게 반영할 수 있기 때문이죠.

기업일일 배포 수배포 지연고객 요구 반영
Amazon 23,000건 몇 분 빠름
일반 기업 9개월 수 주~분기 느림
 

애자일이란 단순한 빠른 개발이 아닙니다.
실패를 빠르게 경험하고, 빠르게 고치는 환경을 만드는 것이 핵심입니다.


2.  모놀리식 vs 마이크로서비스 – 무엇이 다른가요?

기존 방식: 모놀리식 아키텍처

  • 하나의 거대한 코드베이스
  • 배포 시 전체 재빌드 필요
  • 특정 기능만 수정해도 전체 시스템 영향을 받음
 
고객관리 + 주문 + 결제 + 배송 → 한 덩어리로 되어 있음

개선된 방식: 마이크로서비스 아키텍처

  • 각 기능은 독립된 서비스로 구성
  • 서비스별 독립 배포 가능
  • 서로 다른 기술 스택도 혼합 가능

3. 제프 베조스의 MSA 선언문

아마존의 마이크로서비스 문화는 다음의 선언으로 시작되었습니다:

“팀 간의 모든 통신은 반드시 네트워크 API로 이루어질 것.
직접 데이터베이스 접근, 백도어 사용은 금지.”

이 말은 결국, 모든 팀이 API를 ‘공개 가능’한 수준으로 설계하라는 뜻입니다.


4. 🛠️ MSA의 장단점은?

 장점

  • 장애 격리 및 탄력성 우수
  • 빠른 배포 가능
  • 다양한 기술 사용 용이

단점

  • 서비스 간 통신 복잡
  • 테스트/배포 환경 구성 어려움 (→ Kubernetes 등 필요)
  • 데이터 일관성 관리 필요

5.  조직 전환 사례: 12번가 쇼핑몰

 기존 구조

  • 모든 기능(주문, 배송, 마케팅 등)을 한 팀이 처리
  • 기능 간 의존성 과다

점진적 전환

  1. 도메인별 팀 분리 (주문팀, 배송팀 등)
  2. 각 팀은 자율성과 KPI 책임
  3. API 기반의 협업 구조로 전환

6. DDD: 도메인에 집중하라

도메인 주도 설계란?
→ 소프트웨어 설계가 도메인 지식을 기반으로 이루어져야 한다는 철학입니다.

DDD 3단계

단계설명
전략적 설계 도메인, 서브도메인, 바운디드 컨텍스트 도출
전술적 설계 엔티티, 밸류오브젝트, 어그리거트 모델링
이벤트스토밍 협업 기반 도메인 이벤트 기반 분석
 

7. 이벤트스토밍: Sticky Note 기반 도메인 분석법

기존의 다이어그램보다 빠르고 시각적인 방식입니다.

 핵심 구성 요소

색상의미
주황 도메인 이벤트 (OrderPlaced)
하늘 커맨드 (PlaceOrder)
노랑 Aggregate (OrderAggregate)
초록 Read Model (주문 내역 조회)
핑크 외부 시스템 (결제 API 등)
보라 정책 (재고확인, 추천알고리즘 등)
 

8.  바운디드 컨텍스트 분해 전략

하나의 도메인이 아닌 여러 서브도메인으로 나누는 것이 핵심입니다.

서브도메인 유형설명예시
Core 핵심 비즈니스 주문, 결제
Supporting 지원 역할 배송, 재고
Generic 범용 기능 결제 게이트웨이, 알림
 

이 중 Core는 가장 많은 리소스를 들여야 하며, DDD도 이 영역에 집중됩니다.


9.  실습 예시 – 보험사 시스템 분해

기능 중심 클레임/계약/결제/고객관리 등
조직 중심 청약팀/보상팀/고객센터 등
ACID 기준 트랜잭션 단위로 어그리거트 설계
 

10. 실습 도구 추천

모델링 MSAEZ
코드 생성 Vlingo Designer
협업 Miro
프레임워크 Axon Framework, Spring Cloud
 

마무리.

지금까지 배포를 해본적이 없어서 이번 교육과정에서 처음 진행해보았는데 너무 어려웠던 것 같습니다.

전체적인 흐름을 이해하고 어느정도 네트워크 지식이 있어야 이해가 더 쉬울 거라고 생각합니다.

간단한 사이드프로젝트를 만들어서 천천히 배포해보시는걸 추천드립니다