[강사 인터뷰] 마이크로 프론트엔드 아키텍처, 모든 상황에 맞는 은 총알이 아닙니다.

#MFA #마이크로프론트엔드 #프론트엔드 #모노레포


모두가 마이크로 프론트엔드를 도입해야 하는 것은 아닙니다.
아키텍처는 각 서비스의 상황을 고려한 선택이 중요합니다.

안녕하세요 이웅재 강사님 :) 간단한 자기소개 부탁드립니다.

안녕하세요, 저는 N사에서 협업 서비스를 만들고 있는 이웅재입니다. 프론트엔드개발팀을 리드하며, 10여 명 이상의 프론트엔드 엔지니어들이 하나의 서비스를 함께 개발할 수 있도록 아키텍처를 설계하고 관리하는 업무를 하고 있습니다.

2017년부터 2023년 최근까지 Microsoft MVP (TypeScript)로 활동했으며, 지금처럼 최신 웹기술에 대해 사람들과 이야기하는 것을 좋아합니다 :)

마이크로 프론트엔드가 사실 국내에 잘 알려진 아키텍처는 아닌데요!
어떤 계기로 서비스에 도입하게 되셨는지 궁금해요.

당시 다수의 프론트엔드 엔지니어가 각자의 작업을 하나의 웹 어플리케이션으로 통합하여 배포하고 있었습니다. 이로 인해 배포를 준비하는 과정에서 큰 어려움을 느꼈는데요.

이런 상황 속에서 통합된 큰 서비스를 나누고 각자의 영역에서 서로 영향 없이 개발, 배포할 수 있는 방법을 고민했고, 당시 여러 가지 기술 조사 끝에 모듈 페더레이션과 마이크로 프론트엔드 도입을 결정하였습니다.

국내에 잘 알려진 알려진 아키텍처가 아니다 보니,
마이크로 프론트엔드를 도입하는 과정에서 꽤 애를 먹으셨을 것 같아요.

마이크로 프론트엔드를 도입하는데 굉장히 많은 시행착오가 있었고, 현재도 시행착오를 겪고 있다고 생각합니다. 하지만 중요한 것은 지속적으로 시행착오를 바로 잡고 올바른 방향으로 개선해 나가는 것입니다.

처음에는 기술적으로 가능하기 때문에 Fragment(런타임에 다른 앱으로 전달하는 컴포넌트 조각)을 굉장히 작은 수준으로 도전을 했습니다. 하지만 그렇게 했을 때, 특별한 장점은 없고 관리 포인트만 늘어난다고 판단하여 현재는 너무 사소한 부분까지는 공유하지 않으려고 합니다.

이외에도 다시 도입을 시작하는 시점으로 간다면 다른 결정을 했을 많은 시행착오들이 있는데요. 이 부분은 강의에서 좀 더 소개해 드리도록 하겠습니다. ^^

마이크로 프론트엔드가 모든 서비스에 필요한 아키텍처는 아니라고 하셨는데요.
그렇다면 어떤 상황에서 도입을 고려해 볼 수 있을까요?

여러 가지 서비스들이 하나의 런타임으로 통합되어 거대한 웹 애플리케이션을 이루고, 이 프로젝트를 여러 프론트엔드 개발자가 함께 개발할 때 유용하다고 생각합니다.

결국 개발자들이 개발할 수 있는 부분은 일정한 한계를 가지고 있고, 이러한 영역을 넓히는 방식보다는 일정한 영역 안에서 깊이를 가지게 하는 것이 서비스의 발전에 더 도움이 될 것입니다. 이렇게 통합된 큰 서비스를 나누고 각자의 영역에서 개발하고 배포하면서 서로 영향을 주지 않게 해야 할 필요가 있다면 도입을 고려해 볼 수 있을 것 같습니다.

이번에 강사님과 패스트캠퍼스가 함께 마이크로 프론트엔드 강의를 런칭하게 되었어요 :)
강의의 어떤 부분이 특별하다고 이야기할 수 있을까요?

우선 국내에서 가장 처음으로 내는 마이크로 프론트엔드 아키텍처 강의라는 점이 가장 특별한 점이 아닐까 싶습니다.
두 번째는 실제로 운영할 수 있는 프로젝트를 함께 만들며 설계부터 구현, 그리고 운영까지 모든 부분을 담은 커리큘럼 이라는 점입니다. 마지막으로 이러한 프로젝트의 기반이 되는 여러 가지 프론트엔드 분야의 기술 을 함께 담았다는 점입니다.

이번 강의로 수강생들이 얻어갈 수 있는 것은 무엇이 있을까요?

앞서 말씀드린 것처럼 모든 상황에 맞는 은 총알은 없습니다. 모두가 마이크로 프론트엔드 아키텍처를 도입해야 하는 것은 아닙니다.

그렇지만 마이크로 프론트엔드 아키텍처를 위해 필요한 기술은 일반적으로 프론트엔드 엔지니어가 알아두면 좋은 여러 가지 기술을 기반으로 합니다. 이번 강의에서는 대형 모노레포 운영을 위한 패키지 매니저, 빌드 툴, 여러 가지 최신 번들러 등을 포함하고 있고, 이러한 내용들은 모든 프론트엔드 엔지니어에게 분명히 큰 도움이 될 것이라 생각합니다.

마지막으로, 강의를 들을 수강생분들께 응원이나 조언의 말씀 부탁드려요!

개발을 하다보면 정답은 없다는 것을 끊임없이 실감하게 됩니다. 언제나 선택의 연속이고 선택은 우리가 아는 것을 기반으로 합니다 .

프론트엔드 분야는 강의를 만드는 순간에도 빠른 속도로 발전하고 있습니다. 이럴 때일수록 더 나은 방법을 계속 찾아나가기 위한 학습이 필수적입니다. 이를 위해 최신 아키텍처와 기술을 이해하고 적용해 보는 연습은 매우 큰 도움이 될 것이라고 생각합니다.

이 강의를 통해 여러분의 프론트엔드 커리어 여정에 중요한 디딤돌이 되기를 바랍니다.


지금 패캐머들이 읽고있는 BEST 아티클이 궁금하다면

이 글과 연관된 주제의 추천 강의