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

WASMCON2023 Keynoteから見るWASMの今

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for kojipole kojipole
September 22, 2023

WASMCON2023 Keynoteから見るWASMの今

Avatar for kojipole

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