마이크로서비스의 함정: 쪼개기 전에 알아야 할 아키텍처 설계
무작정 마이크로서비스를 도입할 때 발생하는 치명적인 문제들을 알아보고, 그 대안인 모듈러 모놀리스 아키텍처를 통해 안전하게 시스템을 확장하는 방법을 배웁니다.
대상 독자: 불필요한 마이크로서비스의 복잡성을 피하고 실용적인 아키텍처를 설계하려는 바이브코딩 비개발자
1강 시작하기회차 목록
Part 1. 마이크로서비스의 환상과 현실
분산 시스템이 가져오는 숨겨진 비용과 복잡성을 알아보고, 단일 구조(Monolith)가 가지는 압도적인 장점을 재조명합니다.
넷플릭스가 하니까 우리도 해야 할까?
거대 IT 기업들의 마이크로서비스 성공 사례를 작은 프로젝트에 그대로 적용했을 때 발생하는 문제점을 분석합니다.
예상 학습 시간 8분
2강모놀리스(Monolith)는 구시대의 유물이 아니다
코드가 한 곳에 모여 있는 단일(Monolith) 아키텍처가 개발 속도, 디버깅, 배포 측면에서 가지는 압도적인 효율성을 알아봅니다.
예상 학습 시간 8분
3강쪼갤수록 늘어나는 고통: 분산 시스템의 비용
서비스를 여러 개로 쪼갰을 때 발생하는 네트워크 지연(Latency), 데이터 정합성 문제 등 분산 시스템의 복잡성을 이해합니다.
예상 학습 시간 10분
4강[요약] Part 1. 마이크로서비스 도입 전 던져야 할 질문들
Part 1. 마이크로서비스의 환상과 현실의 핵심 내용을 불릿 포인트로 정리하고 복습하는 요약 회차입니다.
예상 학습 시간 3분
Part 2. 쪼개기 전에 준비해야 할 모듈러 모놀리스
단일 서버 내에서 코드를 깔끔하게 나누어 관리하는 모듈러 모놀리스 아키텍처의 개념과 설계 원칙을 익힙니다.
가장 이상적인 타협점: 모듈러 모놀리스란 무엇인가?
마이크로서비스의 장점(독립성)과 모놀리스의 장점(단순성)을 모두 취할 수 있는 모듈러 모놀리스(Modular Monolith)를 알아봅니다.
예상 학습 시간 10분
6강스파게티 코드 방지: 기능별 책임 명확히 나누기
회원, 결제, 상품 등 기능(도메인)별로 코드의 책임을 나누고, 서로의 코드를 함부로 침범하지 않도록 경계를 설정하는 법을 배웁니다.
예상 학습 시간 10분
7강데이터베이스는 어떻게 할 것인가?
코드뿐만 아니라 데이터베이스 스키마와 테이블 접근 권한을 기능별로 분리하여 데이터 결합도를 낮추는 전략을 다룹니다.
예상 학습 시간 10분
8강언젠가 쪼개질 날을 대비하는 API 통신 설계
모듈 간 직접 참조 대신, 마치 외부 API를 호출하듯 명확한 인터페이스를 통해 통신하여 훗날 서비스 분리를 쉽게 만드는 법을 배웁니다.
예상 학습 시간 10분
9강[요약] Part 2. 마이크로서비스로 가는 징검다리, 모듈러 모놀리스
Part 2. 쪼개기 전에 준비해야 할 모듈러 모놀리스의 핵심 내용을 불릿 포인트로 정리하고 복습하는 요약 회차입니다.
예상 학습 시간 3분
Part 3. 그럼에도 마이크로서비스가 필요한 순간
트래픽과 조직이 거대해져 불가피하게 서비스를 분리해야 할 때 필요한 아키텍처 패턴과 디버깅 전략을 배웁니다.
언제 단일 서버의 한계가 찾아오는가?
단순히 트래픽이 많아지는 것을 넘어, 개발 조직의 크기나 배포 독립성이 중요해져 마이크로서비스가 진짜 필요해지는 시점을 알아봅니다.
예상 학습 시간 8분
11강한 놈이 죽어도 나머지는 산다: 서킷 브레이커
하나의 서비스 장애가 전체 시스템으로 번지는 연쇄 장애를 막기 위해 서킷 브레이커(Circuit Breaker) 패턴을 적용하는 법을 배웁니다.
예상 학습 시간 10분
12강어디서 터졌는지 어떻게 알지? 분산 로그 추적
여러 서비스에 걸쳐 발생하는 에러의 원인을 찾기 위해 고유 ID(Trace ID)를 부여하고 AI를 활용해 디버깅하는 전략을 익힙니다.
예상 학습 시간 10분
13강바이브코딩으로 여러 서비스를 동시에 배포하기
복잡한 파이프라인 대신 바이브코딩 환경에 맞게 독립된 여러 서비스를 조화롭게 배포하고 버전을 관리하는 방법을 다룹니다.
예상 학습 시간 8분
14강[요약] Part 3. 실전 마이크로서비스 도입과 운영 원칙
Part 3. 그럼에도 마이크로서비스가 필요한 순간의 핵심 내용을 불릿 포인트로 정리하고 복습하는 요약 회차입니다.
예상 학습 시간 3분