핵심 요약
wasmCloud 1.5로 12개 마이크로서비스를 WASM actor로 분산 운영. NATS lattice 메쉬, 콜드 스타트 4ms, 노드 추가 즉시 가용. K8s 대비 운영 인력 -70%.
1. 아키텍처
Actor: 비즈니스 로직(WASM 컴포넌트). Capability provider: HTTP/DB/log 등 외부 의존 추상화. NATS lattice: 모든 노드 메쉬 네트워크.
Actor는 stateless, capability는 stateful. 분리로 actor가 어디서든 실행 가능.
2. 배포 예시
# manifest.yaml
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: api
spec:
components:
- name: handler
type: component
properties:
image: ghcr.io/org/handler.wasm
traits:
- type: spreadscaler
properties:
replicas: 6
- name: postgres
type: capability
properties:
image: ghcr.io/wasmcloud/postgres
3. 운영 — 6 노드 클러스터
| 지표 | 값 |
|---|---|
| Cold start (per actor) | 4ms |
| Actor instance × 12 service | ~480 동시 |
| 노드 추가 시간(scale up) | 28초 |
| 노드당 메모리 | 380MB |
| K8s 비교 운영 비용 | -70% |
4. K8s 대비
K8s는 컨테이너 단위, wasmCloud는 actor 단위. 컨테이너는 ~30MB·~500ms 콜드, actor는 ~1MB·~4ms. 비용·운영 단순화. 단 K8s 풍부한 에코(ingress, network policy)는 wasmCloud에 없음.
5. 함정
- Capability provider 안정성 — 신생 provider 일부 production 미진, postgres·http 검증된 것만 사용
- Observability — Prometheus exporter 있으나 K8s 수준 dashboard 부재
- NATS lattice 네트워크 — 모든 노드 메쉬, 노드 100+ 시 NATS jetstream 부담
- Stateful 워크로드 — actor 자체는 stateless, 상태는 capability에 위임, 패턴 학습 필요

댓글 0