Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WASMCON2023 Keynoteから見るWASMの今

kojipole
September 22, 2023

WASMCON2023 Keynoteから見るWASMの今

kojipole

September 22, 2023
Tweet

Other Decks in Programming

Transcript

  1. • 主催: 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
  2. • 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のプロダクション利⽤ までの軌跡について
  3. 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
  4. 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
  5. • 多様なプログラミング⾔語からコンパイルすることができ、ネイティブに近い速度で実⾏でき る軽量なバイナリフォーマット • W3Cにより標準化されており、Mozilla、Microsoft、Google、Appleなどによって開発 • Web(ブラウザ)での利⽤を⽬的として設計されているが、現在はその範囲を超えて適⽤が進ん でいる WebAssembly(WASM)とは 9

    Portability 同⼀バイナリを複 数プラットフォー ムで実⾏可能 Speed ネイティブに近い 実⾏速度 Security サンドボックス環 境でセキュアに実 ⾏可能 Language Agnostic 多様な⾔語からコ ンパイルして WASMバイナリ を⽣成可能 Low Footpirnt 最⼩限のメモリと CPUリソースで 実⾏可能
  6. 主にパフォーマンスとソフトウェア開発の柔 軟性に関する利点が主に開発者を引き付ける 理由となっている • より⾼速なロード時間(23%) • 新しいユースケースや技術を探求する機会(22%) • プロジェクト間でのコード共有(20%) •

    JSを上回るパフォーマンス改善(20%) • どこでも実⾏できるバイナリの使⽤(18%) • 技術が⾔語に依存しないこと(18%) WebAssemblyへの期待値 10 引⽤元: The State Of WebAssembly 2023 ただし、実態として各項⽬に差はほとんどなく、様々な観点が 複合されて注⽬度が⾼まっていることがわかる
  7. • 各種⾔語から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
  8. プラットフォーム事業者のWASI対応 14 Edge Functionsにて Wasmをサポート Shopify Functionsにて Wasmをサポート Nginx Unitで

    Wasmの実⾏をサポート Cloudflare Workersで Wasmをサポート Azure Kubernete Service にてWasmの実⾏をサポート Compute@Edgeにて Wasmをサポート
  9. • 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 であっても相互にやり取りできるようになる
  10. • 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