Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
花開くWebAssembly(Wasm)の可能性 in 2025/06/21 まさるの勉強会
Search
iWonder118
June 21, 2025
32
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
花開くWebAssembly(Wasm)の可能性 in 2025/06/21 まさるの勉強会
iWonder118
June 21, 2025
More Decks by iWonder118
See All by iWonder118
極小Reactで描画を理解しながら追う
iwonder118
0
78
マフィアを目指そう※超健全
iwonder118
0
200
Tamagawa.dev #3 OP&ED
iwonder118
0
260
経験談から伝える! AIによって既に変わってしまった転職事情
iwonder118
7
3.7k
多摩川.dev #2 OP&ED
iwonder118
0
64
「積極的_無職のすすめ」ー U39
iwonder118
0
280
多摩川.dev OP&ED
iwonder118
0
370
今更RSCについてのお話 Full RSC vs RSC as Data Next.jsとTanStack Start比較
iwonder118
0
44
React Tokyo フェス 2026 の裏側
iwonder118
1
640
Featured
See All Featured
Abbi's Birthday
coloredviolet
4
10k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Agile that works and the tools we love
rasmusluckow
331
22k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
Done Done
chrislema
186
16k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
76k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
940
Claude Code のすすめ
schroneko
67
230k
What's in a price? How to price your products and services
michaelherold
247
13k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
530
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
680
Transcript
花開くWebAssembly(Wasm)の可能性 in 2025/06/21 まさるの勉強会
自己紹介 社内システムを改修したり、インフラを作ったり、APIを生やしたり...etc 趣味:トンチキ技術グッズを作ったり 河村 直樹(@iwonder118) かわむら なおき
グッズ①:Rustyなカニペンホルダー
グッズ②:Pug(Data dogの置物) ※余談:名前は「STRIKE JADE」Pug記法で JADE
グッズ新作!:ラバーDuckDB 上か見るとロゴに
WASMを知っている人✋
WebAssembly(Wasm)とは? • 高速起動・高パフォーマンス ネイティブに近い速度で動作 • プラットフォーム非依存 CPUやOSに依存せず様々な環境で動く • セキュアなサンドボックス環境 ホストと分離され安全に実行可能
• 多言語対応 Rust, C/C++, Goなど多くの言語からコンパイル可能
デメリット システムAPIの制限 • Wasm単体ではファイルやネットワークへの直接アクセスができない • ホスト側のAPI提供に依存するため、環境によって差異が生じる 開発・デバッグの難しさ • デバッグツールやプロファイリング環境がまだ成熟していない。 (ローカル環境での開発難しい
....) • ソースマップやトレース情報の対応が言語やツールチェーンで限定的 対応していない言語機能や環境 • マルチスレッドや一部のシステムコールを完全サポートしていない • レガシーなC/C++コードの移植には制約や書き換えが必要な場合が多い ランタイムの多様化と互換性課題 • 複数のWasmランタイム間での完全な互換性や挙動保証がまだ課題 • WASIの標準化が進行中で、現時点で仕様差分が存在する
エッジランタイムとしての Wasmの強み ライブマイグレーションの実現 • 実行中の状態を保持したままエッジノード間でワークロード移動が可能 • 従来のコンテナよりも高速かつ軽量に切り替えられる > ライブマイグレーションについて 動作中のプログラムやワークロードの実行状態(メモリの内容や
CPUレジスタの状態など)を保持したまま、一つの実行環境 (ノード)から別の実行環境へ移動させる技術 サービスの停止時間をほぼゼロに抑えつつ、負荷分散やメンテナンスが可能 エッジ特化のシステムAPI拡張 • WASIを拡張し、エッジ環境固有のリソース(センサーや ローカルストレージ)へ安全にアクセス • 多様なエッジノードで同一の Wasmモジュールが動作可能
エッジランタイムとしての Wasmの問題点 ARM x86 リソース制約の厳しさ • メモリ・CPUが限られているため重い処理に不向き Cloudflare WorkersではCPUが10〜30ms上限、メモリが最大128MB •
大規模データ処理や複雑なアルゴリズムはパフォーマンス低下の可能性 状態管理の難しさ • ライブマイグレーションや分散状態の同期が技術的に複雑 • 状態を持つアプリケーションは設計・運用コストが増加 ランタイム互換性の課題 • Wasmランタイム間での挙動差異や APIの非標準化が存在 • 実行環境ごとに微妙な差異がバグや障害の原因になることも ランタイムA ランタイムB
Open Telemetryとのコラボレーション うまく切り分けて動かせる分、監視が難しい • 一貫した監視・ロギング基盤の構築 OpenTelemetryはクラウドネイティブ標準で、多様なバックエンド( Jaeger, Prometheus, New Relic等)に対応
• パフォーマンスボトルネックの特定が容易に Wasm特有の起動遅延や API呼び出しのコストを詳細に計測可能 • 運用の効率化・信頼性向上 エッジ環境の多数ノードにまたがる挙動の集約・分析が容易に そこでOpen Telemetry 一言でいうと共通規格でログを送れるやつ
可能性 • どこでも同じ動作をする安心感 OSやデバイスに依存せず一貫した動作を提供できるため、動作不良や環境差異を気にしなくてよい • エネルギー効率とコストの最適化 必要な場所で必要な処理だけを行うため、ネットワーク負荷・クラウドコスト・電力消費の削減に寄与 IoTの未来を感じる • 柔軟なアップデート・メンテナンス
リモートで実行中のワークロードを停止せずに更新やパッチ適用が可能に • 省エネ・効率的なリソース活用 デバイス近くの最適なノードに処理を動的に振り分けることで、無駄な通信や遅延を削減
参考 https://speakerdeck.com/chikuwait/beyond-portability-live-migration-for-evolving-web assembly-workloads beyond-portability-live-migration-for-evolving-webassembly-workloads