SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
"Docker is NOT Container."
~ Dockerとコンテナ技術、PaaSの関係を理解する
レッドハット株式会社
中井悦司 / Etsuji Nakai
Senior Solution Architect
and Cloud Evangelist
v1.3 2015/01/28
2
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
自己紹介
 中井悦司(なかいえつじ)
– Twitter @enakai00
 日々の仕事
– Senior Solution Architect and
Cloud Evangelist at Red Hat K.K.
企業システムでオープンソースの活用を希望される
お客様を全力でご支援させていただきます。
 昔とった杵柄
– 素粒子論の研究(超弦理論とか)
– 予備校講師(物理担当)
– インフラエンジニア(Unix/Linux専門)
好評発売中!
3
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
Contents
 Dockerが生まれた背景
 Dockerが実現するアプリケーション開発の世界
 Dockerを本番サービスに適用するメリット
 今後の発展
Dockerが生まれた背景
5
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
History
 2011年 米dotCloud社がパブリックのPaaSサービスを提供開始
 2013年 dotCloudのコア技術を「Docker」として公開
 2014年 dotCloud社は、Docker, Inc.に社名を変更して、Dockerを
     活用したサービス、製品にビジネスを切り替えることを表明 (*)
(*) dotCloudのPaaSサービスは、米cloudControl社が事業を引き継いでサービスを提供中
  https://www.dotcloud.com/about.html
6
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
Dockerに対するRed Hatの貢献
 Red Hatの開発協力により、RHEL対応とさらなる機能拡張を継続
– RHEL7での正式サポート
– RHELのThin Provisioning機能対応(ディスク性能の向上)
– RHEL7のプロセス管理機能(systemd)との統合
– Docker専用Linuxディストリビューション(Atomic Host)の開発
7
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
クラウドサービスとしてのPaaS環境の課題 (1)
 PaaSのメリット
⇒ 実行環境の構築・管理に手間をかけず、アプリケーション開発に集中
アプリケーション実行環境
(フレームワーク/ライブラリー)
サーバー/OS
開発したコードを
クラウドにデプロイ
アプリケーション
プログラム
8
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
アプリケーション実行環境
(フレームワーク/ライブラリー)
サーバー/OS
アプリケーション
プログラム
クラウドサービスとしてのPaaS環境の課題 (2)
 アプリケーションのコードと実行環境は、多くの場合、密結合しており、
「ありもの」の実行環境だけでは、不便が生じることも多い
「悪魔は細部に宿る」
・使いたいフレームワークが無い
・必要なライブラリーが不足
・ライブラリーバージョンの不整合
・etc...
9
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
dotCloudが実行環境のメンテナンスに用意した仕組み
 dotCloudは、クラウド内部の仕組みとして、アプリケーションの実行環
境を自動構築して「Dockerイメージ」に固める技術を開発
– さらに、クラウド以外の環境でも利用できるようにオープンソースとして公開
Dockerサービス
サーバー/OS
アプリケーション
プログラム
さまざまな実行環境を
Dockerイメージとして
作成・メンテナンス
Docker
イメージ
10
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
Dockerが提供する基本機能
Dockerfile
① Dockerイメージを自動作成
OSイメージ
アプリケーション
ライブラリー
アプリケーション
フレームワーク
イメージの
作成手順を記載
Docker
イメージ
OS上にインストール可能な
ものはすべてイメージ化可能
② Dockerイメージを保存・公開
③ Dockerサーバーに
 イメージを配布・実行
11
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
(参考)Linuxコンテナーの仕組み
コンテナー
物理サーバー/仮想マシン
Linuxカーネル
アプリケーション
アプリケーション
・・・
物理サーバー/仮想マシン
Linuxカーネル
・・・
コンテナー
通常のLinux環境 コンテナーで分割した環境
コンテナーごとに
見える環境が異なる
すべてのアプリケーション
から同じ環境が見える
 「Linuxコンテナー」は、プロセスグループごとに独立したOS環境を見せる技術
– ローカルディスクの内容(ディレクトリー内のファイル)
– ネットワーク環境(NIC、IPアドレス)
– CPU、メモリー割り当て
※ Dockerよりもずっと古くから存在する技術です。
アプリケーション
アプリケーション
12
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
Dockerとコンテナの関係
コンテナー
アプリケーション
ディレクトリーツリー
Linux上にマウント
ルートディレクトリー
として割り当て
 「Dockerイメージ」の実体は、コンテナーに
