WebAssembly는 브라우저 밖에서도 실용적일까?

F5 에코시스템 | 2024년 11월 26일

간단히 말하면, 그렇습니다.

WebAssembly(Wasm)는 웹 개발에 돌풍을 일으키며 핵심 기술로 부상했습니다. 인기 게임 Doom과 같은 초기 기술 데모가 브라우저에서 완전히 실행되는 것부터 Photoshop과 같은 대규모 레거시 앱이 일반 웹페이지에서 완전한 데스크톱 수준의 경험을 제공하는 것에 이르기까지, WebAssembly는 전 세계 모든 개인용 컴퓨터에 이미 설치된 익숙한 프로그램에서 완전히 새로운 경험을 선사합니다.

Wasm은 사용자의 컴퓨터에 어떤 종류의 프로세서가 탑재되어 있든 거의 모든 프로그래밍 언어에서 지원할 수 있도록 설계되었으며, 브라우저가 사용자의 데이터나 시스템 리소스에 대한 무단 접근을 방지하는 데 활용하는 여러 가지 뛰어난 보안 특성을 갖추고 있습니다. 이러한 특성은 브라우저 외부에서도 매우 유용하며, 특히 코드를 격리된 환경에서 실행하거나 이식성이 매우 뛰어난 코드를 실행하려는 경우에 유용합니다.

Unix에서의 POSIX 이야기

WebAssembly는 기본적으로 실행 중인 시스템의 어떤 리소스에도 접근할 수 없습니다. 오직 0과 1을 조작할 뿐이기 때문에, 지금까지 Wasm은 본격적인 앱 개발보다는 동영상 디코딩이나 이미지 처리처럼 연산량이 많은 작업에 주로 사용되어 왔습니다. WebAssembly 샌드박스에서 현재 시간 정보나 파일에 저장된 데이터 같은 외부 기능에 접근하도록 하는 것은 비교적 쉽지만, 정확히 어떤 API를 사용하는지는 앱마다 다른 경우가 많습니다.

Unix 시스템도 브라우저 외부에서 WebAssembly에 일어나고 있는 것과 비슷한 상황을 겪었습니다. 많은 앱이 네트워크나 파일 시스템 같은 공통 시스템 리소스에 접근하고자 했지만, 운영 체제마다 이를 처리하는 방식이 조금씩 달랐습니다. 이러한 이유로 POSIX가 표준 이식형 운영 체제 인터페이스로 등장했습니다. 모든 Unix 계열 시스템이 이 인터페이스를 채택해 프로그램이 운영 체제와 통신하는 방식을 표준화할 수 있었습니다. 덕분에 한 Unix 계열 시스템에서 작동하도록 설계된 프로그램을 다른 시스템에서도 작동하도록 쉽게 이식할 수 있게 되었습니다.

WebAssembly 시스템 인터페이스, WASI의 등장

WebAssembly 프로그램이 운영 체제와 통신할 수 있는 표준 방식을 제공하기 위해 WebAssembly System Interface인 WASI가 탄생했습니다. WASI는 POSIX에서 영감을 받은 CloudABI라는 프로젝트에서 많은 영감을 얻었습니다. 이로써 WebAssembly가 브라우저 밖에서도 빛을 발할 수 있는 무한한 가능성이 열렸습니다. 이제 사용자는 WebAssembly의 모든 보안 및 샌드박싱 특성을 유지하면서도, 샌드박싱을 완전히 포기하지 않고 일반적인 시스템 리소스에 접근할 수 있도록 세심하게 설계된 API를 활용할 수 있게 되었습니다. 자연스럽게 이와 유사한 기술 하나가 떠오릅니다. 바로 컨테이너입니다. 이 주제를 논할 때 Docker 공동 창립자 Solomon Hykes가 WASI에 관해 남긴, 널리 공유되며 깊은 울림을 준 다음 게시물을 언급하지 않을 수 없습니다:

Solomon Hykes의 트윗

상당히 대담한 발언입니다. WebAssembly는 어떤 플랫폼에서든 네이티브에 가까운 속도로 안전하게 실행할 수 있도록 코드를 이식 가능한 형태로 패키징하는 방법을 제공합니다. 또한 컨테이너와 달리 운영 체제가 전혀 필요하지 않다는 장점도 있습니다. 개발자가 만드는 대부분의 컨테이너에는 프로그램이 실행되는 일종의 Linux 운영 체제가 포함되어 있어, 컨테이너 크기가 수백 메가바이트에서 수 기가바이트에 이르는 경우가 많습니다. 반면 WebAssembly 바이너리는 순수한 코드로만 이루어져 있으며, 크기도 대개 수 킬로바이트에서 한 자릿수 메가바이트에 불과합니다. 개발자들이 어디서나 컨테이너를 배포하는 대신 WebAssembly를 배포하는 세상을 상상하면 터무니없게 느껴질 수도 있지만, Kubernetes에서 Wasm을 실행하기 위한 여러 프로젝트가 활발히 개발되면서 이러한 현실은 이미 구체화되고 있습니다.

프로덕션 환경의 서버 측 WebAssembly

