3명뿐인 팀에서 마이크로 프론트엔드(MFE)를 고민하는 것이 과연 오버엔지니어링일까?

3명뿐인 팀에서 마이크로 프론트엔드(MFE)를 고민하는 것이 과연 오버엔지니어링일까?

3명뿐인 팀에서 마이크로 프론트엔드(MFE)를 고민하는 것이 과연 오버엔지니어링일까?

소규모 팀에서 MFE를 도입하면 속도가 빨라질까, 아니면 발목을 잡을까? 공학적·비즈니스적 관점에서 냉정하게 따져봅니다.


도입부: "우리도 MFE 써야 하지 않을까요?"

스타트업 개발 슬랙 채널에서 가장 많이 올라오는 질문 중 하나입니다. 팀원이 세 명인데, 누군가 마이크로 프론트엔드 아티클을 읽고 흥분해서 공유합니다. 이커머스 대기업, 금융 플랫폼, 글로벌 SaaS가 MFE로 전환했다는 성공 사례들이 쏟아집니다. 그러면 자연스럽게 드는 생각—"우리도 해야 하는 거 아닐까?" 하지만 잠깐 멈춰야 합니다. 아키텍처 결정은 트렌드가 아니라 맥락이 결정해야 합니다.


마이크로 프론트엔드란 무엇인가: 개념부터 잡고 가기

MFE의 본질

마이크로 프론트엔드(Micro Frontend, MFE)는 마이크로서비스 철학을 프론트엔드 계층으로 확장한 아키텍처 패턴입니다. 하나의 거대한 SPA(Single Page Application) 대신, 독립적으로 개발·배포·운영 가능한 작은 프론트엔드 단위들을 조합해 하나의 서비스를 구성합니다.

구현 방식은 크게 세 가지로 나뉩니다.

  • 런타임 통합: Webpack Module Federation, Single-SPA 등을 이용해 브라우저에서 동적으로 결합
  • 빌드타임 통합: npm 패키지 형태로 의존성을 공유
  • 서버사이드 통합: Edge Side Includes(ESI), SSR 조합

왜 대기업은 MFE를 도입했나

Spotify, IKEA, Zalando, 카카오 등 MFE를 도입한 조직의 공통점이 있습니다. 수십~수백 명의 개발자가 동일한 코드베이스에서 충돌하고 있었고, 배포 병목과 팀 간 커플링이 비즈니스 속도를 갉아먹고 있었습니다. MFE는 그 문제를 풀기 위한 해답이었습니다. 팀 규모와 조직 구조가 아키텍처를 정당화한 것입니다.


3명 팀의 현실: 공학적 비용 계산

숨겨진 복잡도 비용

MFE는 분명 강력한 도구입니다. 그러나 모든 도구에는 **운영 비용(Operational Overhead)**이 따릅니다. 3명 팀이 MFE를 선택하는 순간 마주치는 현실적인 비용을 나열해 보겠습니다.

3명이 이 오버헤드를 전부 감당한다는 것은, 제품을 만드는 시간이 아닌 아키텍처를 유지하는 시간에 리소스를 쏟는다는 의미입니다.

공학적으로 검토해야 할 핵심 질문

마틴 파울러(Martin Fowler)는 소프트웨어 아키텍처에 대해 이렇게 말했습니다.

"아키텍처는 나중에 바꾸기 어려운 결정들이다. 그러므로 지금 꼭 필요한 결정인지를 먼저 물어야 한다."

3명 팀이라면 스스로에게 다음 질문을 던져야 합니다.

  1. 코드베이스가 실제로 커플링 문제를 겪고 있는가? 아직 겪지 않은 문제를 위해 복잡도를 추가하는 것은 투기입니다.
  2. 독립적으로 배포해야 할 팀이 존재하는가? 같은 방에 앉아 있는 세 명은 슬랙 한 메시지로 배포를 조율할 수 있습니다.
  3. 기술 스택이 충돌하는가? React, Vue, Angular가 혼재할 이유가 지금 있는가?
  4. 제품의 도메인 경계가 명확하게 분리되었는가? 도메인 경계가 흐릿한 상태에서 MFE를 도입하면 잘못된 경계로 영원히 고통받습니다.

비즈니스 관점: 기회비용과 성장 곡선

초기 단계에서의 기회비용

스타트업 초기의 가장 희소한 자원은 시간입니다. Y Combinator의 Paul Graham은 "Do things that don't scale"이라고 말했습니다. 지금 당장 스케일을 위한 아키텍처보다, 검증된 제품을 빠르게 만드는 것이 비즈니스 생존에 훨씬 직결됩니다.

3명이 MFE 셋업에 3주를 쓴다고 가정해봅시다. 그 3주는 고객 인터뷰 30건, 핵심 기능 개발 5개, 또는 초기 사용자 확보 캠페인이 될 수 있었습니다. 아키텍처의 우아함은 제품이 살아남은 이후에 의미가 생깁니다.

벤치마킹: 비슷한 규모의 팀은 어떻게 했나

실제 사례들을 살펴보면 패턴이 명확합니다.

✅ MFE를 올바르게 도입한 사례

  • Zalando: 수백 명의 엔지니어, 30개 이상의 독립 팀. MFE 도입 후 각 팀이 독립 배포 주기를 가지며 출시 속도 3배 향상. 팀 규모와 조직 독립성이 전제조건이었음.
  • IKEA: 글로벌 멀티 도메인 서비스. 국가별 팀이 독립적으로 기능을 개발해야 하는 명확한 요구사항이 있었음.
  • Spotify: 자율 Squad 모델과 MFE가 정합성을 가짐. 기술 결정이 조직 설계를 따라간 것임.

❌ 소규모 팀에서의 실패 패턴

  • 5명 이하 팀이 MFE를 도입 → Module Federation 설정 이슈로 2주 소비 → 공유 라이브러리 버전 충돌 → 결국 모노레포로 회귀
  • 도메인 경계 없이 MFE 분리 → 크로스 앱 상태 동기화 지옥 → 유지보수 비용 급증

이 사례들이 공통적으로 말해주는 것은 하나입니다. MFE는 조직 문제를 푸는 도구이지, 기술 문제를 푸는 도구가 아닙니다.


그렇다면 3명 팀은 무엇을 해야 하는가: 현실적 대안

단계적 확장 전략: 지금 할 것 vs 나중에 할 것

MFE를 포기하는 것이 아닙니다. 지금 당장 필요하지 않을 뿐입니다. 성장 단계별 적합한 아키텍처 전략을 정리하면 다

댓글 0개

댓글

댓글을 불러오는 중...

지원 문의