割り当てるディスクイメージに、ネットワー
ク設定などの環境情報を付与したものにすぎ
ません。
 Dockerの真の価値は、次のような「イメージ
管理機能」にあります。
– Dockerfile:
Dockerイメージを自動作成する仕組み
– Docker Hub:
Dockerイメージを共有・配布する仕組み
Dockerイメージ
Dockerが実現する
アプリケーション開発の世界
14
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
Dockerを活用したアプリケーション開発の世界
 ローカルの開発環境を利用しながら、多数の開発者に同一の開発環境を提供。
– テストサーバーにも同じ環境を提供することで、「環境差異による問題発生」を防止
 Dockerfileからイメージを自動作成するので、イメージの修正・変更・再配布が容易
– 開発コードのように、実行環境を「バージョン管理」可能に
フレームワーク
データベース
Dockerfile
Dockerイメージを
自動作成
開発・テスト環境に
Dockerイメージを配布
開発コードを
コードリポジトリー
にプッシュ
CIツールにより
インテグレーション
テストを自動実行
15
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
ちょっと脱線:CIツールによる継続的インテグレーション
人間の世界
マシンの世界ビルドとテストの自動実行
結果レポートの作成
テスト結果、コード分析結果
カバレッジの推移など
開発者
コード
コミット
レポートのフィードバック
コード
リポジトリ
CIツール
マシンと人間の役割を明確に
分離したプロセスがCIの肝
このようなCI環境もDockerを
利用すると簡単に準備が可能
Dockerを本番サービスに
適用するメリット
17
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
フレームワーク
データベース
アプリケーション
フレームワーク
ライブラリー
Dockerイメージを
本番環境に展開!
 テストが実施された「確実動くアプリケーション」をそのままDockerイメージに
固めて、本番環境に自動デプロイするという運用を想像してみましょう・・・。
サービス環境へのDocker適用のメリット
18
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
Immutable Infrastructureとは?
– アプリケーションの設定変更、バージョンアップなどは、稼働中の本番環境を
いじるのではなく、大元のコードを変更して再テストした後に、本番環境を新
規構築してそっくり置き換えるという運用手法。
– 運用中の環境変更するリスク(想定外の不具合)を回避して、常にテスト済み
の環境を本番提供可能に。
– 同一構成のサーバーを大量に並べるスケールアウト環境で、多数のサーバーの
構成を常に同一に保ち続ける。
 Dockerイメージによる自動デプロイにより、これまで実現困難と言われていた
「Immutable Infrastructre」がついに実現可能になります。
Dockerによる自動デプロイのメリット
「Immutable Infrastructre」を実現して
構成管理を容易に!
今後の発展
20
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
Kubernetes:Dockerをより高度に管理する仕組みを提供
http://jp.techcrunch.com/2014/07/11/20140710google-microsoft-ibm-and-others-collaborate-to-make-managing-docker-containers-easier/
今後は、Kubernetesを利用した
PaaS基盤が開発されていきます
21
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
サーバー/仮想マシン ・・・
コンテナー
Docker
サーバー/仮想マシン
コンテナー
Docker
Kubernetes
Platform as a Service
・・・
・・・
実行リソース提供
アプリケーション実行
実行環境の作成・配備
複数サーバーに跨る
オーケストレーション
UI、ワークフロー、
モニタリング、etc.
RHEL
Atomic Host
OpenShift 3.0
(参考)今後のRed Hat製品との対応関係
(*) 本資料作成時の予定であり、今後、計画が変更される可能性もあります。
EMPOWER PEOPLE,
EMPOWER ENTERPRISE,
OPEN INNOVATION.

Más contenido relacionado

La actualidad más candente

15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDockerMasahiro NAKAYAMA
 
Kubernetes introduction
Kubernetes introductionKubernetes introduction
Kubernetes introductionDAEBUM LEE
 
CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門KokiMakita1
 
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShiftEtsuji Nakai
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例maebashi
 
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~Masaomi Kudo
 
OpenStackとDockerの未来像
OpenStackとDockerの未来像OpenStackとDockerの未来像
OpenStackとDockerの未来像Etsuji Nakai
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftEtsuji Nakai
 
