並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 16 件 / 16件

新着順 人気順

wasiの検索結果1 - 16 件 / 16件

  • Linuxコンテナの「次」としてのWebAssembly、の解説

    はじめに WASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。 2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopのWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(Azure Kubernetes Service)でもWASMにpreview対応しています。WASM Buildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。 WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている

      Linuxコンテナの「次」としてのWebAssembly、の解説
    • コンテナ技術を捨て、 WASIを試す

      こんにちは、NTTの藤田です。 Dockerfileを書くのに疲れた?イメージサイズの縮小で1日が終わった?コンテナの起動が遅すぎる?コンテナ技術と悪戦苦闘する皆様のための新技術、アーキテクチャに依存しないポータブルなバイナリフォーマットと数十μsで起動するsandbox環境を実現する、WebAssembly System Interface(WASI)を試してみました。 WebAssembly System InterfaceとはWASIは、 WebAssembly(WASM)をウェブブラウザ以外の環境で実行するため、 ホストのファイルやネットワークなどの資源に安全にアクセスさせるための仕様です。 具体的には、POSIXに似たAPIが定義されており、WASMのバイナリが、OSが管理する資源にアクセスできるようになります。 WASMは、ネイティブコードなみの速度で動作する、ポータブルなバイ

        コンテナ技術を捨て、 WASIを試す
      • Fastly CTOに聞く、同社がWebAssembly実行環境の「Lucet」をエッジコンピューティング環境として開発している理由とは?

        Fastly CTOに聞く、同社がWebAssembly実行環境の「Lucet」をエッジコンピューティング環境として開発している理由とは? CDNプロバイダとして知られるFastlyは先月(4月1日)、WebAssemblyのコンパイラとランタイムで構成される「Lucet」をオープンソースで公開。同社のエッジコンピューティング環境として開発を進めていることを明らかにしました。 WebAssemblyが50マイクロ秒以下で起動する「Lucet」。コンパイラとランタイムをFastlyがオープンソースで公開 WebAssemblyは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットです。 FastlyはこれをCDNのエッジにあるサーバ上で動作するように移植し、しかも50マイクロ秒(1マイクロ秒は100万分の1秒)以下でWebAssemblyモジュールが起動し

          Fastly CTOに聞く、同社がWebAssembly実行環境の「Lucet」をエッジコンピューティング環境として開発している理由とは?
        • WebAssemblyが50マイクロ秒以下で起動する「Lucet」。コンパイラとランタイムをFastlyがオープンソースで公開

          WebAssemblyが50マイクロ秒以下で起動する「Lucet」。コンパイラとランタイムをFastlyがオープンソースで公開 WebAssemblyとは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットです。 マイクロソフト、Google、Mozilla、AppleなどのWebブラウザベンダがW3CのWebAssembly Community Groupなどを通じて共同で開発に取り組んでおり、すでに主要ブラウザで実行環境が整っています。 Lucetは50マイクロ秒でWebAssemblyモジュールが起動 LucetはこのWebAssemblyをWebブラウザではなく、Fastlyのエッジクラウドで高速かつ安全に実行する目的で開発されたもの。 しかも50マイクロ秒(1マイクロ秒は100万分の1秒)以下でWebAssemblyモジュールが起動し、メモリオ

            WebAssemblyが50マイクロ秒以下で起動する「Lucet」。コンパイラとランタイムをFastlyがオープンソースで公開
          • WebAssemblyが目指していること。ナノプロセスモデルの実現、システムインターフェイス、実行時リンクの実装など

            WebAssemblyが目指していること。ナノプロセスモデルの実現、システムインターフェイス、実行時リンクの実装など Webブラウザ上でネイティブコードのように高速に実行できるバイナリフォーマット「WebAssembly」は、すでにChromeやFirefox、Edge、Safariなどの主要ブラウザでサポートされ、2019年12月にはW3Cの勧告にも到達しました。 参考:WebAssemblyがW3Cの勧告に到達。「WebAssembly Core Specification 」「WebAssembly Web API」「WebAssembly JavaScript Interface 」の3つ このWebAssemblyをWebブラウザだけでなく、デスクトップPCやサーバ、IoTデバイスなどのあらゆる環境でセキュアに実行できるように、エコシステムの実現を推進しているのが、Mozilla

              WebAssemblyが目指していること。ナノプロセスモデルの実現、システムインターフェイス、実行時リンクの実装など
            • Docker DesktopがWebAssemblyランタイムを統合。コンテナと同様にWebAssemblyイメージを実行可能に

              Docker DesktopがWebAssemblyランタイムを統合。コンテナと同様にWebAssemblyイメージを実行可能に Docker Desktopを提供するDocker社は、Docker DesktopにWebAssemblyランタイムを統合することによる、Docker DesktopのWebAssembly対応版のテクニカルプレビューを発表しました。 またDocker社はこれに合わせて、WebAssemblyをあらゆるプラットフォームでセキュアに実行できるようにするための仕様策定と実装を進めている団体「Bytecode Alliance」への加盟も発表しました。 DockerにWASMランタイムのWasmEdgeを統合 下記の図がDocker DesktopにWebAssemblyを統合した仕組みを示しています。 左側と中央は通常のDockerコンテナを利用する場合の仕組みで

                Docker DesktopがWebAssemblyランタイムを統合。コンテナと同様にWebAssemblyイメージを実行可能に
              • Lucet Takes WebAssembly Beyond the Browser | Fastly

                Lucet Takes WebAssembly Beyond the Browser | FastlyToday, we are thrilled to announce the open sourcing of Lucet, Fastly’s native WebAssembly compiler and runtime. WebAssembly is a technology created to enable web browsers to safely execute programs at near-native speeds. It has been shipping in the four major browsers since early 2017. Lucet is designed to take WebAssembly beyond the browser, and

                  Lucet Takes WebAssembly Beyond the Browser | Fastly
                • RubyがWebAssemblyのWASI対応へ前進。ブラウザでもサーバでもエッジでもどこでもWebAssembly版Rubyが動くように

                  RubyがWebAssemblyのWASI対応へ前進。ブラウザでもサーバでもエッジでもどこでもWebAssembly版Rubyが動くように Ruby言語のリファレンス実装、すなわち事実上の標準となっているRubyインタプリタはC言語で実装されています。そのため、このRubyインタプリタもしくはそのソースコードは一般に「CRuby」(もしくは、まつもとゆきひろ氏による実装という意味でMRI:Matz' Ruby Implementation)と呼ばれています。 CRubyのソースコードをコンパイルすることで、Windows対応Rubyインタプリタのバイナリ形式やLinux対応Rubyインタプリタのバイナリ形式などが生成されるわけです。 今年、2022年1月7日、このCRubyのソースコードに対する要望チケット「Proposal to merge WASI based WebAssembly

                    RubyがWebAssemblyのWASI対応へ前進。ブラウザでもサーバでもエッジでもどこでもWebAssembly版Rubyが動くように
                  • WebAssembly は次世代のコンテナ技術になれるか?

                    色々あって WebAssembly の component model を調べていたら、未来が見えた気がしたのでここに書いておきます。 「今の WebAssembly」 とは何か WebAssembly の Web の部分は忘れてください。これは単に JVM version 20xx です。ポータブルなバイナリ仕様です。 実行にあたっては今はホスト言語として JS が使われていますが、実際にはホストがJSである必要すらなく、なんならホストが不要なスタンドアロン環境すらあります。(wasmtime/wasmer) じゃあ WebAssembly は何かというと、サンドボックスで実行される VM の仕様です。比較的高水準なバイナリで、 V8 や Spider Monkey に付属する WebAssembly Runtime や、 Wasmtime や Wasmer といった WebAssemb

                      WebAssembly は次世代のコンテナ技術になれるか?
                    • WebAssemblyに対してクラウドサービスを抽象化、そのままAWSでもAzureでもGoogle Cloudでも実行可能にする「SpiderLightning」、Deis Labsが公開、標準化も推進

                      WebAssemblyに対してクラウドサービスを抽象化、そのままAWSでもAzureでもGoogle Cloudでも実行可能にする「SpiderLightning」、Deis Labsが公開、標準化も推進 WebAssemblyには、ファイルI/OやネットワークアクセスなどのOSが備える基本的な機能を抽象化するWASI(WebAssembly System Interface)と呼ばれる業界標準仕様があります。WASIに準拠して生成されたWebAssemblyバイナリはWindows、Linux、macOSなどのOSに依存せず、どのOS環境でもそのまま実行可能です。 参考:WebAssemblyをWebブラウザ以外の実行環境へ。システムインターフェイスへのアクセスを可能にする「WASI」の策定開始。Mozillaが呼びかけNode.jsらが賛同 WebAssemblyに対してパブリッククラ

                        WebAssemblyに対してクラウドサービスを抽象化、そのままAWSでもAzureでもGoogle Cloudでも実行可能にする「SpiderLightning」、Deis Labsが公開、標準化も推進
                      • WebAssemblyをWebブラウザ以外の実行環境へ。システムインターフェイスへのアクセスを可能にする「WASI」の策定開始。Mozillaが呼びかけNode.jsらが賛同

                        WebAssemblyをWebブラウザ以外の実行環境へ。システムインターフェイスへのアクセスを可能にする「WASI」の策定開始。Mozillaが呼びかけNode.jsらが賛同 Mozillaは、WebAssemblyにファイルやネットワーク、メモリなどのシステムリソースへ安全にアクセス可能にするAPIの標準仕様「WASI」(WebAssembly System Interface:動画では「ワズィ」と発音しているように聞こえます)の策定を開始したと発表しました。 WebAssemblyはもともと、Webブラウザ上でネイティブコード並の実行速度でアプリケーションを実行することを目的に策定されたバイナリフォーマットです。しかしFastlyの「Lucet」やCloudflareの「Cloudflare Workers」のように、WebAssemblyをポータブルなバイナリフォーマットとして、We

                          WebAssemblyをWebブラウザ以外の実行環境へ。システムインターフェイスへのアクセスを可能にする「WASI」の策定開始。Mozillaが呼びかけNode.jsらが賛同
                        • WebAssemblyをあらゆるプラットフォームでセキュアに実行できるようにする「Bytecode Alliance」発足。インテル、Mozilla、Red Hatなど

                          WebAssemblyをあらゆるプラットフォームでセキュアに実行できるようにする「Bytecode Alliance」発足。インテル、Mozilla、Red Hatなど WebAssemblyは、Webブラウザ上でネイティブコードのように高速に実行できるバイナリフォーマットして策定された標準仕様で、すでにChromeやFirefox、Edge、Safariなどの主要ブラウザでサポートが実現されています。 このWebAssemblyをWebブラウザだけでなく、デスクトップPCやサーバ、IoTデバイスなどあらゆる環境で、セキュアに実行することを目指した団体「Bytecode Alliance」が発足しました。 Bytecode Allianceの創立メンバーは、インテル、Mozilla、Red Hat、Fastlyの4社。 前述したように、WebAssemblyはもともと、Webブラウザで実行

                            WebAssemblyをあらゆるプラットフォームでセキュアに実行できるようにする「Bytecode Alliance」発足。インテル、Mozilla、Red Hatなど
                          • Wasmはなぜセキュアなのか?

                            Wasmはなぜセキュアなのか? 前回Wasmのバイナリを読んでみたが、実行時にどのようにセキュアに実行しているのか気になったので調べてみた。 とりあえず今回も公式ドキュメントを見ながら整理しつつ、実際のコードも無理なく辿れそうなところはwasmerの実装を参考に見ていきたいと思う。 Wasmの目指すセキュリティ とりあえず公式の記載を脳死で読解していく。 The security model of WebAssembly has two important goals: (1) protect users from buggy or malicious modules, and (2) provide developers with useful primitives and mitigations for developing safe applications, within the

                              Wasmはなぜセキュアなのか?
                            • RustでWasm Runtimeを実装する

                              Rustで"Hello World"を出力できる小さなWasm Runtimeをゼロから実装して、WasmとWASIの動作原理を理解する本です。

                                RustでWasm Runtimeを実装する
                              • WebAssemblyの現状と展望 ~言語ツールチェインからWASIまで~

                                Infra Study 2nd #4「セキュリティエンジニアリングの世界」 https://forkwell.connpass.com/event/219136/

                                  WebAssemblyの現状と展望 ~言語ツールチェインからWASIまで~
                                • WebAssemblyをPOSIX対応に拡張した「WASIX」登場、bashやcurl、WebサーバなどLinuxアプリが実装可能に。Wasmerが発表

                                  WebAssemblyをPOSIX対応に拡張した「WASIX」登場、bashやcurl、WebサーバなどLinuxアプリが実装可能に。Wasmerが発表 WebAssemblyランタイム「Wamer」の開発元であるWasmer社は、WebAssemblyでファイルやネットワーク、メモリなどのシステムリソースを抽象化する業界標準のAPI仕様である「WASI」(WebAssembly System Interface)を拡張してPOSIX対応にする新技術「WASIX」を発表しました。 WASIとPOSIX WebAssemblyはもともと、Webブラウザ上でネイティブコード並の実行速度でアプリケーションを実行することを目的に策定されたバイナリフォーマットです。 そのWebAssemblyを、LinuxやWindows、macOSなどのOS上でWebAssemblyランタイムを用いて直接実行する

                                    WebAssemblyをPOSIX対応に拡張した「WASIX」登場、bashやcurl、WebサーバなどLinuxアプリが実装可能に。Wasmerが発表
                                  1