이미 여러 기업이 프로덕션 환경에서 서버 측 Wasm의 이점을 누리고 있습니다. Cloudflare와 Fastly는 모두 고객이 전 세계 어디서나 사용자와 최대한 가까운 곳에 코드를 배포할 수 있도록 대규모 엣지 컴퓨팅 네트워크를 운영합니다. 두 회사는 빠른 시작 시간과 안정적인 멀티테넌시를 제공하는 작고 이식성이 매우 뛰어난 바이너리를 구현하기 위해 전략적으로 WebAssembly를 선택했습니다. 신생 기업 Cosmonic은 정교한 네트워킹 기술을 활용해 WebAssembly 컴포넌트가 어디에서 실행되든 서로 원활하게 통신할 수 있도록 합니다. 손바닥 위의 작은 기기에서 실행되든 지구 반대편의 컴퓨터에서 실행되든 상관없습니다. 또 다른 신생 기업 Fermyon은 WebAssembly를 활용해 서버 워크로드 밀도를 대폭 높입니다. 그 결과 서버 비용이 크게 절감되고 지구를 위한 더욱 친환경적인 컴퓨팅이 가능해집니다.

브라우저 밖에서의 성장

요약하자면, WebAssembly는 처음에는 브라우저 내 컴퓨팅을 위해 개발되었지만 브라우저 밖에서도 높은 활용 가능성을 꾸준히 보여 왔습니다. 다양한 프로그래밍 언어를 지원하고 보안을 중시하는 설계 덕분에 코드를 격리된 환경에서 실행하고 이식성을 확보하는 데 탁월한 선택입니다. WASI의 도입으로 서버 측 WebAssembly가 크게 성장했으며, 조직은 Wasm을 활용해 훨씬 높은 비용 효율성으로 더 나은 제품을 제공할 수 있게 되었습니다. 브라우저 밖에서 WebAssembly가 지닌 잠재력은 단순한 아이디어에 그치지 않고 업계에서 점차 현실로 자리 잡고 있습니다.

자세한 내용은 이전 블로그 게시물인 “WebAssembly에 주목해야 하는 이유”를 참조하세요.

또한 ‘WebAssembly Unleashed’ 팟캐스트를 시청하거나 들어보세요.

공유

관련 블로그 게시물

AI 시대의 새로운 애플리케이션 제공 원칙으로 복잡성 극복하기
F5 에코시스템 | 2025. 02. 20.

AI 시대의 새로운 애플리케이션 제공 원칙으로 복잡성 극복하기

보안, 일관성, 완전 자동화에 중점을 둔 애플리케이션 제공의 새로운 6가지 원칙을 도입하여 복잡성 없이 하이브리드 멀티클라우드의 유연성을 누리세요.

디지털 혁신을 가속화하는 6가지 기술 역량
F5 에코시스템 | 2023. 01. 05.

디지털 혁신을 가속화하는 6가지 기술 역량

오늘날의 엔터프라이즈 아키텍처에는 기술 변화를 주도하는 데 핵심적인 민첩성, 확장성, 보안 및 관찰 가능성이 부족하지만, 이 여섯 가지 핵심 역량은 기업이 디지털 혁신 전반에 걸쳐 위험과 과제를 관리하는 데 도움이 될 것입니다.

하이브리드 근무가 ID 중심 보안으로의 전환을 이끌고 있습니다
F5 에코시스템 | 2021. 08. 16.

하이브리드 근무가 ID 중심 보안으로의 전환을 이끌고 있습니다

자동화와 디지털화의 폭발적인 성장에 하이브리드 근무 모델로의 전환 추세가 더해지면서, IP 기반 보안에서 벗어나 ID 기반 액세스 전략으로 전환하는 움직임이 더욱 가속화될 것입니다.

관점의 현대화: 애플리케이션에서 경험으로
F5 에코시스템 | 2021. 04. 05.

관점의 현대화: 애플리케이션에서 경험으로

그리스와 로마의 신들처럼, 여러 신화에서도 동일한 존재가 다양한 모습으로 나타나는 것을 볼 수 있습니다. 본질적으로 각각의 화신은 기존 존재가 새로운 얼굴로 드러난 것입니다. 디지털 세계에서도 이와 비슷한 양상이 나타납니다. 우리가 ‘애플리케이션’이라고 부르는 것들은 흔히 기존 기능이 새로운 형태로 구현된 것이라 볼 수 있습니다.

코로나19 이후 기업 결제의 디지털 전환
F5 에코시스템 | 2020. 06. 01.

코로나19 이후 기업 결제의 디지털 전환

디지털 결제는 과거의 현금만큼이나 보편화되었습니다. 코로나19 팬데믹으로 인한 봉쇄 조치는 소비자의 디지털 결제 서비스 의존도를 더욱 빠르게 높였습니다. 기업의 디지털 결제 도입 역시 가속화되었습니다. 대중을 상대로 영업하든 하지 않든 기업에는 여전히 지급해야 할 대금과 받아야 할 대금이 있기 때문입니다.

공급망 해킹과 보안에서 하드웨어의 역할
F5 에코시스템 | 2018. 10. 08.

공급망 해킹과 보안에서 하드웨어의 역할

수석 아키텍트 Dave Schmitt와 CTO 오피스가 최근 Bloomberg의 Super Micro 관련 기사를 계기로 하드웨어 보안 전문성의 중요성을 되짚어봅니다. 또한 이 글에서는 시스템이 안전하게 보호되고 있는지 확인하기 위해 공급업체에 물어봐야 할 질문도 소개합니다.