본문 바로가기
👩🏻‍💻 Front-end/🌐 Web

모듈 페더레이션이란? Module Federation

by su-no 2024. 5. 3.

모듈 페더레이션이란?

💡 모듈 페더레이션은 마이크로프론트엔드(Micro-Frontend) 아키텍처 중 하나로, 거대한 웹 애플리케이션을 독립적으로 배포하고 통합하는 방식입니다. 이는 마이크로서비스 아키텍처를 프론트엔드에 적용한 것으로, 독립적인 CI/CD를 진행하고 하나의 웹 페이지로 조립하는 통합 과정이 필요합니다. [1]

모듈 페더레이션의 주요 특징

  • 독립적인 배포: 각 모듈을 독립적으로 배포할 수 있어 개발 효율성이 높아집니다.
  • 유연한 통합: 필요한 모듈만 선택적으로 통합할 수 있어 유연성이 높습니다.
  • 확장성: 새로운 모듈을 쉽게 추가할 수 있어 확장성이 뛰어납니다.
  • 독립적인 개발: 각 팀이 독립적으로 개발할 수 있어 생산성이 향상됩니다.

모듈 페더레이션의 필요성

마이크로서비스 아키텍처가 백엔드에서 널리 사용되면서, 프론트엔드에서도 이와 유사한 접근법이 필요해졌습니다. 모듈 페더레이션은 이러한 요구사항을 해결하기 위해 등장했습니다. 거대한 웹 애플리케이션을 독립적으로 배포하고 통합할 수 있게 해줌으로써, 개발 효율성과 확장성을 높일 수 있습니다. [2], [3]

모듈 페더레이션의 기술적 배경

모듈 페더레이션은 Webpack 5에서 도입된 기술로, 웹팩의 모듈 시스템을 활용하여 구현됩니다. 이를 통해 각 모듈을 독립적으로 빌드하고 배포할 수 있으며, 필요한 모듈만 동적으로 로드할 수 있습니다. [4]

종합적으로, 모듈 페더레이션은 마이크로프론트엔드 아키텍처를 구현하는 데 유용한 도구입니다. 개발 효율성 향상, 배포 프로세스 간소화, 팀 간 협업 증진 등의 이점을 제공합니다.

참고 자료

[1] velog - Module Federation이란? (https://velog.io/@xmun74/Module-Federation%EC%9D%B4%EB%9E%80)
[2] kakaoent.com - Webpack Module Federation 도입 전에 알아야 할 것들 (https://fe-developers.kakaoent.com/2022/220623-webpack-module-federation/)
[3] TISTORY - Module federation이란 - 토니파키의 즐거운 블로그 (https://toneyparky.tistory.com/65)
[4] webpack.kr - Module Federation | 웹팩 - webpack (https://webpack.kr/concepts/module-federation/)