8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版Kamon Nobuchika
 
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and KnativeMasahito Zembutsu
 
普通のRailsアプリをdockerで本番運用する知見
普通のRailsアプリをdockerで本番運用する知見普通のRailsアプリをdockerで本番運用する知見
普通のRailsアプリをdockerで本番運用する知見zaru sakuraba
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春VerMasahito Zembutsu
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門Tsukasa Kato
 
Dockerについて
DockerについてDockerについて
Dockerについて74th
 
Kubernetesを触ってみた
Kubernetesを触ってみたKubernetesを触ってみた
Kubernetesを触ってみたKazuto Kusama
 
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座Masahito Zembutsu
 
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Etsuji Nakai
 
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
そろそろ知っておきたい!!コンテナ技術とDockerのキホンそろそろ知っておきたい!!コンテナ技術とDockerのキホン
そろそろ知っておきたい!!コンテナ技術と DockerのキホンNaoki Nagazumi
 

La actualidad más candente (20)

15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker
 
Kubernetes introduction
Kubernetes introductionKubernetes introduction
Kubernetes introduction
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門
 
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
 
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
 
OpenStackとDockerの未来像
OpenStackとDockerの未来像OpenStackとDockerの未来像
OpenStackとDockerの未来像
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
 
8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版
 
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and Knative
 
普通のRailsアプリをdockerで本番運用する知見
普通のRailsアプリをdockerで本番運用する知見普通のRailsアプリをdockerで本番運用する知見
普通のRailsアプリをdockerで本番運用する知見
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門
 
Dockerについて
DockerについてDockerについて
Dockerについて
 
Kubernetesを触ってみた
Kubernetesを触ってみたKubernetesを触ってみた
Kubernetesを触ってみた
 
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
 
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
 
Docker入門
Docker入門Docker入門
Docker入門
 
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
そろそろ知っておきたい!!コンテナ技術とDockerのキホンそろそろ知っておきたい!!コンテナ技術とDockerのキホン
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
 

Destacado

Hybrid serverless architecture using open whisk ibm cloud functions and istio...
Hybrid serverless architecture using open whisk ibm cloud functions and istio...Hybrid serverless architecture using open whisk ibm cloud functions and istio...
Hybrid serverless architecture using open whisk ibm cloud functions and istio...Tsuyoshi Hirayama
 
IBM bluemix api connect によるAPIエコノミーの実現 20170426
IBM bluemix api connect によるAPIエコノミーの実現 20170426 IBM bluemix api connect によるAPIエコノミーの実現 20170426
IBM bluemix api connect によるAPIエコノミーの実現 20170426 Tsuyoshi Hirayama
 
神奈川Ruby会議の会場係 だけが知る密かな危機の話
神奈川Ruby会議の会場係だけが知る密かな危機の話神奈川Ruby会議の会場係だけが知る密かな危機の話
神奈川Ruby会議の会場係 だけが知る密かな危機の話Naoki Nagazumi
 
IBM Data Science Experience and Watson Machine Learning 20170429
IBM Data Science Experience and Watson Machine Learning 20170429IBM Data Science Experience and Watson Machine Learning 20170429
IBM Data Science Experience and Watson Machine Learning 20170429Tsuyoshi Hirayama
 
Docker 基本のおさらい
Docker 基本のおさらいDocker 基本のおさらい
Docker 基本のおさらいNaoki Nagazumi
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Masahito Zembutsu
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Yuichi Ito
 
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyJenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyKazuhito Miura
 

Destacado (9)

Hybrid serverless architecture using open whisk ibm cloud functions and istio...
Hybrid serverless architecture using open whisk ibm cloud functions and istio...Hybrid serverless architecture using open whisk ibm cloud functions and istio...
Hybrid serverless architecture using open whisk ibm cloud functions and istio...
 
IBM bluemix api connect によるAPIエコノミーの実現 20170426
IBM bluemix api connect によるAPIエコノミーの実現 20170426 IBM bluemix api connect によるAPIエコノミーの実現 20170426
IBM bluemix api connect によるAPIエコノミーの実現 20170426
 
神奈川Ruby会議の会場係 だけが知る密かな危機の話
神奈川Ruby会議の会場係だけが知る密かな危機の話神奈川Ruby会議の会場係だけが知る密かな危機の話
神奈川Ruby会議の会場係 だけが知る密かな危機の話
 
