마이크로프론트엔드(Microfrontend)는 대규모 프론트엔드 애플리케이션을 독립적으로 개발·배포 가능한 작은 단위로 분리하는 아키텍처입니다. 기존의 '수평적(Horizontal)' 접근법(한 페이지 내 컴포넌트별 분리)과 달리, **수직형 마이크로프론트엔드(Vertical Microfrontend, VMFE)**는 URL 경로(Path) 전체를 하나의 팀이 완전히 소유하는 방식입니다. 예를 들어 /blog 경로의 모든 것(프레임워크, 라이브러리, CI/CD)을 한 팀이 책임지게 되죠. 이는 마케팅 사이트는 Astro로, 대시보드는 React로 구성하는 등 팀별로 최적의 기술 스택을 선택하면서도 사용자에게는 하나의 통합된 앱처럼 보이게 할 수 있습니다. 클라우드플레어가 최근 발표한 새로운 워커 템플릿은 이런 VMFE 구축을 간소화합니다. 자세한 근거자료는 Cloudflare 공식 블로그에서 확인할 수 있습니다.

핵심 개념: 라우터 워커와 서비스 바인딩
수직형 마이크로프론트엔드 아키텍처의 핵심은 들어오는 요청을 적절한 팀의 워커로 라우팅해주는 **'라우터 워커(Router Worker)'**에 있습니다. 클라우드플레어의 서비스 바인딩(Service Binding) 기능을 사용하면 라우터 워커가 공개 URL 없이도 다른 워커(마케팅, 문서, 대시보드 팀의 워커)를 직접 호출할 수 있습니다.
라우터 워커의 wrangler.toml(또는 wrangler.json) 설정은 다음과 같습니다.
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "router",
"main": "./src/router.js",
"services": [
{ "binding": "HOME", "service": "worker_marketing" },
{ "binding": "DOCS", "service": "worker_docs" },
{ "binding": "DASH", "service": "worker_dash" }
]
}
위 설정은 HOME, DOCS, DASH라는 바인딩 이름을 통해 각각의 독립적인 워커 서비스를 참조할 수 있게 해줍니다.

실무 적용 시 고려사항 비교
| 항목 | 수직형 마이크로프론트엔드(VMFE) | 전통적 모노리스/수평적 MFE |
|---|---|---|
| 팀 자율성 | 매우 높음. 경로별로 프레임워크, 도구, 배포 파이프라인 독립 선택 가능. | 낮음. 통합된 기술 스택과 배포 프로세스를 공유해야 함. |
| 배포 위험 | 낮음. 한 팀의 배포 실패가 다른 경로에 영향을 주지 않음. | 높음. 모노리스 내 변경사항이 전체 앱의 롤백을 초래할 수 있음. |
| UX 통합 난이도 | 보통. CSS View Transitions, Speculation Rules로 보완 가능. | 낮음. 단일 코드베이스에서 자연스럽게 통합됨. |
| 운영 복잡도 | 높음. 여러 독립 서비스의 모니터링, 로깅, 디버깅 필요. | 낮음. 단일 애플리케이션으로 통합 관리됨. |
사용자 경험(UX) 통합의 비밀: CSS와 프리페치
두 개의 완전히 다른 워커에서 서비스되는 페이지가 하나의 앱처럼 느껴지게 하려면 CSS View Transitions와 Speculation Rules API가 핵심입니다. 라우터 워커 설정에서 smoothTransitions와 preload 옵션을 활성화하면, 라우터가 자동으로 필요한 코드를 HTML 응답에 삽입해 줍니다.
// 라우터 설정 예시 (ROUTES 변수)
{
"smoothTransitions": true,
"routes": [
{ "binding": "APP1", "path": "/app1", "preload": true },
{ "binding": "APP2", "path": "/app2", "preload": true }
]
}
preload: true로 설정된 경로는 브라우저가 미리 다음 페이지를 예측하여 로드(프리페치)하게 되어, SPA처럼 빠른 네비게이션을 제공합니다.
수직형 마이크로프론트엔드는 성장하는 조직에서 필연적으로 마주하는 '팀 간 의존성과 배포 병목' 문제를 해결하는 강력한 패러다임입니다. 클라우드플레어의 새로운 템플릿은 이 아키텍처를 에지에서 쉽게 시작할 수 있는 발판을 제공합니다.
실무 적용 조언:
- 점진적 도입: 기존 모노리스를 한 번에 분리하기보다, 새로운 기능(예: 새 대시보드 페이지
/dash/v2)이나 독립성이 높은 모듈(예:/blog)부터 VMFE로 구축해 보세요. - 공통 기준 정의: 팀마다 완전히 독립적이더라도, 로깅 포맷, 에러 처리, 모니터링 지표 같은 운영 기준은 공통으로 정의해야 디버깅이 수월합니다.
- UX 통합에 집중: 기술적 분리가 사용자에게 노출되지 않도록 CSS View Transitions과 프리페치를 적극 활용하세요. 사용자는 하나의 매끄러운 앱을 경험해야 합니다.
이 아키텍처는 팀의 자율성과 배포 속도를 극대화하면서도, 에지 컴퓨팅의 장점을 살려 전 세계 사용자에게 빠른 경험을 제공할 수 있습니다. 클라우드플레어 대시보드에서 'Workers & Pages' > 'Create application'을 클릭하고 'Create microfrontend' 템플릿을 선택하면 바로 시작할 수 있습니다.