Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Containers at Edge and the future
Search
Kohei Ota
August 20, 2020
Technology
3k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Containers at Edge and the future
Kohei Ota
August 20, 2020
More Decks by Kohei Ota
See All by Kohei Ota
CloudNative Meets WebAssembly: Exploring Wasm's Potential to Replace Containers
inductor
4
3.6k
The Cloud Native Chronicles: 10 Years of Community Growth Inside and Outside Japan
inductor
0
200
Cracking the KubeCon CfP
inductor
2
930
KubeCon Recap -Platform migration at Scale-
inductor
1
1.1k
コンテナビルド最新事情 2022年度版 / Container Build 2022
inductor
3
600
データベースとストレージのレプリケーション入門 / Intro-of-database-and-storage-replication
inductor
28
6.7k
KubeConのケーススタディから振り返る、Platform for Platforms のあり方と その実践 / Lessons from KubeCon case studies: Platform for Platforms and its practice
inductor
3
1k
オンラインの技術カンファレンスを安定稼働させるための取り組み / SRE activity for online conference platform
inductor
1
1.4k
Kubernetesネットワーキング初級者脱出ガイド / Kubernetes networking beginner's guide
inductor
23
7.8k
Other Decks in Technology
See All in Technology
Claude Codeで開発以外の業務も爆速化しよう!
minorun365
PRO
11
9.1k
「ミスを許さない手順書」を作ってみた 〜 個人的にはこれ以上できることはあまりなさそう/20260827-ssmjp-operation-procedure-update
opelab
14
12k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
[ホンマでっか SRE] あなたはなぜ SRE に?
_awache
0
430
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
290
Microsoft MVP プログラムを紹介するから目指す人増えてくれ
tsubakimoto_s
0
150
500名弱規模の組織のPythonプロジェクト(dbt) をどう管理するか?
hiracky16
0
370
EMの役割で 変わったこと・変わらなかったこと
sansantech
PRO
1
200
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
250
分割40%キーボードにスムーズに入門するには
hoto17296
1
190
AIエージェントのためのデータ設計
daiz21
0
540
AWSとAzureのマルチクラウド活用における強い味方___AWS_Kiroを使った二刀流スキル作成.pdf
duelist2020jp
1
140
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1033
470k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
430
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
Fireside Chat
paigeccino
42
4k
Typedesign – Prime Four
hannesfritz
42
3.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Mobile First: as difficult as doing things right
swwweet
225
10k
First, design no harm
axbom
PRO
2
1.3k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
500
Tell your own story through comics
letsgokoyo
1
1k
Transcript
Containers at Edge and the future TechFeed Summit #3 Presented
by @inductor
自己紹介 名前: Kohei Ota (@inductor) 所属: HPE 職種: Solutions Architect
その他: CNCF Ambassador Docker Meetup Tokyo, CloudNative Days Tokyo 運営
今日お話すること • エッジコンピューティングとIoT(前回のテーマ) • エッジにおけるデリバリーの課題とその解決策 • Kubernetesにおけるエッジコンピューティングの取り組み • KubernetesとWASM
エッジコンピューティングとIoT 01 エッジコンピューティングは、エンドユーザーの近くに計算リソースを分散させることで 中央サーバーとの遅延を解消する技術 02 IoTの文脈ではセンサーを搭載したラズパイなどが代表例として挙げられ、計測デー タをその場で処理して返却するためレスポンスが速くなり中央サーバーの負荷が下 がるなどのメリットがある 03 一方で、計算リソースを分散させるためネットワーク制約の大きい場所にアップデート
を配信する際の考慮が必要
エッジコンピューティングとIoT 01 エッジコンピューティングは、エンドユーザーの近くに計算リソースを分散させることで 中央サーバーとの遅延を解消する技術 02 IoTの文脈ではセンサーを搭載したラズパイなどが代表例として挙げられ、計測デー タをその場で処理して返却するためレスポンスが速くなり中央サーバーの負荷が下 がるなどのメリットがある 03 一方で、計算リソースを分散させるためネットワーク制約の大きい場所にアップデート
を配信する際の考慮などが必要 電車みたいな常に動いているデバイスにどうやって 最新のアプリケーションを配信するか?という課題
エッジにおけるデリバリーの課題とその解決策 軽量で、別環境でも動作保証できるパッケージング技術があ れば自動化がかんたんになるのでは? → コンテナやWASM等の技術が利用できるという期待
Case Study: Walmart • 世界最大のスーパーマーケット • レジの決済システムを各店舗でどうやってモダナイズ、展開していく かという課題にぶちあたった • 結論としては、Kubernetesでシステムを管理しつつ、エッジにクラス
ターを展開する方法を採用
Case Study: Walmart
Case Study: Walmart 店舗ごとに小さなサーバーを配置しそこに Kubernetesクラスターを展開 GitOpsによるクラスター構成の配信 店舗のレジはストア内クラスターと通信することで決済システムが動作
Case Study: Walmart
Case Study: Walmart サービスメッシュによるResiliency(対障害性)の確保 → 店舗と通信して失敗したらクラウドに通信 IstioとEnvoyを用いたトラフィックのルーティング
Case Studyからの学び • コンテナによるパッケージング + Kubernetes with GitOpsで 多数のクラスター構成管理が可能に →
Kubernetesのエコシステムで完結できる強みを活かす 他のIoTにおける利用でも参考にできそう
その他のKubernetesにおけるEdgeの取り組み • Rancher社のk3s ◦ 軽量(しょぼいスペックでも動く) ◦ オールインワンパッケージ • KubeEdge ◦
Kubernetesベース ◦ k3sのような魔改造はしてない • デンソーさんのMisaki(ロゴが見つからず) ◦ 車に組み込むやつ
KubernetesとWASM 1. WASMのおさらい 01 WASM(Web Assembly)はモダンブラウザでNative Codeを動かそうとするための試み CやRustなどで記述したコードをWASM用にコンパイルするとブラウザで爆速に動く ! みたいなやつ(例:
vimをブラウザ上で動かした人もいる ) 02 WASMを動かすにはランタイムが必要だが、ランタイムの仕様はオープンに公開されてい て誰でも作ることができる。 V8のようにブラウザ向けのものもあるが、 Non-webというブラウ ザ以外で動かせるランタイムも複数存在する (例: WASI) 03 コンセプトが「Run anywhere」な上、実体がコンパイル済みのアプリケーションバイナリな ので、コンテナのように軽量でどこでも動作できる特徴を持つ
KubernetesとWASM 2. Krustletについて 01 Deis Labsというプロジェクトにて開発中の OSS KubeletをRustで再実装したもの 一番の特徴はWASMをサポートしていること(Dockerの代わりにWASIなどが使える) 02
WASMモジュールをOCI形式に変換してコンテナレジストリに置くための仕様も作っていて、 Kubernetesの既存のエコシステムがあれば WASMのアプリケーションが動かせる変態的 な仕組み 03 HelmやCNABなどを牽引するチームで、マイクロソフトが主体となって開発を進めて いる
KubernetesとWASM 3. Krustletのアーキテクチャ ホストマシン Docker Containerd CRI-O Kubelet Pod (OCIコンテナ)
CRI OCI ホストマシン Krustlet (WASI or waSCC provider) Pod (WASM) コンテナレジストリ Pull OCI Image apiVersion : v1 kind: Pod metadata: name: krustlet-tutorial spec: containers : - name: krustlet-tutorial image: mycontainerregistry007.azurecr.io/krustlet-tutorial:v1.0.0 tolerations : - key: "krustlet/arch" operator: "Equal" value: "wasm32-wasi" effect: "NoExecute"
まとめ • Kubernetesでアプリケーションを動かすための選択肢は 必ずしもコンテナ、だけではなくなってきている • エッジにおける計算リソースの確保にはさまざまな方法がある • WASMはコンテナと対応する形のパッケージング技術として 見ても、とても面白い
謝辞 今回WASMに関して調査するにあたり、同じTech Feed Proのエ キスパートである@chikoskiさんに、WASMの技術的背景や基本 的な仕組みについて教えていただきました。 この場を借りて感謝申し上げます!
ありがとうございました