이 파트너십의 이름은 바이트코드 얼라이언스(Bytecode Alliance)다. 모질라와 레드햇, 인텔, 페스트리(Fastly)가 창립 멤버로 참여했다. 웹어셈블리는 본래 브라우저에서 작동하는 바이너리 포맷이다. 웹 애플리케이션을 준 네이티브 성능으로 실행할 수 있다. 자바스크립트 외에 다른 언어를 사용해 개발할 수 있는 것도 장점이다.
웹어셈블리의 또 다른 장점은 실행 중인 신뢰할 수 없는 코드를 격리하는 기능이다. 각 웹어셈블리 모듈은 기본적으로 샌드박스로 실행된다. 바이트코드 얼라이언스는 이러한 보안 측면의 장점을 확장해 서버와 클라우드 데스크톱은 물론 IoT 기기 등 모든 플랫폼에서 신뢰할 수 없는 코드를 사용해도 안전할 수 있도록 지원한다는 구상이다.
바이트코드 얼라이언스의 또 다른 목표는 마이크로서비스를 컨테이너와 비슷한 나노프로세스(nanoprocesses)로 대체하는 것이다. 나노프로세스는 무겁지 않게 마이크로서비스의 이식성을 구현하고 동시에 언어 간 상호운용성까지 지원한다. 이런 특성을 이용하면 대규모 모듈 애플리케이션을 개발하는 것도 가능하다.
이밖에 바이트코드 얼라이언스 참여 기업은 다음과 같은 여러 프로젝트에서 협업하고 있다.
- Wasmtime을 포함한 런타임. CLI 툴에서 사용하거나 혹은 다른 시스템에 임베디드해 쓸 수 있는 독립형 웹어셈블리 런타임이다. 이밖에 CDN용 런타임 러시트(Lucet)도 개발하고 있다. Wasmtime과 함께 작동하도록 재설계됐다. 또한 도켓(docket)에서 실행되는 리소스가 제한된 임베디드 기기용 웹어셈블리 마이크로 런타임도 있다.
- 크레인리프트(Cranelift)를 포함한 런타임 컴포넌트. 머신 코드에 최적화된 코드 제너레이터와 웹어셈블리 시스템 인터페이스의 독립 구현인 WASI 커몬을 런타임에서 사용할 수 있다.
- cargo-wasi를 포함한 언어 툴. 브라우저 밖에서도 사용할 수 있도록 러스트(Rust) 코드를 웹어셈블리와 웹어셈블리 시스템 인터페이스에 맞춰 컴파일한 경량화된 카고(Cargo) 서브커멘드다.
바이트코드 얼라이언스는 공헌자와 업계 참여를 환영한다. 관심이 있는 개인 혹은 기업은 hello@bytecodealliance.org에 문의하면 된다. ciokr@idg.co.kr