Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Docker活用パターンの整理・どう組み合わせるのが正解?!
Ver1.1 中井悦司
Twitter @enakai00
オープンクラウド・キャンパス
Docker活用パターンの整理
Docker/OpenStack/Ansible/Kubernetes/OpenShift/etc…
どう組み合わせるのが正解?!
Open Cloud Campus
2
Docker活用パターンの整理・どう組み合わせるのが正解?!
自己紹介
 中井悦司(なかいえつじ)
– Twitter @enakai00
 日々の仕事
– Senior Solution Architect and
Cloud Evangelist at Red Hat K.K.
企業システムでオープンソースの活用を希望される
お客様を全力でご支援させていただきます。
 昔とった杵柄
– 素粒子論の研究(超弦理論とか)
– 予備校講師(物理担当)
– インフラエンジニア(Unix/Linux専門)
好評発売中!
Open Cloud Campus
3
Docker活用パターンの整理・どう組み合わせるのが正解?!
最近の趣味
http://enakai00.hatenablog.com/entry/2016/02/29/121321
Docker活用パターンの整理・どう組み合わせるのが正解?!
Dockerの役割をもう一度確認しよう!
Open Cloud Campus
5
Docker活用パターンの整理・どう組み合わせるのが正解?!
Dockerが提供する基本機能
Dockerfile
① Dockerイメージを自動作成
OSイメージ
アプリケーション
ライブラリー
アプリケーション
フレームワーク
イメージの
作成手順を記載
Docker
イメージ
OS上にインストール可能な
ものはすべてイメージ化可能
② Dockerイメージを保存・公開
③ Dockerサーバーに
 イメージを配布・実行
Docker活用パターンの整理・どう組み合わせるのが正解?!
IaaS基盤へのアプリケーションデプロイに
Dockerを使ってみよう!
Open Cloud Campus
7
Docker活用パターンの整理・どう組み合わせるのが正解?!
OpenStackによる自動化(オーケストレーション)手法
 Dockerが無かった時代は・・・
– 仮想マシン、ストレージ、ネットワークなどのインフラは、OpenStackで自動構成
– ゲストOS上のアプリはChef/Ansible/Puppetなどの構成管理ツールで自動構成
 ゲストOSとアプリの管理が別れているため「Immutable」な運用が困難!
– ゲストOSのテンプレートはOpenStack側で管理
– 仮想マシン起動時に動的にアプリの導入・設定を実施
「第14章 Dockerを利用したアプリケーション展開」より引用
ゲストOSの変更に起因する
アプリ導入の失敗が発生
Open Cloud Campus
8
Docker活用パターンの整理・どう組み合わせるのが正解?!
OpenStackとDockerの組み合わせ手法
 Dockerを用いた運用だと・・・
– OpenStackは、「インフラ+DockerホストOS」の提供に専念
– アプリの実行環境は、Dockerイメージで作成・管理・デプロイ
 インフラとアプリの管理を分離することで「Immutable」な運用が容易に!
– ゲストOSのテンプレートはDockerの稼働環境を提供
– 事前作成済みのDockerイメージを配布してアプリを起動
アプリの導入・管理を
OpenStackから分離可能
Open Cloud Campus
9
Docker活用パターンの整理・どう組み合わせるのが正解?!
「1VM - 1コンテナ」方式でDockerを使ってみる
 仮想マシン上のアプリケーションをコンテナイメージ化することで、アプリケー
ションのデプロイを安全/簡単にします。
– 「1仮想マシンに1アプリケーション」という配置はあえて変更しないことで、運用方
法やアプリケーションのデザインへの影響を最小限に留めます。
– 外部からアプリケーションに接続するユーザー/外部システムは、アプリケーションが
コンテナ化されていることを意識する必要がありません。
OpenStack/仮想化基盤
仮想マシン
(ゲストOS)
アプリA
・・・
・・・
これまでの環境
アプリケーションの
コンテナイメージ化
OpenStack/仮想化基盤
仮想マシン
(Dockerホスト)
アプリA
(コンテナ
 イメージ)
仮想マシン
(Dockerホスト)
アプリB
(コンテナ
 イメージ)
