피드로 돌아가기
Dev.toInfrastructure
원문 읽기
인프라 비용 $0, Inngest로 구현한 서버리스 백그라운드 잡 아키텍처
5 Functions, 1 Route, $0/Month: My Entire SaaS Background Job Architecture
AI 요약
Context
Redis 기반 BullMQ와 별도 Cron 컨테이너 운영에 따른 고정 비용 발생. 서버 재시작 시 작업 상태 유지와 복잡한 재시도 로직 구현의 어려움. 인프라 관리 부담을 줄이면서도 정교한 스케줄링과 병렬 처리가 필요한 상황.
Technical Solution
- Redis, BullMQ, Cron 컨테이너를 제거하고 Inngest의 이벤트 기반 서버리스 함수 5개로 통합 설계
- Next.js API Route 단일 엔드포인트를 통한 Webhook 방식의 함수 실행 구조
- 스케줄러 함수가 대상자를 식별한 뒤
step.sendEvent()를 통해 개별 전송 함수로 분산하는 Fan-out 패턴 적용 step.run()단위의 독립적 재시도 메커니즘을 통해 API 타임아웃 발생 시 해당 단계만 다시 실행하는 멱등성 확보step.sleep()함수를 활용하여 최대 48시간 동안 리소스 점유 없이 대기 후 재개하는 상태 유지형 워크플로우 구현- Cloudflare R2와 DB 참조 데이터를 비교하여 미사용 파일을 삭제하는 주기적 유지보수 파이프라인 구축
Impact
- 인프라 운영 비용 월 $10에서 $0로 절감
- 월 최대 50,000건의 실행 횟수를 제공하는 Free Tier 활용
- 실제 월 사용량 10,000건 미만으로 비용 부담 없이 운영 가능
Key Takeaway
초기 단계 SaaS에서는 무거운 메시지 큐 인프라 대신 서버리스 이벤트 오케스트레이터를 통해 관리 포인트와 비용을 최소화하는 전략이 유효함.
실천 포인트
인프라 비용 최적화가 우선인 초기 프로젝트에서 Redis 기반 큐 대신 Inngest와 같은 Event-driven 워크플로우 도구 도입을 검토할 것