SlideShare a Scribd company logo
Exploring the Philosophy behind
Docker/Kubernetes/OpenShift
〜Docker/Kubernetes/OpenShiftの「心」を考えてみる
レッドハット株式会社
中井悦司 / Etsuji Nakai
Senior Solution Architect
and Cloud Evangelist
v1.1 2016/05/10
2
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
Contents
 Dockerが生まれた背景から読み解くDockerの「心」
 Googleの公開文書から読み解くKubernetesの「心」
 PaaSのユースケースから読み解くOpenShiftの「心」
 まとめ
Dockerが生まれた背景から読み解く
Dockerの「心」
4
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
Dockerが提供する基本機能
Dockerfile
① Dockerイメージを自動作成
OSイメージ
アプリケーション
ライブラリー
アプリケーション
フレームワーク
イメージの
作成手順を記載
Docker
イメージ
OS上にインストール可能な
ものはすべてイメージ化可能
② Dockerイメージを保存・公開
③ Dockerサーバーに
 イメージを配布・実行
5
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
History
 2011年 米dotCloud社がパブリックのPaaSサービスを提供開始
 2013年 dotCloudのコア技術を「Docker」として公開
 2014年 dotCloud社は、Docker, Inc.に社名を変更して、Dockerを
     活用したサービス、製品にビジネスを切り替えることを表明 (*)
(*) dotCloudのPaaSサービスは、米cloudControl社が事業を引き継いでサービスを提供中
  https://www.dotcloud.com/about.html
6
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
クラウドサービスとしてのPaaS環境の課題 (1)
 PaaSのメリット
⇒ 実行環境の構築・管理に手間をかけず、アプリケーション開発に集中
アプリケーション実行環境
(フレームワーク/ライブラリー)
サーバー/OS
開発したコードを
クラウドにデプロイ
アプリケーション
プログラム
7
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
アプリケーション実行環境
(フレームワーク/ライブラリー)
サーバー/OS
アプリケーション
プログラム
クラウドサービスとしてのPaaS環境の課題 (2)
 アプリケーションのコードと実行環境は、多くの場合、密結合しており、
「ありもの」の実行環境だけでは、不便が生じることも多い
「悪魔は細部に宿る」
・使いたいフレームワークが無い
・必要なライブラリーが不足
・ライブラリーバージョンの不整合
・etc...
8
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
dotCloudが実行環境のメンテナンスに用意した仕組み
 dotCloudは、クラウド内部の仕組みとして、アプリケーションの実行環
境を自動構築して「Dockerイメージ」に固める技術を開発
– さらに、クラウド以外の環境でも利用できるようにオープンソースとして公開
Dockerサービス
サーバー/OS
アプリケーション
プログラム
さまざまな実行環境を
Dockerイメージとして
作成・メンテナンス
Docker
イメージ
9
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
DevOpsの課題は開発と運用の「プロセスの断絶」
運用
変化が激しくて
内容を伝えきれない
受け入れテストの
時間が足りない
内容が分からないから
運用手順書が更新できない
サービスを止めずに
更新する方法が分からない
開発環境と本番環境の違いが
不明でデプロイ時に
何がおきるが分からない
「越えられない壁?」
設
計
要
件
定
義
テ
ス
ト
コ
 
デ
ィ
ン
グ
ー
10
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
Dockerの「心」とは?
 アプリケーション実行環境のイメージ化
– アプリケーション開発者が責任を持って「確実に動く環境」を用意する
– 本番環境へのデプロイを別手順で実施しない
 アプリケーションのポータビリティ
– Dockerデーモンがある環境ならどこでも実行可能
– アプリケーションに合わせたサーバー/OS環境の準備を個別に実施しない
Dev(アプリ)とOps(インフラ)の境界を明確にすることでDevOpsを
よりスムーズに実現
Dev視点
Ops視点
Googleの公開文書から読み解く
Kubernetesの「心」
12
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
元ネタ
 Large-scale cluster management at Google with Borg
– http://research.google.com/pubs/pub43438.html
 Borg, Omega, and Kubernetes
– http://research.google.com/pubs/pub44843.html
おすすめ
13
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
Application Oriented Infrastructure
 「コンテナによる隔離と依存性の最小化は、グーグル社内で非常
に効果的であることがわかったので、グーグルの社内インフラで
は、唯一コンテナだけを利用できるようにした」
 「個々のサーバーではなく、コンテナを管理するAPIを用意することで、データセ
