Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hyper-v、オンプレミスでもコンテナを (トレノケ雲の会 mod2)

192 views

Published on

トレノケ雲の会 mod2 「雲の通ひ路」より
目標:Windowsで使えるコンテナの種類を識別する

Published in: Technology
  • Be the first to comment

Hyper-v、オンプレミスでもコンテナを (トレノケ雲の会 mod2)

  1. 1. Hyper-V、オンプレミスでもコンテナを 横山 哲也 Microsoft MVP トレノケート株式会社 (旧グローバルナレッジネットワーク) https://www.trainocate.co.jp
  2. 2. 自社紹介: トレノケート(Trainocate) 2 Training + Advocate(先導者) かばん語(portmanteau)の一種 Trainocate (トレノケート)
  3. 3. 自己紹介: 横山 哲也 (トレノケート株式会社)  2003年~ マイクロソフトMVP  だいたいDirectory Servicesで受賞  2017年からはCloud and Datacenter Management  最近の著書(いずれも日経BP)  ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築 改訂新版  グループポリシー逆引きリファレンス厳選98(監修・共著)  ブログ: ヨコヤマ企画 http://yp.g20k.jp/  好きなクラウドサービス: 仮想マシンテンプレート  好きなアイドル: まなみのりさ  好きなシンガーソングライター: 宮崎奈穂子 3
  4. 4. Agenda  今日の目標  Windowsで使えるコンテナの種類を識別する  コンテナについてもっと考える  Agenda  Windowsで使えるコンテナ  仮想化アーキテクチャ  Windowsでコンテナを使う方法  Windowsでコンテナを使う意味  そもそものコンテナの目的  結論 4
  5. 5. Windowsで使えるコンテナ  Docker for Windows (by Docker Inc.)  Hyper-Vベース  WSL(Windows Subsystem for Linux)ベース  Docker互換コンテナー (by Microsoft)  Windowsコンテナー  Hyper-Vコンテナー 5 どれを使えばいいのか分からない 理屈が分かれば応用がきく まだ、これからも増えるのでは?
  6. 6. 仮想化アーキテクチャ  タイプ1仮想化  タイプ2仮想化  コンテナ 6
  7. 7. 仮想化アーキテクチャ:タイプ1仮想化  ハードウェア仮想化 = ハイパーバイザー方式  スーパーバイザー(OS)よりもハードウェア寄り  ホストとゲストを完全分離  利用例  System 370 (1972年)  VMware ESXi  Hyper-V (物理OSは親パーティションとなる) 7 ハードウェア ハイパーバイザー(VMware) ゲスト OS ゲスト OS ゲスト OS 仮想HW 仮想HW 仮想HW ハードウェア ハイパーバイザー(Hyper-V) ホスト OS(親) ゲスト OS ゲスト OS 仮想HW 仮想HW物理HW
  8. 8. 仮想化アーキテクチャ:タイプ2仮想化  ソフトウェア仮想化 = ホスト方式  すべてをソフトウェアでエミュレート  ホストとゲストを完全分離 (オーバーヘッド大)  利用例  VMware GSX  Microsoft Virtual Server  【参考】x86プロセッサ  オリジナル命令セットでは タイプ1仮想化困難 - VMwareの工夫  Intel VT-x / AMD-V 拡張 タイプ2仮想化サポート - Hyper-V登場 8 ハードウェア ホストOS ゲスト OS ゲスト OS ゲスト OS 仮想HW 仮想HW 仮想HW 仮想化機能
  9. 9. 仮想化アーキテクチャ:コンテナ  パーティショニング ≒ コンテナ  「パーティショニング」はさまざまな意味で使われる  ゲストは、カーネル機能の一部をホストと共有  ゲストが軽量  利用例  Docker  App-Vの考え方  制約  ホストとゲストは同一OS (通常は同一ビルド) 9 ハードウェア ホストOS ゲスト OS ゲスト OS ゲスト OS コンテナサポート共有
  10. 10. 仮想化アーキテクチャ:まとめ 10 ハードウェア ホストOS ゲスト OS ゲスト OS コンテナサポート ハードウェア ハイパーバイザー ゲスト OS ゲスト OS 仮想HW 仮想HW ハードウェア ホストOS ゲスト OS ゲスト OS 仮想HW 仮想HW 仮想化機能  タイプ2仮想化  もっと重い  ホスト/ゲスト分離  ホストOSに依存  コンテナ  軽い  ホスト/ゲスト結合  ホストOSに依存  タイプ1仮想化  重い  ホスト/ゲスト分離  ホストOSに一部依存 (実装依存)
  11. 11. 仮想化アーキテクチャ:もう1つの仮想化(環境サブシステム)  環境サブシステム: WindowsのAPI実装方法  パーソナリティ(振る舞い)  カーネルを構築するわけではない  一種のAPIゲートウェイ  ネイティブAPIは非公開  必須の環境サブシステム  Windows環境サブシステム(GUI担当)  オプションの環境サブシステム  Windows Subsystem for Linux (WSL)  廃止された環境サブシステム  OS/2環境サブシステム...OS/2 1.1互換  POSIX環境サブシステム...POSIX 1.0互換  Windows Services for UNIX (SFU)...Interix由来  Subsystem for UNIX-based Applications (SUA) 11
  12. 12. 仮想化アーキテクチャ:環境サブシステムの特徴  画面操作はWindows環境サブシステムに依頼  APIのみ提供  カーネルは提供しない  機能制限あり - 例:WSLのネットワーク  EXEヘッダーに サブシステム指定  つまりWindows形式  他のOSとは非互換  WSLはUbuntu互換 - Win32アプリ起動可 12 ハードウェア Executiveサービス HAL(ハードウェア抽象化層) マイクロカーネル Windows環境 サブシステム OS/2環境 サブシステム WSL Windows App. POSIX App. Linux App.
  13. 13. 13 以上をふまえて
  14. 14. Windowsでコンテナを使う方法  Docker for Windows (by Docker Inc.)  Hyper-Vベース http://www.atmarkit.co.jp/ait/articles/1609/01/news053.html - 以前のバージョンはVirtualBoxで動作  WSL(Windows Subsystem for Linux)ベース http://www.nuits.jp/entry/docker-on-wsl - 非サポート、ネットワーク周りで動作しない機能あり  コンテナー (by Microsoft)  Windowsコンテナー - Windows Server 2016のみ  Hyper-Vコンテナー - Windows 10 - Windows Server 2016 http://www.atmarkit.co.jp/ait/articles/1610/26/news042.html 14
  15. 15. Windowsでコンテナを使う方法:各コンテナの特徴 15  結論  Docker互換を最優先...純正Docker(Hyper-V)  軽量Linux...Docker(WSL) ただし非サポート  隔離Linux...Hyper-Vコンテナー/Docker(Hyper-V)  軽量Windows...Windowsコンテナー  隔離Windows...Hyper-Vコンテナー Docker Microsoft Hyper-V WSL Hyper-V Windows サポート ○ × ○ ○ 対象OS Linux Linux Windows/Linux Windows 軽量性 × ○ × ○ 隔離性 ○ × ○ ×
  16. 16. Windowsでコンテナを使う意味  Linuxを使いたい  別にWindowsホストを使わなくても...  Windowsを使いたい  GUIは、原則使えないけどいいの? 16 Windowsでコンテナを使う意味は?
  17. 17. Windowsでコンテナを使う意味:これからのWindows (想像)  悲願のマルチパーソナリティ  Windows NT 3.1(1993年)の設計目標を実現  WSLのサーバー対応  WindowsもLinuxもどちらのアプリケーションも実行  Linux以上に使いやすいLinux環境  「コードによる構成」の強化  Server Coreの標準化(Azure上のWindows 1709)  宣言的構成の強化(PowerShell)  履歴管理の強化(GitHub?)  コンテナエンジンとしてのWindows 17
  18. 18. そもそものコンテナの目的  Infrastructure as Code IT基盤にソフトウェア開発技法を適用  コードによる自動化  宣言的構成の強化による安定運用...あるべき姿の記述  バージョン管理、テスト、展開、デザインパターンなど  Immutable Infrastructure  一度作ったサーバーは変更しない  変更するのではなく作り直す  使い捨てのインフラストラクチャー 18
  19. 19. そもそものコンテナの目的:DockerとKubernetes  Docker  イメージ作成は基本的にコマンド = コードで作る  イメージはライブラリとして、履歴を含めて管理  実行中のイメージは差し替えるか停止するかどちらか 保守作業はあまりしない = イミュータブル  Kubernetes  Dockerイメージの展開・実行・運用管理  Docker管理のツール 19 クラウドに任せたい 管理作業が意外に多い
  20. 20. 結論: オンプレミスのコンテナ  オンプレミスコンテナの利点  いくら使っても固定料金(無料に見える)  試行錯誤を行なう開発初期の作業に最適  クラウドコンテナの利点  基盤構築・システム管理はお任せ  管理の手間がかからない  高可用性システムの構成が容易  日々の保守が重要な運用環境に最適 20 現在: 運用環境をクラウドに 従来: 開発環境をクラウドに
  21. 21. 結論 21 クラウドサービスが動いていても 通信経路に障害があると使い物にならない しばらくはオンプレミスでやってみよう 天津風(あまつかぜ) 雲の通ひ路(かよひじ)吹き閉ぢよ をとめの姿 しばしとどめむ 僧正遍昭 しばらく使うのはいいが、 結局はクラウドに帰ることになるだろう
  22. 22. まとめ  今日の目標  Windowsで使えるコンテナの種類を識別する  コンテナについてもっと考える  Agenda  Windowsで使えるコンテナ  仮想化アーキテクチャ  Windowsでコンテナを使う方法  Windowsでコンテナを使う意味  そもそものコンテナの目的  結論「コンテナはクラウドの方が良い」 22
  23. 23. 23

×