피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Hub Pattern 도입을 통한 Edge Function 개수 50개 미만 유지 및 확장성 확보
The Hub Pattern: Keeping Supabase Edge Functions Under 50
AI 요약
Context
기능별로 Edge Function(EF)을 개별 생성하는 'One-Feature-One-EF' 방식의 비효율성 발생. 기능 증가에 따라 EF 개수가 선형적으로 증가하며 관리 복잡도와 배포 제약이 심화되는 한계점 노출.
Technical Solution
- Domain 중심의 Hub EF를 설계하여 다수의 Feature Action을 단일 엔드포인트에서 처리하는 구조로 전환
- TypeScript Union Type 기반의 Action Routing을 구현하여 컴파일 타임에 잘못된 액션 호출을 방지하는 Type-Safety 확보
- Deny-by-Default 원칙에 따른 Explicit Allowlist를 적용하여 승인된 액션만 실행 가능한 Least Privilege 보안 모델 구축
- CI 파이프라인에 EF-CAP-50 규칙을 강제하여 EF 개수 50개 초과 시 PR 실패 및 GitHub Issue를 자동 생성하는 거버넌스 체계 도입
- Domain Boundary(EF 단위)와 Feature Boundary(Action 단위)를 분리하여 도메인 확장 시에만 EF를 추가하는 전략 채택
실천 포인트
1. 신규 기능 추가 시 기존 도메인 포함 여부를 먼저 확인하여 Hub Action으로 추가할 것
2. TypeScript Union Type을 활용해 라우팅 경로의 타입 안정성을 검증할 것
3. 보안을 위해 모든 액션을 기본 차단하고 명시적 허용 리스트를 운영할 것
4. CI/CD 단계에서 인프라 제약 사항을 정량적으로 체크하는 자동화 가드레일을 구축할 것