ンターの『プライマリーキー』をサーバーからアプリケーションへ変化させた」
– アプリケーション開発者、および、運用担当者は、個々のサーバーやOSの設定を気にす
る必要がなくなった。
– インフラチームは、実行中のアプリケーション、あるいは、その開発者に大きな影響を
与えることなくハードウェアやOSの更新を実施できるようになった。
– リソースのモニタリングをサーバーではなく、アプリケーション単位で実施するように
変わり、アプリケーション監視や問題判別の精度が向上した。
⇒ 個々のハードウェアやOSの違いをアプリケーション開発者に意識させず、  
 「1つのコンピューターであるかのように利用可能にした」
14
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
サーバーの境界を意識しないアプリケーションデプロイ
 コンテナの配置先を自動的に振り分ける仕組みを用いて、複数ホストを「1つの
コンピューティングリソース」として活用します。
 アプリケーションを機能単位に分割してコンテナ化することで、さらなるメリッ
トが得られます。
– 必要な機能を負荷に応じてオートスケールします。
– 機能単位でコンテナを入れ替えることにより、稼働中のアプリケーションの動的な機能
変更が可能になります。
Dockerホスト Dockerホスト Dockerホスト ・・・
複数ホストを束ねて「1つのコンピュータ」として活用
マイクロサービス化
アプリケーション
PaaSのユースケースから読み解く
OpenShiftの「心」
16
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
サーバー/仮想マシン
Docker
サーバー/仮想マシン
Docker
Kubernetes
DevOps環境
・・・
実行リソース提供
コンテナー管理
複数サーバーに跨る
オーケストレーション
UI、モニタリング、
イメージ作成ワークフロー
etc.
RHEL7
OpenShift v3
OpenShift v3:DockerによるDevOps環境を実現
・・・
・・・
 OpenShift v3は、Docker/Kubernetesをコアコンポーネントとして、インテグレートされた
DevOps環境を提供します。
17
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
OpenShiftが提供する主な追加機能
 Dockerイメージのバージョン管理
– イメージストリームとイメージビルドシステム
– 「開発環境」そのものを開発可能に
 同一の開発環境のクラウド上への配布
– テンプレート機能
– それぞれの開発者に「自分専用」の開発/検証環境を提供
 マルチテナントでの利用
– プロジェクト単位でのネームスペースの分割
– 開発機能(ブランチ)単位で独立した開発/検証環境を提供
 サーバーの境界を意識しないコンテナのデプロイ
– Kubernetesによるコンテナのオーケストレーション
– マイクロサービス型アプリケーションのDevOps環境を実現
18
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
従来のPaaSの利用形態
アプリ開発者
開発環境
テンプレート
新しいコードをPushすると
開発・テスト環境に展開してビルド
開発したコードの
稼働確認
19
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
従来のPaaSの利用形態
アプリ開発者
開発環境
テンプレートテンプレートそのものの
メンテナンスはどうする?
開発中に開発環境の
アップデートは可能?
開発が終わったアプリは
どうやって本番展開する?
20
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
OpenShiftにおける役割分担
アプリ開発者
開発環境
構成テンプレート
テンプレート管理者
公式RHEL
イメージ
Dockerfile
テスト担当者
開発環境
イメージ
テスト環境
構成テンプレート
開発中
アプリイメージ
ソースコード
動作確認
コード開発
テスト用
デプロイ環境
動作確認
本番環境
構成テンプレート
開発用デプロイ環境
本番用
デプロイ環境
開発済み
アプリイメージ
テスト済み
アプリイメージ
リリース担当者
21
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
テンプレートとGUIの組み合わせによるPaaSの提供
 テンプレート機能とGUIを組み合わせることで、アプリケーション開発者には、従来型の
「PaaS」環境として見せることができます。
アプリケーション開発者は
コードの開発のみに集中
まとめ
23
Exploring the Philosophy behindDocker/Kubernetes/OpenShift
今後の方向性
 コンテナ化とマイクロサービス化は、アプリケーションの特性に応じた併用が可
能だと考えます。
– 複数サービスの共通機能(ある程度固定化した機能)は、コンテナ化でSaaS的に提供
– サービス特有の機能(頻繁な変更が求められる部分)は、マイクロサービス化して
OpenShiftで開発・実行
– いずれの場合もアプリケーションとインフラ環境の分離性を高めることで、クラウド間
での環境移行は圧倒的に容易
OpenStack
仮想
マシン
・・・
・・・
アプリケーションのコンテナ化で
本番デプロイを安全・迅速に
OpenStack
ベアメタル
サーバー
ベアメタル
サーバー
・・・
アプリケーションのマイクロサービス化
でオートスケール、動的機能拡張を実現
仮想
マシン
仮想
マシン
Dockerによるコンテナ化
OpenShiftによるマイクロサービス化
EMPOWER PEOPLE,
EMPOWER ENTERPRISE,
OPEN INNOVATION.

