핵심 요약
Spin 3.0(Fermyon) production 4개월. Component Model 2.0 활용, Rust·JS·Python·Go 동시 컴포넌트. 콜드 1ms, Cloudflare Workers 대비 self-host 옵션 + KV/SQLite 내장.
1. Spin 컴포넌트
// spin.toml
[application]
name = "api"
version = "1.0.0"
[[trigger.http]]
route = "/api/*"
component = "handler"
[component.handler]
source = "target/wasm32-wasip2/release/handler.wasm"
allowed_outbound_hosts = ["https://api.openai.com"]
[component.handler.build]
command = "cargo component build --release"
2. 내장 서비스
- KV store — Redis 수준 키값 저장
- SQLite — libsql 기반, 영속화
- Variables — 환경변수 management
- LLM — 내장 모델(Llama, Phi) 호출
3. 성능 — 다른 serverless 대비
| 플랫폼 | 콜드 스타트 | 메모리 |
|---|---|---|
| AWS Lambda (Node) | 480ms | 128MB+ |
| Cloudflare Workers | 8ms | ~32MB |
| Spin 3.0 | 1.4ms | ~12MB |
4. self-host vs cloud
Spin은 단일 binary로 EC2/베어메탈 자체 호스팅 가능. Fermyon Cloud는 managed. Cloudflare Workers는 vendor lock-in, Spin은 portable.
5. 함정
- WASI preview 2 — preview 1 코드와 호환 부분 깨짐, cargo component 사용 권장
- Long-running task — WASM은 sandboxed, threads 미지원(아직). 분산 작업은 Spin trigger 큐 활용
- NPM packages — 99% native module 미지원, pure JS만
- Outbound networking — allowed_outbound_hosts 명시, deny by default

댓글 0