핵심 요약
NestJS 12는 SWC 컴파일러를 기본 채택해 빌드 6.5배, 콜드 스타트 38% 단축. 하지만 같은 API를 Hono 4로 작성하면 콜드 스타트가 다시 9배 빠르다. 풀 기능 엔터프라이즈는 Nest, edge·서버리스는 Hono가 명확.
1. 한 줄 비교
| NestJS 12 | Hono 4 | |
|---|---|---|
| 철학 | 풀 기능, 데코레이터 | 최소·표준 Web API |
| 콜드 스타트 | 340ms | 38ms |
| 처리량 | 62K req/s | 148K req/s |
| DI | 1급 시민 | 없음(직접) |
| 코드량 | 1.0 | 0.55 |
2. NestJS 12 — 무엇이 새로워졌나
- SWC 컴파일러 기본 — TS 빌드 6.5배
- 모듈 컨테이너 메모리 사용량 -22%
- HMR으로 핫리로드 안정
- Mercurius 5(GraphQL) 통합
3. Hono 4 — 새 RPC
import { Hono } from 'hono'
const app = new Hono()
.get('/user/:id', c => c.json({ id: c.req.param('id') }))
export default app
// 같은 코드가 Node, Bun, Deno, Cloudflare Workers, AWS Lambda 모두 동작
4. 콜드 스타트 — Lambda 측정
| p50 | p99 | |
|---|---|---|
| NestJS 12 | 340ms | 720ms |
| Hono 4 | 38ms | 62ms |
이벤트 기반 워크로드(저빈도, 다발성 요청)에서 NestJS는 100% Provisioned Concurrency가 사실상 필수. Hono는 그대로 운영 가능.
5. 코드량 — 동일 5 엔드포인트
인증·검증·DB·에러 핸들링 포함. Nest는 약 420줄, Hono는 230줄. Nest의 데코레이터·모듈·DI는 코드를 분산시키지만 큰 팀에서는 구조화 가치가 크다.
6. 결정 가이드
- 10인 이상 백엔드 팀, 복잡 도메인 → NestJS 12
- edge·서버리스·콜드 스타트 민감 → Hono 4
- Lambda + 잦은 변경 → Hono
- GraphQL·gRPC·MQ·일관 구조 → NestJS
7. 한 서비스에서 두 도구 같이?
가능하다. 사내 패턴: 코어 비즈니스는 Nest, edge-near 라우터/콜백 receiver는 Hono. 코드 공유는 zod 스키마 패키지로.
자주 묻는 질문
Q. Hono로 큰 앱이 가능? 가능. 미들웨어·검증·플러그인 모두 있음. 다만 팀 규모 커지면 자체 컨벤션을 만들어야 함.

댓글 0