IT 지식 및 정보 (구글 클라우드 등)

모놀리식 ➡ 마이크로서비스 (MSA)

azzaman 2026. 1. 15. 13:49

모놀리식(Monolithic) 아키텍처: '거대한 하나'

한 줄 요약: 모든 기능(UI, 서버, DB 등)을 '하나의 거대한 코드 덩어리'로 뭉쳐서 개발하는 전통적인 방식입니다.

1. 핵심 특징 (All-in-One)

  • 단일 코드 베이스: 모든 소스 코드가 한 곳에 모여 있습니다.
  • 강한 연결: 기능끼리 서로 긴밀하게 엮여 있습니다. (예: '주문' 코드를 고치면 '결제' 코드가 영향을 받음)

2. 장점: "시작은 쉽다"

  • 초기 개발 속도가 빠름: 복잡한 설계 없이 바로 개발을 시작할 수 있습니다.
  • 배포가 단순함: 그냥 파일 하나만 서버에 올리면 끝납니다.
  • 디버깅이 편함: 한 프로젝트 안에서만 오류를 찾으면 됩니다.

3. 치명적인 단점: "커질수록 괴물"

  • 수정의 두려움: 코드 한 줄만 고쳐도 전체 시스템을 다시 테스트하고 배포해야 합니다.
  • 도미노 위험: 작은 기능 하나에 오류가 생기면, 앱 전체가 다운됩니다. (AWS 자료 강조)
  • 비효율적 확장: '주문' 기능만 사람이 몰려도, 전체 서버 용량을 다 늘려야 해서 돈이 낭비됩니다.

트렌드의 변화: 모놀리식 ➡ 마이크로서비스 (MSA)

구글과 아마존(AWS)이 말하는 요즘 트렌드는 "잘게 쪼개라"입니다.

  • 컨테이너화 (Google Cloud 방식): 거대한 앱을 기능별(홈, 리뷰, 상품 등)로 쪼개서 각각의 '컨테이너(상자)'에 담습니다.
  • 결과: 하나가 고장 나도 나머지는 멀쩡하고, 필요한 부분만 따로 업그레이드할 수 있어 빠르고, 안전하며, 비용이 절감됩니다.

결론: 모놀리식은 '작게 시작할 때' 좋고, 마이크로서비스는 '시스템이 복잡하고 클 때' 필수적입니다.

 

관련 링크: