발행일

패스트 캠퍼스 챌린지 6일차 미션 (2월 6일) : 마이크로 FE 강의 후기

패스트 캠퍼스 챌린지 6일차 미션 (2월 6일) : 마이크로 FE 강의 후기

이 글은 네이버 블로그에 2025년 2월 6일에 올렸던 것을 그대로 옮겨온 것입니다.

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

[ 마이크로 프론트엔드(MFA:Micro Frontend Architecture) : 대규모 서비스 설계부터 운영까지 (feat.모노레포&모듈페더레이션)

1. 공부 시작 시각

image

2. 공부 종료 시각

image

3. 클립 1번 수강 인증 사진

image

4. 클립 2번 수강 인증 사진

image

5. 학습 인증샷 1장

image

6. 학습 후기 700자

모노레포 도입 여부 결정 및 구현 방식에 대한 학습 후기

최근 모노레포(Monorepo) 도입 여부와 구현 방식에 대해 깊이 있게 학습하면서, 여러 가지 장점과 단점, 그리고 적용 시 고려해야 할 요소들을 정리할 수 있었다. 처음에는 단순히 여러 개의 프로젝트를 하나의 리포지토리에서 관리하는 방식이라고 생각했지만, 실제로는 조직의 개발 방식과 협업 프로세스에 큰 영향을 미칠 수 있는 중요한 결정이라는 점을 깨달았다.

모노레포 도입의 장점과 단점

모노레포의 가장 큰 장점은 코드 재사용성과 일관성 유지다. 여러 개의 프로젝트가 동일한 패키지를 공유하고, 종속성을 일관되게 관리할 수 있어 유지보수가 용이하다. 또한, 단일 리포지토리에서 모든 코드 변경 사항을 추적할 수 있어 협업이 더욱 원활해진다. 특히, 여러 팀이 같은 코드베이스를 공유할 때 일관된 코드 스타일과 패턴을 유지할 수 있어 개발 속도가 향상된다.

하지만, 단점도 존재한다. 리포지토리의 크기가 커질수록 빌드 및 테스트 시간이 길어질 수 있으며, CI/CD 파이프라인을 최적화하지 않으면 전체 개발 속도가 저하될 가능성이 크다. 또한, 개별 프로젝트의 버전 관리를 어떻게 할 것인지, 변경 사항이 다른 프로젝트에 어떤 영향을 미치는지 신중하게 설계해야 한다.

통합 방법 설계 및 적절한 기술 스택과 도구 선택

모노레포를 성공적으로 도입하려면 적절한 도구를 선택하는 것이 중요하다. 대표적인 모노레포 관리 도구로는 Nx, Lerna, Turborepo, Bazel 등이 있다. 이 중에서 Nx와 Turborepo는 효율적인 캐싱 및 빌드 속도 최적화를 제공하여 프론트엔드 프로젝트에 적합하다. 반면, Bazel은 대규모 프로젝트에 강력한 빌드 시스템을 제공하지만 설정이 복잡하다는 단점이 있다.

이번 학습을 통해 다양한 모노레포 관리 도구의 특징과 장단점을 비교해 보았으며, 프로젝트의 성격과 팀 규모에 맞는 선택이 중요하다는 점을 배웠다. 작은 팀이라면 Lerna와 Yarn Workspaces 같은 비교적 간단한 도구를 활용하는 것이 유리하고, 대규모 프로젝트라면 Nx나 Turborepo 같은 고성능 캐싱을 지원하는 도구를 고려해야 한다.

실제 적용 시 고려할 점

모노레포를 적용할 때 가장 중요한 점은 기존의 개발 방식과 팀의 역량을 고려하는 것이다. 단순히 트렌드에 따라 도입하는 것이 아니라, 모노레포가 해결하려는 문제를 명확히 정의해야 한다. 예를 들어, 여러 프로젝트 간 코드 공유가 빈번하고, 같은 라이브러리를 반복적으로 관리해야 한다면 모노레포가 큰 도움이 된다. 반면, 프로젝트 간 연관성이 적고 독립적으로 배포 및 운영하는 것이 더 중요한 경우라면, 굳이 모노레포를 도입할 필요가 없을 수도 있다.

또한, 모노레포를 적용하면 기존 워크플로우와 CI/CD 환경도 이에 맞게 개선해야 한다. 예를 들어, GitHub Actions, GitLab CI/CD, CircleCI 등에서 모노레포에 최적화된 빌드 및 배포 전략을 수립하는 것이 중요하다. 모든 프로젝트를 한꺼번에 빌드하지 않고, 변경된 부분만 빌드하도록 최적화하면 속도를 개선할 수 있다.

학습을 통해 얻은 인사이트

이번 학습을 통해 모노레포가 단순한 코드 관리 방식이 아니라, 팀의 개발 문화와 협업 방식까지 고려해야 하는 중요한 아키텍처 선택이라는 점을 깨달았다. 특히, 도입 전에 프로젝트 특성과 조직의 개발 프로세스를 면밀히 분석하고, 적절한 도구를 선택해야 한다는 점이 중요하다.

또한, 모노레포를 성공적으로 운영하려면, 단순히 리포지토리를 통합하는 것뿐만 아니라, 효율적인 빌드 시스템과 CI/CD 파이프라인을 설계해야 한다. 이번 학습을 바탕으로 실제 프로젝트에 적용할 때 발생할 수 있는 문제점과 해결 방안을 미리 고려할 수 있게 되었고, 앞으로 모노레포를 활용한 개발 효율성을 극대화하는 방안을 계속 연구해 나가야겠다고 생각했다.

> 필수 URL https://bit.ly/4gL1f1o

#패스트캠퍼스 #직장인자기계발 #직장인공부 #환급챌린지 #패스트캠퍼스후기 #오공완