IBM Data Science Experience and Watson Machine Learning 20170429
IBM Data Science Experience and Watson Machine Learning 20170429IBM Data Science Experience and Watson Machine Learning 20170429
IBM Data Science Experience and Watson Machine Learning 20170429
 
Docker 基本のおさらい
Docker 基本のおさらいDocker 基本のおさらい
Docker 基本のおさらい
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyJenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
 

Similar a "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する

Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Etsuji Nakai
 
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニックRed Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニックEtsuji Nakai
 
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニックOpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニックEtsuji Nakai
 
分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要Etsuji Nakai
 
RDOとPackstackのご紹介
RDOとPackstackのご紹介RDOとPackstackのご紹介
RDOとPackstackのご紹介Etsuji Nakai
 
RDOで体験! OpenStackの基本機能
RDOで体験! OpenStackの基本機能RDOで体験! OpenStackの基本機能
RDOで体験! OpenStackの基本機能Etsuji Nakai
 
Mesos consulで構築するマイクロサービスインフラ
Mesos consulで構築するマイクロサービスインフラMesos consulで構築するマイクロサービスインフラ
Mesos consulで構築するマイクロサービスインフラMitsutoshi Kiuchi
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜Etsuji Nakai
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Masahito Zembutsu
 
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~Masahito Zembutsu
 
Open stack overview_20130301
Open stack overview_20130301Open stack overview_20130301
Open stack overview_20130301Satoshi Konno
 
【ことはじめ】 はじめてのコンテナ活用をクラウドで
【ことはじめ】 はじめてのコンテナ活用をクラウドで【ことはじめ】 はじめてのコンテナ活用をクラウドで
【ことはじめ】 はじめてのコンテナ活用をクラウドでオラクルエンジニア通信
 
Docker Tシャツを着て Docker の話をする
Docker Tシャツを着て Docker の話をするDocker Tシャツを着て Docker の話をする
Docker Tシャツを着て Docker の話をするYoshiaki Yoshida
 
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達softlayerjp
 
Docker Hello World
Docker Hello WorldDocker Hello World
Docker Hello WorldTakao Fukui
 
Dockerのネットワークについて
DockerのネットワークについてDockerのネットワークについて
DockerのネットワークについてNobuyuki Matsui
 
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念Masahito Zembutsu
 

Similar a "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する (20)

第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
 
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
 
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニックRed Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
 
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニックOpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
 
分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要
 
RDOとPackstackのご紹介
RDOとPackstackのご紹介RDOとPackstackのご紹介
RDOとPackstackのご紹介
 
RDOで体験! OpenStackの基本機能
RDOで体験! OpenStackの基本機能RDOで体験! OpenStackの基本機能
RDOで体験! OpenStackの基本機能
 
Dockerの現在と未来
Dockerの現在と未来Dockerの現在と未来
Dockerの現在と未来
 
Mesos consulで構築するマイクロサービスインフラ
Mesos consulで構築するマイクロサービスインフラMesos consulで構築するマイクロサービスインフラ
Mesos consulで構築するマイクロサービスインフラ
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~
 
Open stack overview_20130301
Open stack overview_20130301Open stack overview_20130301
Open stack overview_20130301
 
【ことはじめ】 はじめてのコンテナ活用をクラウドで
【ことはじめ】 はじめてのコンテナ活用をクラウドで【ことはじめ】 はじめてのコンテナ活用をクラウドで
【ことはじめ】 はじめてのコンテナ活用をクラウドで
 
Dockerを社内で使うために
Dockerを社内で使うためにDockerを社内で使うために
Dockerを社内で使うために
 
Docker Tシャツを着て Docker の話をする
Docker Tシャツを着て Docker の話をするDocker Tシャツを着て Docker の話をする
Docker Tシャツを着て Docker の話をする
 
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達
 
Docker Hello World
Docker Hello WorldDocker Hello World
Docker Hello World
 
Dockerのネットワークについて
DockerのネットワークについてDockerのネットワークについて
Dockerのネットワークについて
 
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念
 

Más de Etsuji Nakai

