$30 off During Our Annual Pro Sale. View Details »

WASMCON2023 Keynoteから見るWASMの今

kojipole
September 22, 2023

WASMCON2023 Keynoteから見るWASMの今

kojipole

September 22, 2023
Tweet

Other Decks in Programming

Transcript

  1. WASMCON2023 Keynoteから⾒るWASMの今
    NTTドコモ
    サービスイノベーション部 CCoE
    ⼭崎光司
    1

    View Slide

  2. 1. WASMCON 2023 概要
    2. WebAssemblyについてのおさらい
    3. WASI preview2のComponentモデルについて
    今⽇お話すること
    2

    View Slide

  3. • 主催: The Linux Foundation
    • 開催場所: Bellevue, Washington
    • 開催⽇時: 2023/09/06 ‒ 2023/09/07
    • 参加者数: 300 ~ 500⼈程度?
    前⾝は2021年から開催されているKubeCon内で
    のOne Dayイベンド”Cloud Native WASM DAY”
    会場がコンパクトなこともありロビーでは常に交
    流している⼈々がみられ、和やかな雰囲気
    参加者はほとんどエンジニアで、技術的な興味で
    参加している⽅が多かった印象。
    WASMCON2023概要
    3
    引⽤: https://twitter.com/linuxfoundation/status/1699442849954382015

    View Slide

  4. • 2⽇間のキーノートではWebAssemblyを取り巻く現在の状況や今後のロード
    マップ(WASI preview2など)に関連するトピックが語られた。
    • WebAssemblyを取り巻く現在の状況
    • WebAssemblyの仕組みが持つ可能性について
    • クラウドインフラ(Edge含む)とWebAssemblyの関係について
    • 具体的なユースケースについて
    WASMCON2023: Keynotes Summery
    4
    Wasmの現在について語る
    Chris Aniszczyk(CTO, Linux Foundation
    CNCF)
    MidokuraのWASM活⽤について語る
    加藤CEO, Dan CTO
    ShopifyにおけるWasmのプロダクション利⽤
    までの軌跡について

    View Slide

  5. WebAssemblyの現在地について
    • Charting a Wasm Landscape ‒ Chris Aniszczyk, Chief Technology Officer, Cloud Native Computing Foundation
    WebAssemblyの仕組みがもつ可能性について
    • WASI Standards and the Component Model: Transforming Application Development Forever - Liam Randall, Chief Executive Officer,
    Cosmonic
    • What is a Component (and Why)? - Luke Wagner, Distinguished Engineer, Fastly
    • Are We Componentized Yet? - Bailey Hayes, Engineering Director, Cosmonic
    クラウドインフラ(Edge含む)とWebAssemblyの関係について
    • WebAssembly in a Containerized World - Brendan Burns, Corporate Vice President, Azure OSS and Cloud Native, Microsoft
    • Deploy WASM on the Edge - Brendan Irvine-Broque, Product Manager, Cloudflare Workers, Cloudflare
    • How WebAssembly can Power the New Wave of Serverless AI - Radu Matei, Co-founder & Chief Technology Officer, Fermyon
    具体的な事例・ユースケースについて
    • When Wasm Meets Cyber-Physical Systems: A Discussion of WebAssembly in Real-Time, Safety-Critical Systems - Emily Ruppel, Research
    Scientist, Robert Bosch LLC
    • WEdge Project: Edge AI enabled by Wasm - Tatsuya Kato, Chief Executive Officer & Dan Mihai Dumitriu, Chief Technology Officer, Midokura
    • Wasm from the Inside Out: A Journey Through the Impact of WebAssembly in Production - Saúl Cabrera, Staff Developer, Shopify
    WASMCON2023 Keynotes List
    5

    View Slide

  6. スポンサー企業⼀覧
    6

    View Slide

  7. Session
    • 2⽇間で約50セッションが開催。
    • WASM/WASIそのものの仕様や内容に関するもの
    • Android/iOSなどのクロスプラットフォーム関連もの
    • AI, Machine Learning, LLMもの
    • OS周りでの活⽤に関するもの
    • WasmEdge, WasmCloud, Spin, Dapr, nginx unitなどのruntimeやサービスもの
    Workshop
    • スポンサー提供のworkshopが4つ開催
    • Midokura: Modernizing the Development of AI IoT Devices with WEdge
    • CNCF: High Performance Network Applications with Wasm
    • Cosmonic: From Napkin Sketch to Running Your Apps at Scale
    • Fermyon: Getting Started with Serverless WebAssembly and Spin
    ※workshopは映像アーカイブなし
    コンテンツ: Session & Workshop
    7

    View Slide

  8. WebAssemblyとは
    WebAssembly Recap
    8

    View Slide

  9. • 多様なプログラミング⾔語からコンパイルすることができ、ネイティブに近い速度で実⾏でき
    る軽量なバイナリフォーマット
    • W3Cにより標準化されており、Mozilla、Microsoft、Google、Appleなどによって開発
    • Web(ブラウザ)での利⽤を⽬的として設計されているが、現在はその範囲を超えて適⽤が進ん
    でいる
    WebAssembly(WASM)とは
    9
    Portability
    同⼀バイナリを複
    数プラットフォー
    ムで実⾏可能
    Speed
    ネイティブに近い
    実⾏速度
    Security
    サンドボックス環
    境でセキュアに実
    ⾏可能
    Language
    Agnostic
    多様な⾔語からコ
    ンパイルして
    WASMバイナリ
    を⽣成可能
    Low
    Footpirnt
    最⼩限のメモリと
    CPUリソースで
    実⾏可能

    View Slide

  10. 主にパフォーマンスとソフトウェア開発の柔
    軟性に関する利点が主に開発者を引き付ける
    理由となっている
    • より⾼速なロード時間(23%)
    • 新しいユースケースや技術を探求する機会(22%)
    • プロジェクト間でのコード共有(20%)
    • JSを上回るパフォーマンス改善(20%)
    • どこでも実⾏できるバイナリの使⽤(18%)
    • 技術が⾔語に依存しないこと(18%)
    WebAssemblyへの期待値
    10
    引⽤元: The State Of WebAssembly 2023
    ただし、実態として各項⽬に差はほとんどなく、様々な観点が
    複合されて注⽬度が⾼まっていることがわかる

    View Slide

  11. • WASMをwebブラウザ以外で動かすための標準仕様
    • WASMにホストのファイルシステムやネットワークなどのOS機能へのアクセ
    スを提供するための仕様
    • WASMと同じくW3Cで仕様の策定が進められている
    • WASIの仕様を実装したWASM Runtime上で実⾏することで、Linuxマシン上で
    の動作などが可能になる
    • 現在はWASI Preview1がメインストリームで、Preview 2の仕様策定と実装が
    Bytecode Allianceによって進められている。
    WASI(WebAssembly System Interface)とは
    11

    View Slide

  12. • WASIは, WasmEngine側でWasmバイナリが利⽤できるシステムインター
    フェースのAPIを⽤意し、実際のOS内のシステムコールはWasmEngineが⾏う。
    WASMプログラムとWASIの関係
    12
    Wasm
    Engine
    (includ
    e WASI
    API)
    OS
    clock_time_get()
    path_open()
    fd_write()
    fd_close()

    View Slide

  13. • 各種⾔語からWasmバイナリを⽣成し、ブラ
    ウザなどの環境内(正確にはStackベースの仮
    想マシン上)で実⾏される。
    • Wasmというレイヤーを加えることで、⾔語
    に依存しない(Language Agnostic)、複数の環
    境で実⾏可能(Portability)、などのメリットを
    享受できる。
    WASM/WASIのエコシステム
    13
    Browser / Wasm Engine
    引⽤: https://www.youtube.com/watch?v=tAACYA1Mwv4
    x86
    x64
    ARM32 ARM64
    RISC-V
    ...
    ...
    x86
    x64
    ARM32 ARM64
    RISC-V
    別カンファレンスではWrite Once, Run Anywhereの再来だ!
    と語っている⼈も
    The Return of Write Once, Run Anywhere by Tyler McMullen @ Wasm I/O 2023

    View Slide

  14. プラットフォーム事業者のWASI対応
    14
    Edge Functionsにて
    Wasmをサポート
    Shopify Functionsにて
    Wasmをサポート
    Nginx Unitで
    Wasmの実⾏をサポート
    Cloudflare Workersで
    Wasmをサポート
    Azure Kubernete Service
    にてWasmの実⾏をサポート
    Compute@Edgeにて
    Wasmをサポート

    View Slide

  15. ランタイム/Wasmエコシステム関連プロジェクト
    15
    スタートアップ
    CNCFプロジェクト
    Bytecode Allianceプロジェクト
    • Wasmtime
    • Cranelift
    • WAMR
    • Javy

    View Slide

  16. 「Compoment」モデルについて
    Hot Topic in WASMCON 2023
    16

    View Slide

  17. • Wasm Componentは、Wasmで書かれたプログラム同⼠を組み合わせることが
    できるように定めたIFのこと。WASI Preview2の⼤きな⽬⽟。
    • interface-type: ⼊出⼒の定義(import/export)
    • module-linking: wasmのモジュールを別のwasmモジュールに対して動的にリンク
    • WIT(Wasm Interface Type)というIDLで記述
    Wasm Component
    17
    wasmの世界における「型」を定めることで、各⾔語で記述され
    る型の違いを吸収し、別⾔語でコンパイルされたwasm module
    であっても相互にやり取りできるようになる

    View Slide

  18. 「Component」とはなにか
    18
    What is a Component (and Why)? - Luke Wagner, Distinguished Engineer, Fastly

    View Slide

  19. Componentがもたらす恩恵の例
    19

    View Slide

  20. • Wasmはコンテナより⼀段階上の抽象化レイヤーであり、今後のクラウドインフラにおける新
    しい層になる(かもしれない
    • WASIでOS以下を抽象化した実⾏環境を⼟台とし、Wasm Componentでアプリケーションのラ
    イブラリをビルディングブロック化することで、アプリケーションだけにフォーカスできるよ
    うになるというビジョンをCosmonicのCEO Liam Randallが語っていた
    Wasm Componentは新しいコンテナレイヤー説
    20
    CosmonicはwasmCloudという
    Wasmの実⾏基盤を提供するOSSの
    開発とSaaS版のサービス提供を⾏っている企業
    引⽤: Keynote「WASI Standards and the Component Model」より

    View Slide

  21. WASMCONを更にRecapしたい⽅向け
    21
    https://www.youtube.com/@LinuxfoundationOrg/videos
    The Linux FOUNDATION の公式
    YoutubeチャンネルにKeynote &
    Sessionがほぼ全てアップされてい
    ますのでチェックしてみてください。

    View Slide

  22. • THE Linux FOUNDATION Youtube Channel - https://www.youtube.com/@LinuxfoundationOrg/videos
    • The State Of WebAssembly 2023 - https://www.cncf.io/wp-content/uploads/2023/09/The-State-of-
    WebAssembly-2023.pdf
    • CNCF CloudNative Interactive Landscape - https://landscape.cncf.io/wasm
    参考リンク
    22

    View Slide