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
Unikernelの話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
funera1
August 23, 2023
0
100
Unikernelの話
funera1
August 23, 2023
Tweet
Share
More Decks by funera1
See All by funera1
Mercari Summer Intern 2022
funera1
0
28
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
130
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
Building AI with AI
inesmontani
PRO
1
690
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
310
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
How to Talk to Developers About Accessibility
jct
2
130
A better future with KSS
kneath
240
18k
Six Lessons from altMBA
skipperchong
29
4.1k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
120
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
84
Transcript
Unikernelの話
仮想マシンとは 物理コンピュータと同じ機能をソフトウェアで実現したコン ピュータのこと VM コンテナ
VMについて App1 App2 HW Hypervisor Guest OS Bins/Libs Virtual HW
Guest OS Bins/Libs Virtual HW カーネルが分離されていて、セキュリティは高い しかし、大量のリソースを使う
コンテナについて HW OS Bins/Libs App1 Bins/Libs App2 Container Engine Bins/Libs
リソースを少ししか使わず、軽量 しかし、カーネルを共有していて、セキュリティ的には不十分
軽量で高セキュリティな実行環境があればうれしい!
Unikernel Unikernelとは、アプリケーションをライブラリ OS(LibOS)の必要最小限の機能のみとリンクさせ、 単一アドレス空間で、直接ハードウェアやハイパーバイザ上で動作するようにしたマシンイメージのこと Lib OS App App App App
Lib OS App Lib OS App Lib OS App Unikernel OS App App App App App 従来のOS LibOS OSの機能をライブラリ化 したもの
Unikernelの特徴 アプリケーションの必要最小限の kernel機能をリンクするため、 イメージのサイズが小さい。( 10MB程度) 軽量
Unikernelの特徴 単一アドレスで動作することで、従来の OSのようなアドレス空間の移動の際にかかるオーバーヘッドがないた め、高速な実行が可能 ユーザ空間 カーネル空間 コンテキストスイッチ 従来のOS 単一アドレス空間 Unikernel
Unikernelの特徴 セキュリティが高い バイ ナリ バイナ リ App 機能A 機能B 機能C
LibOS App 機能A 機能D 機能E LibOS イメージサイズが小さい (Attack Surfaceが小さい) カーネル分離&カーネルごと に構成要素が異なる
Unikernelは軽量・高速・高セキュリティ!
Unikernelの課題 • Unikernelと従来のOSは異なる構成 • 必要最低限のOS機能とリンクするために、OSレイヤの知識が必要 • 従来のアプリケーションをUnikernelで動かす場合、 基本的にアプリケーションの改変が必要 Unikernelを使うは難しい&コストがかかる
Unikernelの今後 このような課題を受けて、 UnikraftやUnikernel Linux(UKL)のような技術が 開発されている
network stack liblwip.o libtcpip.o libhttp.o filisystems libvfs.o libfat.o libext3.o schedulers
libcoop.o libpreempt.o librt.o … Unikernel liblwip.o libvfs.o libcoop.o Unikraft ②ビルド時に、自動で必要なライブラリを 選択してくれる ①Unikraftがアプリケーションが使いうる機能をライブラリとして提供
UKL Linuxやglibcへパッチを当てることで、Linuxアプリをほとんど改変なしに、Unikernel として構築できる
まとめ • UnikernelはVMとコンテナの良いところを合わせた特徴を持つ • ただ、Unikernelを使うのは難しい&コストがかかる • この課題を軽減するような技術も生まれてきている