Faasta: Rust를 위한 WASM-wasi-HTTP 자가 호스팅 서버리스 플랫폼
요약
Faasta는 Rust 함수를 WASI HTTP 컴포넌트로 컴파일하여 Function-as-a-Service(FaaS)를 구현하는 플랫폼입니다. WASIp3 기반의 `wasi:http/service` 컴포넌트를 활용하며, 단일 의존성으로 JSON 또는 HTML 반환이 가능합니다. Wasmtime을 이용한 인프로세스 실행과 Postgres, S3 등 다양한 분산 스토리지를 지원하여 자가 호스팅에 최적화되어 있습니다.
핵심 포인트
- Rust 함수를 WASI HTTP 컴포넌트로 FaaS 구현
- Wasi:http/service 기반의 단일 의존성 사용
- Wasmtime을 이용한 인프로세스 실행 및 성능 확보
- Postgres, S3 등 분산 스토리지를 지원하여 자가 호스팅 용이
Faasta
Faasta는 WASI HTTP 컴포넌트로 컴파일된 Rust 함수를 위한 Function-as-a-Service(FaaS) 플랫폼입니다.
주요 기능 (Key Features)
- Rust 핸들러를 WASIp3 기반의
wasi:http/service컴포넌트로 빌드합니다. - 단일 애플리케이션 의존성(
faasta)을 사용합니다. faasta::http::{Json, Html}를 사용하여 JSON 또는 HTML을 반환합니다.Sql,Kv,Blobs를 통해 SQL, 키-값(KV), 블롭 스토리지에 주입합니다.- Wasmtime으로 컴포넌트를 인프로세스(in-process)에서 실행합니다.
- Postgres, Garage/S3, Valkey를 사용하여 분산 스토리지를 지원하며 자가 호스팅이 가능합니다.
예시 (Example)
use faasta::http::Html;
#[faasta::handler]
...
워크플로우 (Workflow)
cargo faasta new my-function
cd my-function
cargo faasta build
...
cargo faasta build는 WASIp3 컴포넌트 빌드를 래핑하여 애플리케이션 프로젝트가 Rust 타겟이나 아티팩트 레이아웃을 알 필요 없게 만듭니다.
자가 호스팅 및 스토리지 구성을 보려면 server/README.md와 server/infra/capabilities.md를 참조하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기