・・・
・・・
仮想マシン
(ゲストOS)
アプリB
Open Cloud Campus
10
Docker活用パターンの整理・どう組み合わせるのが正解?!
Ansibleによる複数インスタンス環境のオーケストレーション
永続データ
領域
OS領域
コンテナ
(MySQL)
/data
コンテナ
イメージ
Dockerデーモン
/var/lib/mysql
フローティングIP
OS領域
コンテナ
(node.jsアプリ)
コンテナ
イメージ
Dockerデーモン
フローティングIP
フローティングIPにアクセス
フローティングIPにアクセス
接続先DBのIP/ポートは
環境変数で参照
 Ansibleを利用すると、OpenStack APIによる仮想インフラの構成とDockerによるアプリ
ケーション配布のワークフローをまとめて自動化も可能に
アプリケーション利用者
Docker活用パターンの整理・どう組み合わせるのが正解?!
Docker活用パターンの整理・ど
う組み合わせるのが正解?!
11
サーバーの境界を意識しない
世界を見てみよう!
Open Cloud Campus
12
Docker活用パターンの整理・どう組み合わせるのが正解?!
Kubernetes:複数ホストのDockerを管理する仕組みを提供
http://jp.techcrunch.com/2014/07/11/20140710google-microsoft-ibm-and-others-collaborate-to-make-managing-docker-containers-easier/
Open Cloud Campus
13
Docker活用パターンの整理・どう組み合わせるのが正解?!
サーバーの境界を意識しないアプリケーションデプロイ
 コンテナの配置先を自動的に振り分ける仕組みを用いて、複数ホストを「1つの
コンピューティングリソース」として活用します。
 アプリケーションを機能単位に分割してコンテナ化することで、さらなるメリッ
トが得られます。
– 必要な機能を負荷に応じてオートスケールします。
– 機能単位でコンテナを入れ替えることにより、稼働中のアプリケーションの動的な機能
変更が可能になります。
Dockerホスト Dockerホスト Dockerホスト ・・・
複数ホストを束ねて「1つのコンピュータ」として活用
マイクロサービス化
アプリケーション
Open Cloud Campus
14
Docker活用パターンの整理・どう組み合わせるのが正解?!
今後の方向性
 コンテナ化とマイクロサービス化は、アプリケーションの特性に応じた併用が可
能だと考えます。
– 複数サービスの共通機能(ある程度固定化した機能)は、コンテナ化でSaaS的に提供
– サービス特有の機能(頻繁な変更が求められる部分)は、マイクロサービス化して
OpenShiftで開発・実行
– いずれの場合もアプリケーションとインフラ環境の分離性を高めることで、クラウド間
での環境移行は圧倒的に容易
OpenStack
仮想
マシン
・・・
・・・
アプリケーションのコンテナ化で
本番デプロイを安全・迅速に
OpenStack
ベアメタル
サーバー
ベアメタル
サーバー
・・・
アプリケーションのマイクロサービス化
でオートスケール、動的機能拡張を実現
仮想
マシン
仮想
マシン
Dockerによるコンテナ化
OpenShiftによるマイクロサービス化
Docker活用パターンの整理・どう組み合わせるのが正解?!
Docker活用パターンの整理・ど
う組み合わせるのが正解?!
15
おまけ
Open Cloud Campus
16
Docker活用パターンの整理・どう組み合わせるのが正解?!
(おまけ)OpenShiftがGCPで使えるようになります!
http://googlecloudplatform-japan.blogspot.jp/2016/01/red-hat-openshift-dedicated-google.html
Open Cloud Campus
17
Docker活用パターンの整理・どう組み合わせるのが正解?!
OpenShiftにおける役割分担
アプリ開発者
開発環境
構成テンプレート
テンプレート管理者
公式RHEL
イメージ
Dockerfile
テスト担当者
開発環境
イメージ
テスト環境
構成テンプレート
開発中
アプリイメージ
ソースコード
動作確認
コード開発
テスト用
デプロイ環境
動作確認
本番環境
構成テンプレート
開発用デプロイ環境
本番用
デプロイ環境
開発済み
アプリイメージ
テスト済み
アプリイメージ
リリース担当者
http://www.slideshare.net/enakai/open-shift-v3
Docker活用パターンの整理・どう組み合わせるのが正解?!
中井悦司
Twitter @enakai00
オープンクラウド・キャンパス
Docker&OpenShiftでマイクロサービス
アーキテクチャーを実現!

More Related Content

Docker活用パターンの整理 ― どう組み合わせるのが正解?!