「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考えるEtsuji Nakai
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Etsuji Nakai
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowEtsuji Nakai
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスEtsuji Nakai
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモEtsuji Nakai
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsEtsuji Nakai
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English LearningEtsuji Nakai
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎Etsuji Nakai
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門Etsuji Nakai
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineEtsuji Nakai
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2Etsuji Nakai
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersEtsuji Nakai
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterEtsuji Nakai
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginnersEtsuji Nakai
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQNEtsuji Nakai
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)Etsuji Nakai
 
Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介Etsuji Nakai
 

Más de Etsuji Nakai (20)

PRML11.2-11.3
PRML11.2-11.3PRML11.2-11.3
PRML11.2-11.3
 
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlow
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English Learning
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application Developers
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with Jupyter
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginners
 
Life with jupyter
Life with jupyterLife with jupyter
Life with jupyter
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQN
 
PRML7.2
PRML7.2PRML7.2
PRML7.2
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
 
Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介
 

Último

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Último (9)

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する

  • 1. "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する レッドハット株式会社 中井悦司 / Etsuji Nakai Senior Solution Architect and Cloud Evangelist v1.3 2015/01/28
  • 2. 2 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する 自己紹介  中井悦司(なかいえつじ) – Twitter @enakai00  日々の仕事 – Senior Solution Architect and Cloud Evangelist at Red Hat K.K. 企業システムでオープンソースの活用を希望される お客様を全力でご支援させていただきます。  昔とった杵柄 – 素粒子論の研究(超弦理論とか) – 予備校講師(物理担当) – インフラエンジニア(Unix/Linux専門) 好評発売中!
  • 3. 3 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する Contents  Dockerが生まれた背景  Dockerが実現するアプリケーション開発の世界  Dockerを本番サービスに適用するメリット  今後の発展
  • 5. 5 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する History  2011年 米dotCloud社がパブリックのPaaSサービスを提供開始  2013年 dotCloudのコア技術を「Docker」として公開  2014年 dotCloud社は、Docker, Inc.に社名を変更して、Dockerを      活用したサービス、製品にビジネスを切り替えることを表明 (*) (*) dotCloudのPaaSサービスは、米cloudControl社が事業を引き継いでサービスを提供中   https://www.dotcloud.com/about.html
  • 6. 6 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する Dockerに対するRed Hatの貢献  Red Hatの開発協力により、RHEL対応とさらなる機能拡張を継続 – RHEL7での正式サポート – RHELのThin Provisioning機能対応(ディスク性能の向上) – RHEL7のプロセス管理機能(systemd)との統合 – Docker専用Linuxディストリビューション(Atomic Host)の開発
  • 7. 7 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する クラウドサービスとしてのPaaS環境の課題 (1)  PaaSのメリット ⇒ 実行環境の構築・管理に手間をかけず、アプリケーション開発に集中 アプリケーション実行環境 (フレームワーク/ライブラリー) サーバー/OS 開発したコードを クラウドにデプロイ アプリケーション プログラム
  • 8. 8 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する アプリケーション実行環境 (フレームワーク/ライブラリー) サーバー/OS アプリケーション プログラム クラウドサービスとしてのPaaS環境の課題 (2)  アプリケーションのコードと実行環境は、多くの場合、密結合しており、 「ありもの」の実行環境だけでは、不便が生じることも多い 「悪魔は細部に宿る」 ・使いたいフレームワークが無い ・必要なライブラリーが不足 ・ライブラリーバージョンの不整合 ・etc...
  • 9. 9 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する dotCloudが実行環境のメンテナンスに用意した仕組み  dotCloudは、クラウド内部の仕組みとして、アプリケーションの実行環 境を自動構築して「Dockerイメージ」に固める技術を開発 – さらに、クラウド以外の環境でも利用できるようにオープンソースとして公開 Dockerサービス サーバー/OS アプリケーション プログラム さまざまな実行環境を Dockerイメージとして 作成・メンテナンス Docker イメージ
  • 10. 10 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する Dockerが提供する基本機能 Dockerfile ① Dockerイメージを自動作成 OSイメージ アプリケーション ライブラリー アプリケーション フレームワーク イメージの 作成手順を記載 Docker イメージ OS上にインストール可能な ものはすべてイメージ化可能 ② Dockerイメージを保存・公開 ③ Dockerサーバーに  イメージを配布・実行
  • 11. 11 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する (参考)Linuxコンテナーの仕組み コンテナー 物理サーバー/仮想マシン Linuxカーネル アプリケーション アプリケーション ・・・ 物理サーバー/仮想マシン Linuxカーネル ・・・ コンテナー 通常のLinux環境 コンテナーで分割した環境 コンテナーごとに 見える環境が異なる すべてのアプリケーション から同じ環境が見える  「Linuxコンテナー」は、プロセスグループごとに独立したOS環境を見せる技術 – ローカルディスクの内容(ディレクトリー内のファイル) – ネットワーク環境(NIC、IPアドレス) – CPU、メモリー割り当て ※ Dockerよりもずっと古くから存在する技術です。 アプリケーション アプリケーション
  • 12. 12 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する Dockerとコンテナの関係 コンテナー アプリケーション ディレクトリーツリー Linux上にマウント ルートディレクトリー として割り当て  「Dockerイメージ」の実体は、コンテナーに 割り当てるディスクイメージに、ネットワー ク設定などの環境情報を付与したものにすぎ ません。  Dockerの真の価値は、次のような「イメージ 管理機能」にあります。 – Dockerfile: Dockerイメージを自動作成する仕組み – Docker Hub: Dockerイメージを共有・配布する仕組み Dockerイメージ
  • 14. 14 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する Dockerを活用したアプリケーション開発の世界  ローカルの開発環境を利用しながら、多数の開発者に同一の開発環境を提供。 – テストサーバーにも同じ環境を提供することで、「環境差異による問題発生」を防止  Dockerfileからイメージを自動作成するので、イメージの修正・変更・再配布が容易 – 開発コードのように、実行環境を「バージョン管理」可能に フレームワーク データベース Dockerfile Dockerイメージを 自動作成 開発・テスト環境に Dockerイメージを配布 開発コードを コードリポジトリー にプッシュ CIツールにより インテグレーション テストを自動実行
  • 15. 15 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する ちょっと脱線:CIツールによる継続的インテグレーション 人間の世界 マシンの世界ビルドとテストの自動実行 結果レポートの作成 テスト結果、コード分析結果 カバレッジの推移など 開発者 コード コミット レポートのフィードバック コード リポジトリ CIツール マシンと人間の役割を明確に 分離したプロセスがCIの肝 このようなCI環境もDockerを 利用すると簡単に準備が可能
  • 17. 17 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する フレームワーク データベース アプリケーション フレームワーク ライブラリー Dockerイメージを 本番環境に展開!  テストが実施された「確実動くアプリケーション」をそのままDockerイメージに 固めて、本番環境に自動デプロイするという運用を想像してみましょう・・・。 サービス環境へのDocker適用のメリット
  • 18. 18 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する Immutable Infrastructureとは? – アプリケーションの設定変更、バージョンアップなどは、稼働中の本番環境を いじるのではなく、大元のコードを変更して再テストした後に、本番環境を新 規構築してそっくり置き換えるという運用手法。 – 運用中の環境変更するリスク(想定外の不具合)を回避して、常にテスト済み の環境を本番提供可能に。 – 同一構成のサーバーを大量に並べるスケールアウト環境で、多数のサーバーの 構成を常に同一に保ち続ける。  Dockerイメージによる自動デプロイにより、これまで実現困難と言われていた 「Immutable Infrastructre」がついに実現可能になります。 Dockerによる自動デプロイのメリット 「Immutable Infrastructre」を実現して 構成管理を容易に!
  • 20. 20 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する Kubernetes:Dockerをより高度に管理する仕組みを提供 http://jp.techcrunch.com/2014/07/11/20140710google-microsoft-ibm-and-others-collaborate-to-make-managing-docker-containers-easier/ 今後は、Kubernetesを利用した PaaS基盤が開発されていきます
  • 21. 21 "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する サーバー/仮想マシン ・・・ コンテナー Docker サーバー/仮想マシン コンテナー Docker Kubernetes Platform as a Service ・・・ ・・・ 実行リソース提供 アプリケーション実行 実行環境の作成・配備 複数サーバーに跨る オーケストレーション UI、ワークフロー、 モニタリング、etc. RHEL Atomic Host OpenShift 3.0 (参考)今後のRed Hat製品との対応関係 (*) 本資料作成時の予定であり、今後、計画が変更される可能性もあります。