컨테이너를 넘어서 – Boxer 소개

21 hours ago 4

이 발표는 컨테이너를 넘어 WASM(WebAssembly)의 새로운 가능성을 제시하는 Boxer 프로젝트를 소개합니다. Boxer는 dockerfile을 이용하여 WASM 바이너리를 생성하고, marquott라는 lib c를 통해 posix 호환성을 제공하며, 이를 통해 네이티브 코드와 유사한 환경을 WASM 내에서 구현하는 것을 목표로 합니다. 궁극적으로 Boxer는 더 안전하고 빠르며, 유비쿼터스한 배포 가능한 컴퓨팅 환경을 구축하여 ai 시대에 신뢰할 수 있는 실행 환경을 제공하고자 합니다.

  1. 발표자 소개

    발표자는 Dan Phillips로, Loophole Labs에서 일함.

    주로 Architect.Run이라는 제품을 개발하고 있으며, 이는 VM을 다운타임 없이 마이그레이션할 수 있는 방법을 제공함.

  2. 컨테이너의 인기 이유

    사람들이 컨테이너를 좋아하는 이유는 여러 가지가 있지만, 가장 중요한 이유는 클라우드 네이티브의 기본 단위로 인식되기 때문임.

    컨테이너는 작동할 때 매우 간단하게 사용할 수 있으며, 사용자는 런타임의 구현 방식에 대해 알 필요가 없음.

    많은 개발자들은 컨테이너를 미니 VM으로 생각하며, SSH로 접속해 사용함.

  3. Docker의 발전

    docker 이전에도 컨테이너는 존재했지만, docker는 개발자 경험을 개선하여 컨테이너 사용을 쉽게 만들어줌.

    docker는 다양한 런타임에 대한 추상화를 제공하여, 개발자들이 복잡한 세부 사항을 신경 쓰지 않고도 사용할 수 있게 함.

  4. WASM과 Scale

    Loophole Labs는 지난 2년간 Scale이라는 제품을 통해 WASM을 실제로 사용해왔음.

    Scale은 Rust, Go, TypeScript를 지원하는 오픈 소스 플러그인 프레임워크임.

    개발자들이 시스템 코드를 다시 작성하는 것을 원하지 않으며, 간단한 개발 경험을 선호함.

  5. Boxer 프로젝트 소개

    Boxer 프로젝트는 네이티브 코드의 호환성과 WASM의 이점을 결합하려는 시도임.

    기존의 컨테이너는 복잡한 시스템 기능을 포함하지만, Boxer는 필요한 것만 선택하여 추가하는 방식을 취함.

  6. Marquott와 POSIX

    marquott는 Boxer의 하위 프로젝트로, posix 사양을 구현하는 것을 목표로 함.

    현재 60% 정도의 posix 기능이 구현되었으며, 프로세스 및 스레드 관리와 같은 기능은 아직 미비함.

  7. 파일 시스템과 VFS

    각 모듈 및 프로세스에 대해 파일 시스템이 필요하며, marquott는 Rust 기반의 가상 파일 시스템(VFS)을 사용함.

    가상 파일 시스템은 대부분의 Unix 시스템에서 사용되는 추상화와 유사함.

  8. Boxer의 기능

    Boxer는 docker 파일을 입력받아 WASM 바이너리와 호스트 플러그인 기능을 생성함.

    marquott는 가상화된 파일 시스템과 시스템 코드 레이어를 포함하여, 다양한 런타임을 지원함.

  9. 데모 및 활용 사례

    docker 파일을 사용하여 WASM 바이너리를 생성하고, 이를 로컬 머신, 서버, 브라우저에서 실행할 수 있는 방법을 시연함.

    동일한 코드를 다양한 환경에서 실행할 수 있는 가능성을 강조함.

  10. 미래의 가능성

    WASM은 작고 안전하며 빠른 코드 실행을 가능하게 하여, 다양한 환경에서 활용될 수 있음.

    많은 유휴 컴퓨팅 자원을 활용할 수 있는 기회를 제공함.

  11. 질문 및 답변

    발표 후 질문을 받고, C 프로그램을 WASM으로 변환하는 방법, 보안 수준, 복잡한 기능 구현 등에 대한 질문에 답변함.

Read Entire Article