# Spin 3.0 – WASM 앱 구축 및 실행을 위한 오픈 소스 툴링

> Clean Markdown view of GeekNews topic #17762. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17762](https://news.hada.io/topic?id=17762)
- GeekNews Markdown: [https://news.hada.io/topic/17762.md](https://news.hada.io/topic/17762.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-11-15T04:18:32+09:00
- Updated: 2024-11-15T04:18:32+09:00
- Original source: [fermyon.com](https://www.fermyon.com/blog/introducing-spin-v3)
- Points: 10
- Comments: 1

## Summary

Spin 3.0은 서버리스 WebAssembly 애플리케이션을 구축, 배포 및 실행할 수 있는 오픈 소스 도구로, WebAssembly Component Model을 통해 다양한 프로그래밍 언어 간의 상호 운용성을 제공하며, Rust로 작성된 라이브러리를 JavaScript 애플리케이션에서 의존성으로 사용할 수 있습니다. WASI API와의 깊은 통합을 통해 커뮤니티의 요구를 충족시키고, OpenTelemetry 통합을 통해 관측 가능성을 지원하여 다양한 도구와의 통합을 용이하게 합니다. Spin Factors를 통한 런타임 리팩터링으로 모듈성을 강화하고, 선택적 배포 기능을 통해 특정 요구 사항을 충족하는 컴포넌트를 실행할 수 있는 유연성을 제공합니다.

## Topic Body

- Spin은 서버리스 WebAssembly(Wasm) 애플리케이션을 어디서나 구축, 배포 및 실행할 수 있는 오픈 소스 개발 도구  
- 작은 크기의 이식 가능한 바이너리, 낮은 시작 지연 시간, 높은 처리량을 제공하여 다양한 환경에서 애플리케이션을 실행할 수 있는 장점이 있음  
### Spin 3.0 하이라이트   
- Wasm의 경량성과 빠른 시작 시간, 안전성 덕분에 서버 측 사용 사례에 적합하며, 컨테이너가 느리거나 큰 경우, 샌드박싱이 필수적인 경우, 서버리스 사용 사례에 유리  
- WebAssembly Component Model은 다양한 프로그래밍 언어 간의 상호 운용성을 표준화하여 개발자에게 더 많은 가능성을 제공  
- 컴포넌트 의존성 - 다중 언어 프로그래밍의 용이함  
  - Spin 3.0은 Rust로 작성된 라이브러리를 JavaScript 애플리케이션에서 의존성으로 사용하는 등의 개발 워크플로우를 도입함.  
  - OCI 레지스트리에서 컴포넌트를 저장, 검색, 가져올 수 있어 npm/NuGet/crates.io와 같은 경험을 제공함.  
- 선택적 배포 - 하나로 빌드하고 선택적으로 배포  
  - Spin 애플리케이션의 일부 컴포넌트를 로컬 또는 SpinKube를 통해 실행할 수 있음.  
  - `spin up --component-id` 플래그를 사용하여 실행할 컴포넌트를 지정할 수 있으며, 플랫폼 엔지니어가 특정 요구 사항을 충족하는 노드에서 선택적으로 컴포넌트를 실행할 수 있는 새로운 시나리오를 제공함.  
- WASI 표준과의 깊은 통합  
  - Spin 프로젝트는 WASI API에 기여하고 이를 Spin에 통합하여 커뮤니티의 요구를 충족하고자 함.  
  - WASI Key-Value 및 WASI Config API가 Spin에서 공식적으로 지원됨.  
- OpenTelemetry(OTel) 통합 - 관측 가능성 포함  
  - Spin 3.0은 OpenTelemetry(OTel) 관측 가능성을 공식적으로 지원하여 Grafana, Jaegar, Prometheus와 같은 도구와 통합할 수 있음.  
  - `spin otel` 플러그인을 통해 관측 가능성 스택 설정이 용이함.  
- Spin Factors - 주요 런타임 리팩터링  
  - Spin의 내부 구조를 Spin Factors라는 기능으로 대대적으로 리팩터링하여 모듈성을 강화함.  
  - Spin 런타임을 확장하는 것이 더 쉬워졌으며, 프로젝트를 포크해야 하지만 가능함.  
- 데모 - Spin 3.0 활용  
  - Spin 3.0의 컴포넌트 의존성 기능을 활용하여 Rust로 이미지 변환 컴포넌트를 구축하고, 이를 JavaScript/TypeScript 컴포넌트에서 의존성으로 사용하는 예시를 제공함.  
  - `spin deps` 플러그인을 사용하여 OCI 레지스트리에 컴포넌트를 게시하고, 다른 언어로 작성된 Wasm 컴포넌트에서 이를 소비할 수 있음.  
- 생태계 현황  
  - 여러 CLI 플러그인과 트리거 플러그인이 등장하고 있으며, SpinKube 프로젝트의 새로운 릴리스도 있음.  
  - 선택적 배포를 포함한 새로운 기능이 추가됨.

## Comments



### Comment 31328

- Author: ragingwind
- Created: 2024-11-15T18:21:31+09:00
- Points: 1

OTel 은 이제 기본 인듯