More Related Content

PDF
RHEL Atomic Hostのご紹介
PDF
割と新し目の Open shift origin で作る自宅 paas 作成記
PDF
DevOpsにおける組織に固有の事情を どのように整理するべきか
PDF
試して学べるクラウド技術! OpenShift
PDF
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
PDF
Dockerについて
PDF
Docker入門 - 基礎編 いまから始めるDocker管理
PPTX
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン
RHEL Atomic Hostのご紹介
割と新し目の Open shift origin で作る自宅 paas 作成記
DevOpsにおける組織に固有の事情を どのように整理するべきか
試して学べるクラウド技術! OpenShift
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
Dockerについて
Docker入門 - 基礎編 いまから始めるDocker管理
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン

What's hot (20)

PPTX
15分で分か(った気になれ)るDocker
PDF
Dockerイメージ構築 実践テクニック
PPTX
【社内勉強会】Docker入門
PPTX
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
PDF
Docker事始めと最新動向 2015年6月
PPTX
Dockerが抱えるネットワークの課題
PDF
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
PDF
Dockerクイックツアー
PPTX
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
PDF
Docker Compose 徹底解説
PDF
Docker入門
PDF
Docker実践入門
PDF
オトナのDocker入門
PDF
Dockerイメージの理解とコンテナのライフサイクル
PDF
OpenStackとDockerの未来像
PDF
Docker社内勉強会
PDF
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
PDF
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
PDF
DockerとDocker Hubの操作と概念
PDF
Docker基礎+docker0.9, 0.10概要
15分で分か(った気になれ)るDocker
Dockerイメージ構築 実践テクニック
【社内勉強会】Docker入門
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
Docker事始めと最新動向 2015年6月
Dockerが抱えるネットワークの課題
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
Dockerクイックツアー
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
Docker Compose 徹底解説
Docker入門
Docker実践入門
オトナのDocker入門
Dockerイメージの理解とコンテナのライフサイクル
OpenStackとDockerの未来像
Docker社内勉強会
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
DockerとDocker Hubの操作と概念
Docker基礎+docker0.9, 0.10概要
Ad

Viewers also liked (7)

PPTX
GKE vs OpenStack Magnum
PDF
From dev to prod: Kubernetes on AWS (short ver.)
PDF
Google borg と コンテナベース分散システムデザインパターン
PDF
kubernetes(GKE)環境におけるdatadog利用
PDF
ZabbixでDockerも監視
PDF
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
PDF
Kubernetesにまつわるエトセトラ(主に苦労話)
GKE vs OpenStack Magnum
From dev to prod: Kubernetes on AWS (short ver.)
Google borg と コンテナベース分散システムデザインパターン
kubernetes(GKE)環境におけるdatadog利用
ZabbixでDockerも監視
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
Kubernetesにまつわるエトセトラ(主に苦労話)
Ad

Similar to Exploring the Philosophy behind Docker/Kubernetes/OpenShift (7)

PDF
Docker PaaSとしての OpenShift, Deis, Flynn比較
PDF
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
PPTX
20180309 azure+container
PDF
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
PDF
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
PDF
OpenShift 3で、DockerのPaaSを作る話
PDF
Docker Enterprise Editionで実践するCaaS
Docker PaaSとしての OpenShift, Deis, Flynn比較
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
20180309 azure+container
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
OpenShift 3で、DockerのPaaSを作る話
Docker Enterprise Editionで実践するCaaS

More from Etsuji Nakai (20)

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

