2019.11.15

'바이트코드 얼라이언스' 출범··· "웹어셈블리를 브라우저 밖으로"

Paul Krill | InfoWorld
업계가 '브라우저를 벗어난 웹어셈블리(WebAssembly)'라는 개념을 실현하기 위해 손을 맞잡았다. 최근 새로 만들어진 한 업계 그룹은 이를 위한 표준을 적용하는데 협력하는 한편 오픈소스 포터블 바이트코드 포맷용 대안을 제안할 예정이다.



이 파트너십의 이름은 바이트코드 얼라이언스(Bytecode Alliance)다. 모질라와 레드햇, 인텔, 페스트리(Fastly)가 창립 멤버로 참여했다. 웹어셈블리는 본래 브라우저에서 작동하는 바이너리 포맷이다. 웹 애플리케이션을 준 네이티브 성능으로 실행할 수 있다. 자바스크립트 외에 다른 언어를 사용해 개발할 수 있는 것도 장점이다.

웹어셈블리의 또 다른 장점은 실행 중인 신뢰할 수 없는 코드를 격리하는 기능이다. 각 웹어셈블리 모듈은 기본적으로 샌드박스로 실행된다. 바이트코드 얼라이언스는 이러한 보안 측면의 장점을 확장해 서버와 클라우드 데스크톱은 물론 IoT 기기 등 모든 플랫폼에서 신뢰할 수 없는 코드를 사용해도 안전할 수 있도록 지원한다는 구상이다.

바이트코드 얼라이언스의 또 다른 목표는 마이크로서비스를 컨테이너와 비슷한 나노프로세스(nanoprocesses)로 대체하는 것이다. 나노프로세스는 무겁지 않게 마이크로서비스의 이식성을 구현하고 동시에 언어 간 상호운용성까지 지원한다. 이런 특성을 이용하면 대규모 모듈 애플리케이션을 개발하는 것도 가능하다.

이밖에 바이트코드 얼라이언스 참여 기업은 다음과 같은 여러 프로젝트에서 협업하고 있다.

- Wasmtime을 포함한 런타임. CLI 툴에서 사용하거나 혹은 다른 시스템에 임베디드해 쓸 수 있는 독립형 웹어셈블리 런타임이다. 이밖에 CDN용 런타임 러시트(Lucet)도 개발하고 있다. Wasmtime과 함께 작동하도록 재설계됐다. 또한 도켓(docket)에서 실행되는 리소스가 제한된 임베디드 기기용 웹어셈블리 마이크로 런타임도 있다.
- 크레인리프트(Cranelift)를 포함한 런타임 컴포넌트. 머신 코드에 최적화된 코드 제너레이터와 웹어셈블리 시스템 인터페이스의 독립 구현인 WASI 커몬을 런타임에서 사용할 수 있다.
- cargo-wasi를 포함한 언어 툴. 브라우저 밖에서도 사용할 수 있도록 러스트(Rust) 코드를 웹어셈블리와 웹어셈블리 시스템 인터페이스에 맞춰 컴파일한 경량화된 카고(Cargo) 서브커멘드다.

바이트코드 얼라이언스는 공헌자와 업계 참여를 환영한다. 관심이 있는 개인 혹은 기업은 hello@bytecodealliance.org에 문의하면 된다. ciokr@idg.co.kr


2019.11.15

'바이트코드 얼라이언스' 출범··· "웹어셈블리를 브라우저 밖으로"

Paul Krill | InfoWorld
업계가 '브라우저를 벗어난 웹어셈블리(WebAssembly)'라는 개념을 실현하기 위해 손을 맞잡았다. 최근 새로 만들어진 한 업계 그룹은 이를 위한 표준을 적용하는데 협력하는 한편 오픈소스 포터블 바이트코드 포맷용 대안을 제안할 예정이다.



이 파트너십의 이름은 바이트코드 얼라이언스(Bytecode Alliance)다. 모질라와 레드햇, 인텔, 페스트리(Fastly)가 창립 멤버로 참여했다. 웹어셈블리는 본래 브라우저에서 작동하는 바이너리 포맷이다. 웹 애플리케이션을 준 네이티브 성능으로 실행할 수 있다. 자바스크립트 외에 다른 언어를 사용해 개발할 수 있는 것도 장점이다.

웹어셈블리의 또 다른 장점은 실행 중인 신뢰할 수 없는 코드를 격리하는 기능이다. 각 웹어셈블리 모듈은 기본적으로 샌드박스로 실행된다. 바이트코드 얼라이언스는 이러한 보안 측면의 장점을 확장해 서버와 클라우드 데스크톱은 물론 IoT 기기 등 모든 플랫폼에서 신뢰할 수 없는 코드를 사용해도 안전할 수 있도록 지원한다는 구상이다.

바이트코드 얼라이언스의 또 다른 목표는 마이크로서비스를 컨테이너와 비슷한 나노프로세스(nanoprocesses)로 대체하는 것이다. 나노프로세스는 무겁지 않게 마이크로서비스의 이식성을 구현하고 동시에 언어 간 상호운용성까지 지원한다. 이런 특성을 이용하면 대규모 모듈 애플리케이션을 개발하는 것도 가능하다.

이밖에 바이트코드 얼라이언스 참여 기업은 다음과 같은 여러 프로젝트에서 협업하고 있다.

- Wasmtime을 포함한 런타임. CLI 툴에서 사용하거나 혹은 다른 시스템에 임베디드해 쓸 수 있는 독립형 웹어셈블리 런타임이다. 이밖에 CDN용 런타임 러시트(Lucet)도 개발하고 있다. Wasmtime과 함께 작동하도록 재설계됐다. 또한 도켓(docket)에서 실행되는 리소스가 제한된 임베디드 기기용 웹어셈블리 마이크로 런타임도 있다.
- 크레인리프트(Cranelift)를 포함한 런타임 컴포넌트. 머신 코드에 최적화된 코드 제너레이터와 웹어셈블리 시스템 인터페이스의 독립 구현인 WASI 커몬을 런타임에서 사용할 수 있다.
- cargo-wasi를 포함한 언어 툴. 브라우저 밖에서도 사용할 수 있도록 러스트(Rust) 코드를 웹어셈블리와 웹어셈블리 시스템 인터페이스에 맞춰 컴파일한 경량화된 카고(Cargo) 서브커멘드다.

바이트코드 얼라이언스는 공헌자와 업계 참여를 환영한다. 관심이 있는 개인 혹은 기업은 hello@bytecodealliance.org에 문의하면 된다. ciokr@idg.co.kr


X