멈추지 않는 기록

"프론트엔드 아키텍처 선택: MFE와 모놀리식?" 본문

웹 개발/참고 지식

"프론트엔드 아키텍처 선택: MFE와 모놀리식?"

pangil_kim 2025. 2. 20. 18:03
728x90

프론트엔드 개발에서 아키텍처 선택은 프로젝트의 성공에 중요한 영향을 미친다.

 

특히, MFE(마이크로 프런트엔드)모놀리식(Monolithic Architecture)는 각각 장단점이 있는 두 가지 접근 방식이다.

 

이번 포스팅에서는 이 두 가지 아키텍처를 비교하고, 각 아키텍처가 적합한 경우에 대해 알아보겠다.

 

 

 

MFE(마이크로 프런트엔드)

 

MFE는 프론트엔드를 여러 개의 독립적인 모듈로 나누어 개발하고 배포하는 방식이다.

 

1) 특징

  • 독립적 개발 및 배포: 각 모듈이 독립적으로 개발되고 배포될 수 있다.
  • 서로 다른 기술 스택: 서로 다른 기술을 사용할 수 있다. 예를 들어, 한 모듈은 React로, 다른 모듈은 Vue로 개발할 수 있다.
  • 모듈 간 영향 없음: 특정 기능의 변경이 다른 모듈에 영향을 주지 않는다.
  • 병렬 개발 가능: 팀별로 작업을 나누어 병렬로 개발할 수 있다.

2) 예제

예를 들어, 쇼핑몰 사이트에서 상품 리스트, 장바구니, 결제 페이지를 각각 다른 팀이 독립적으로 개발하고 배포하는 구조를 생각할 수 있다.

 

 

 

모놀리식(Monolithic Architecture)

 

모놀리식 아키텍처는 하나의 거대한 코드베이스로 구성된 프론트엔드 아키텍처로, 모든 기능이 하나의 프로젝트에서 동작하는 방식이다.

 

1) 특징

  • 단일 코드베이스: 하나의 코드베이스에서 모든 기능을 관리한다.
  • 전체 배포 필요: 배포 시 전체 시스템을 함께 배포해야 한다.
  • 강한 연결: 서로 다른 기능이 강하게 연결되어 있어 유지보수가 어려워질 수 있다. 하지만 초기 개발은 단순하다.

2) 예제

예를 들어, 쇼핑몰 사이트에서 상품 리스트, 장바구니, 결제 페이지가 모두 하나의 React 프로젝트 안에 포함되어 있는 경우를 들 수 있다.

 

 

 

MFE와 모놀리식 아키텍처 비교
구분 MFE (마이크로 프런트엔드)  모놀리식 (Monolithic)
구조 여러 개의 독립적인 프런트엔드 모듈 하나의 거대한 프로젝트
팀 협업 각 팀이 독립적으로 개발·배포 가능 모든 팀이 하나의 코드베이스에서 작업
기술 스택 서로 다른 기술을 사용할 수도 있음 하나의 기술로 통일됨
배포 방식 개별 모듈만 배포 가능 전체 시스템을 함께 배포
유지보수 특정 모듈만 수정 가능 작은 수정도 전체 시스템에 영향

 

 

 

언제 사용하면 좋을까?

 

✅ MFE 사용 추천

  • 여러 팀이 독립적으로 개발·배포해야 하는 경우
  • 각 기능을 개별적으로 확장할 가능성이 큰 경우
  • 기술 스택을 유연하게 가져가고 싶은 경우

✅ 모놀리식 사용 추천

  • 작은 프로젝트이거나 초기 MVP 단계인 경우
  • 팀원이 적고 개발 속도가 중요한 경우
  • 코드가 단순하고 유지보수가 쉬운 경우

 

 

 

결론

 

MFE와 모놀리식 아키텍처는 각각의 장단점이 있으며, 프로젝트의 규모와 팀의 구성, 기술 스택에 따라 적절한 선택이 필요하다. MFE는 독립적인 개발과 유연한 기술 선택을 가능하게 하는 반면, 모놀리식 아키텍처는 초기 개발이 간단하고 관리가 용이하다. 프로젝트의 요구사항에 맞는 아키텍처를 선택하여 효율적인 개발을 이끌어내자.

728x90