Exploring the Philosophy behind Docker/Kubernetes/OpenShift

  • 1. Exploring the Philosophy behind Docker/Kubernetes/OpenShift 〜Docker/Kubernetes/OpenShiftの「心」を考えてみる レッドハット株式会社 中井悦司 / Etsuji Nakai Senior Solution Architect and Cloud Evangelist v1.1 2016/05/10
  • 2. 2 Exploring the Philosophy behindDocker/Kubernetes/OpenShift Contents  Dockerが生まれた背景から読み解くDockerの「心」  Googleの公開文書から読み解くKubernetesの「心」  PaaSのユースケースから読み解くOpenShiftの「心」  まとめ
  • 4. 4 Exploring the Philosophy behindDocker/Kubernetes/OpenShift Dockerが提供する基本機能 Dockerfile ① Dockerイメージを自動作成 OSイメージ アプリケーション ライブラリー アプリケーション フレームワーク イメージの 作成手順を記載 Docker イメージ OS上にインストール可能な ものはすべてイメージ化可能 ② Dockerイメージを保存・公開 ③ Dockerサーバーに  イメージを配布・実行
  • 5. 5 Exploring the Philosophy behindDocker/Kubernetes/OpenShift History  2011年 米dotCloud社がパブリックのPaaSサービスを提供開始  2013年 dotCloudのコア技術を「Docker」として公開  2014年 dotCloud社は、Docker, Inc.に社名を変更して、Dockerを      活用したサービス、製品にビジネスを切り替えることを表明 (*) (*) dotCloudのPaaSサービスは、米cloudControl社が事業を引き継いでサービスを提供中   https://www.dotcloud.com/about.html
  • 6. 6 Exploring the Philosophy behindDocker/Kubernetes/OpenShift クラウドサービスとしてのPaaS環境の課題 (1)  PaaSのメリット ⇒ 実行環境の構築・管理に手間をかけず、アプリケーション開発に集中 アプリケーション実行環境 (フレームワーク/ライブラリー) サーバー/OS 開発したコードを クラウドにデプロイ アプリケーション プログラム
  • 7. 7 Exploring the Philosophy behindDocker/Kubernetes/OpenShift アプリケーション実行環境 (フレームワーク/ライブラリー) サーバー/OS アプリケーション プログラム クラウドサービスとしてのPaaS環境の課題 (2)  アプリケーションのコードと実行環境は、多くの場合、密結合しており、 「ありもの」の実行環境だけでは、不便が生じることも多い 「悪魔は細部に宿る」 ・使いたいフレームワークが無い ・必要なライブラリーが不足 ・ライブラリーバージョンの不整合 ・etc...
  • 8. 8 Exploring the Philosophy behindDocker/Kubernetes/OpenShift dotCloudが実行環境のメンテナンスに用意した仕組み  dotCloudは、クラウド内部の仕組みとして、アプリケーションの実行環 境を自動構築して「Dockerイメージ」に固める技術を開発 – さらに、クラウド以外の環境でも利用できるようにオープンソースとして公開 Dockerサービス サーバー/OS アプリケーション プログラム さまざまな実行環境を Dockerイメージとして 作成・メンテナンス Docker イメージ
  • 9. 9 Exploring the Philosophy behindDocker/Kubernetes/OpenShift DevOpsの課題は開発と運用の「プロセスの断絶」 運用 変化が激しくて 内容を伝えきれない 受け入れテストの 時間が足りない 内容が分からないから 運用手順書が更新できない サービスを止めずに 更新する方法が分からない 開発環境と本番環境の違いが 不明でデプロイ時に 何がおきるが分からない 「越えられない壁?」 設 計 要 件 定 義 テ ス ト コ   デ ィ ン グ ー
  • 10. 10 Exploring the Philosophy behindDocker/Kubernetes/OpenShift Dockerの「心」とは?  アプリケーション実行環境のイメージ化 – アプリケーション開発者が責任を持って「確実に動く環境」を用意する – 本番環境へのデプロイを別手順で実施しない  アプリケーションのポータビリティ – Dockerデーモンがある環境ならどこでも実行可能 – アプリケーションに合わせたサーバー/OS環境の準備を個別に実施しない Dev(アプリ)とOps(インフラ)の境界を明確にすることでDevOpsを よりスムーズに実現 Dev視点 Ops視点
  • 12. 12 Exploring the Philosophy behindDocker/Kubernetes/OpenShift 元ネタ  Large-scale cluster management at Google with Borg – http://research.google.com/pubs/pub43438.html  Borg, Omega, and Kubernetes – http://research.google.com/pubs/pub44843.html おすすめ
  • 13. 13 Exploring the Philosophy behindDocker/Kubernetes/OpenShift Application Oriented Infrastructure  「コンテナによる隔離と依存性の最小化は、グーグル社内で非常 に効果的であることがわかったので、グーグルの社内インフラで は、唯一コンテナだけを利用できるようにした」  「個々のサーバーではなく、コンテナを管理するAPIを用意することで、データセ ンターの『プライマリーキー』をサーバーからアプリケーションへ変化させた」 – アプリケーション開発者、および、運用担当者は、個々のサーバーやOSの設定を気にす る必要がなくなった。 – インフラチームは、実行中のアプリケーション、あるいは、その開発者に大きな影響を 与えることなくハードウェアやOSの更新を実施できるようになった。 – リソースのモニタリングをサーバーではなく、アプリケーション単位で実施するように 変わり、アプリケーション監視や問題判別の精度が向上した。 ⇒ 個々のハードウェアやOSの違いをアプリケーション開発者に意識させず、    「1つのコンピューターであるかのように利用可能にした」
  • 14. 14 Exploring the Philosophy behindDocker/Kubernetes/OpenShift サーバーの境界を意識しないアプリケーションデプロイ  コンテナの配置先を自動的に振り分ける仕組みを用いて、複数ホストを「1つの コンピューティングリソース」として活用します。  アプリケーションを機能単位に分割してコンテナ化することで、さらなるメリッ トが得られます。 – 必要な機能を負荷に応じてオートスケールします。 – 機能単位でコンテナを入れ替えることにより、稼働中のアプリケーションの動的な機能 変更が可能になります。 Dockerホスト Dockerホスト Dockerホスト ・・・ 複数ホストを束ねて「1つのコンピュータ」として活用 マイクロサービス化 アプリケーション
  • 16. 16 Exploring the Philosophy behindDocker/Kubernetes/OpenShift サーバー/仮想マシン Docker サーバー/仮想マシン Docker Kubernetes DevOps環境 ・・・ 実行リソース提供 コンテナー管理 複数サーバーに跨る オーケストレーション UI、モニタリング、 イメージ作成ワークフロー etc. RHEL7 OpenShift v3 OpenShift v3:DockerによるDevOps環境を実現 ・・・ ・・・  OpenShift v3は、Docker/Kubernetesをコアコンポーネントとして、インテグレートされた DevOps環境を提供します。
  • 17. 17 Exploring the Philosophy behindDocker/Kubernetes/OpenShift OpenShiftが提供する主な追加機能  Dockerイメージのバージョン管理 – イメージストリームとイメージビルドシステム – 「開発環境」そのものを開発可能に  同一の開発環境のクラウド上への配布 – テンプレート機能 – それぞれの開発者に「自分専用」の開発/検証環境を提供  マルチテナントでの利用 – プロジェクト単位でのネームスペースの分割 – 開発機能(ブランチ)単位で独立した開発/検証環境を提供  サーバーの境界を意識しないコンテナのデプロイ – Kubernetesによるコンテナのオーケストレーション – マイクロサービス型アプリケーションのDevOps環境を実現
  • 18. 18 Exploring the Philosophy behindDocker/Kubernetes/OpenShift 従来のPaaSの利用形態 アプリ開発者 開発環境 テンプレート 新しいコードをPushすると 開発・テスト環境に展開してビルド 開発したコードの 稼働確認
  • 19. 19 Exploring the Philosophy behindDocker/Kubernetes/OpenShift 従来のPaaSの利用形態 アプリ開発者 開発環境 テンプレートテンプレートそのものの メンテナンスはどうする? 開発中に開発環境の アップデートは可能? 開発が終わったアプリは どうやって本番展開する?
  • 20. 20 Exploring the Philosophy behindDocker/Kubernetes/OpenShift OpenShiftにおける役割分担 アプリ開発者 開発環境 構成テンプレート テンプレート管理者 公式RHEL イメージ Dockerfile テスト担当者 開発環境 イメージ テスト環境 構成テンプレート 開発中 アプリイメージ ソースコード 動作確認 コード開発 テスト用 デプロイ環境 動作確認 本番環境 構成テンプレート 開発用デプロイ環境 本番用 デプロイ環境 開発済み アプリイメージ テスト済み アプリイメージ リリース担当者
  • 21. 21 Exploring the Philosophy behindDocker/Kubernetes/OpenShift テンプレートとGUIの組み合わせによるPaaSの提供  テンプレート機能とGUIを組み合わせることで、アプリケーション開発者には、従来型の 「PaaS」環境として見せることができます。 アプリケーション開発者は コードの開発のみに集中
  • 23. 23 Exploring the Philosophy behindDocker/Kubernetes/OpenShift 今後の方向性  コンテナ化とマイクロサービス化は、アプリケーションの特性に応じた併用が可 能だと考えます。 – 複数サービスの共通機能(ある程度固定化した機能)は、コンテナ化でSaaS的に提供 – サービス特有の機能(頻繁な変更が求められる部分)は、マイクロサービス化して OpenShiftで開発・実行 – いずれの場合もアプリケーションとインフラ環境の分離性を高めることで、クラウド間 での環境移行は圧倒的に容易 OpenStack 仮想 マシン ・・・ ・・・ アプリケーションのコンテナ化で 本番デプロイを安全・迅速に OpenStack ベアメタル サーバー ベアメタル サーバー ・・・ アプリケーションのマイクロサービス化 でオートスケール、動的機能拡張を実現 仮想 マシン 仮想 マシン Dockerによるコンテナ化 OpenShiftによるマイクロサービス化