昨今のpaas事情

最近のPaaS事情
2017年6月21日
第8回 城東.NET勉強会
まずは自己紹介
・名前
木下 裕之
・HN:kingkino
・SNS
Twitter @kingkinoko FaceBookやってます
・Azure暦:7年
・MCSE : Cloud Platform and Infrastructure 2017
(MCP 70-532 : 70-533 : 70-534)
・Azureもくもく会やってます。
※この資料は2017年6月21日時点での情報を元に作成しています。
SaasとPaasとIaas
Network Hard War OS Middle Ware Applicaitons
SaaS
Software as a Service
アプリケーションまで完全にサービス化して提供するクラウドサービス
例:Gmail,DropBox等
PaaS
Platform as a Service
Middle Ware層までを提供するクラウドサービス
例:Google App Engine,Azure Cloud Service等
IaaS
Infrastracture as a Service
OSレイヤから下を対象に提供するサービス
例:Azure VM,Google Compute Engine,Amazon Elastic Compute
Cloud
Paasの隆盛について
ベンダーロックアウトベンダーロックイン
Cloud Foundry とは、オープンソースのPlatform as a
Service(PaaS)ソフトウェアの名称である。当初VMWare
社が開発を行っていたが、その後EMC社とVMWare社に
よって設立されたPivotal Software社のガバナンスを経て、
2014年Pivotal,EMC,VMWare,IBM,HP,SAP,NTT,Fujitsu等
が参加するCloud Foundry Foundationに移管された。
2017年 MicroSoftがCloudFoundryに参加
kubernetes(「K8s」と呼ばれる)は、元々Googleによ
って設計されたコンテナ化アプリケーションの配備、スケ
ーリングおよび管理を自動化するためのオープンソースシ
ステムです。ホストのクラスタ間でアプリケーション・コ
ンテナの配置、スケーリングおよび操作を自動化するため
の「プラットフォーム」を提供することを目的としていま
す。
Red Hat® OpenShift は、Docker と Kubernetes を
企業にもたらすコンテナ・アプリケーション・プラット
フォームです。
PaaSの隆盛について
ベンダーロックイン
自社ソフトウェアを組み合わせたPaaS 自社ソフトウェアを組み合わせたものは開発の自由度は大きい
かもしれないが開発者への負担が大きい
Oracle Cloud
プロプライエタリなサービスを組み合わせるPaaS プロプライエタリなサービスは、SaaSよりは自由度はあるもの
の、正しく機能させるにはそのサービスの限界を十分に理解し
た上で作らないといけないというハードルの高さがある
GAE
Elastic Beans Talk
Azure Cloud Service
SaaSをベースとするPaaS 「EXCEL以上社内システム未満」のように、ちょっとしたツー
ルを作るには便利かもしれないが自由度に乏しい
Force.com
kintone
ベンダーロックアウト
コンテナベースのOpenPaaSやKubernetes Dockerをベースとするkubernetesと、それを取り入れた
OpenShiftやDeisなどのOpenPaaS群が対峙する形で大きく盛り
上がってきている。
Cloudfoundry
OpenShift
GKE
仮想化環境
コンテ技術のメリット
・可搬性がありベンダーロックインになりにくい
・制約が少なく柔軟性がある(IaaSと同程度の自由がある)
・これまでの延長線上の技術で構築でき敷居が低い
仮想化環境
出展: http://www.atmarkit.co.jp/ait/articles/1611/04/news028.html
Docker for WindowsによるLinuxコンテナ実行の仕組みHyper-Vコンテナのアーキテクチャ Windows Serverコンテナのアーキテクチャ
項目 Container Hyper-V
特長 軽量・高速 高い隔離性
コンテナの起動 速い(プロセスの起動だけでよいため) 遅い(仮想マシンの起動とコンテナOSのブートに時間がかかる)
コンテナの実行 ホストOS上のプロセスとして実行 Hyper-V上のゲストOS内のプロセスとして実行
隔離性
Hyper-Vコンテナよりも低い
同じホスト上のコンテナは、同じ1つのホストOS下で実行される
悪意のあるコンテナやOSに脆弱性があると、他のコンテナも影響を
受ける可能性がある
コンテナごとに仮想マシンとして隔離されるので、独立性は高い
他のコンテナの影響を受けることはほぼない
ホストOSとコンテナOS関係
同じバージョンにする必要がある。
一致しない場合はコンテナを実行できない
異なるOSや異なるバージョン/パッチレベルで も構わない
The TWELVE-FACTOR APP
出展:https://12factor.net/ja/
1. コードベース
バージョン管理されている1つのコードベースと複数のデプロイ
2. 依存関係
依存関係を明示的に宣言し分離する
3. 設定
設定を環境変数に格納する
4. バックエンドサービス
バックエンドサービスをアタッチされたリソースとして扱う
5. ビルド、リリース、実行
ビルド、リリース、実行の3つのステージを厳密に分離する
6. プロセス
アプリケーションを1つもしくは複数のステートレスなプロセス
として実行する
7. ポートバインディング
ポートバインディングを通してサービスを公開する
8. 並行性
プロセスモデルによってスケールアウトする
9. 廃棄容易性
高速な起動とグレースフルシャットダウンで堅牢性を最大化する
10. 開発/本番一致
開発、ステージング、本番環境をできるだけ一致させた状態を保つ
11. ログ
ログをイベントストリームとして扱う
12. 管理プロセス
管理タスクを1回限りのプロセスとして実行する
The TWELVE-FACTOR APPとはHerokuの開発者が提唱しているWebアプリケーションを容易にスケーラブルにするためのベストプラクティスで
す。DockerContainerをメインにしたインフラ運用を考慮した時に必ず発生しうる12の要素についてまとめたものです。この12要素を前提に作成
されたアプリのことをクラウドネイティブなアプリケーションと呼ぶらしいです。Saas向けに提唱されたものですがCloudfoundryやOpenShift等
のコンテナ型のPaasが12要素に準拠しているようです。
1 of 8

More Related Content

What's hot(20)

[Japan Tech summit 2017]  CLD 016[Japan Tech summit 2017]  CLD 016
[Japan Tech summit 2017] CLD 016
Microsoft Tech Summit 2017339 views
[Japan Tech summit 2017] DAL 003[Japan Tech summit 2017] DAL 003
[Japan Tech summit 2017] DAL 003
Microsoft Tech Summit 2017182 views
[Japan Tech summit 2017]  PRD 008[Japan Tech summit 2017]  PRD 008
[Japan Tech summit 2017] PRD 008
Microsoft Tech Summit 2017197 views
[Japan Tech summit 2017]  CLD 003[Japan Tech summit 2017]  CLD 003
[Japan Tech summit 2017] CLD 003
Microsoft Tech Summit 2017444 views
[Japan Tech summit 2017]  CLD 002[Japan Tech summit 2017]  CLD 002
[Japan Tech summit 2017] CLD 002
Microsoft Tech Summit 2017177 views
[Japan Tech summit 2017]  APP 003[Japan Tech summit 2017]  APP 003
[Japan Tech summit 2017] APP 003
Microsoft Tech Summit 2017350 views
[Japan Tech summit 2017]  APP 006[Japan Tech summit 2017]  APP 006
[Japan Tech summit 2017] APP 006
Microsoft Tech Summit 20172.3K views
[Japan Tech summit 2017] PRD 009[Japan Tech summit 2017] PRD 009
[Japan Tech summit 2017] PRD 009
Microsoft Tech Summit 2017449 views
[Japan Tech summit 2017] SEC 010[Japan Tech summit 2017] SEC 010
[Japan Tech summit 2017] SEC 010
Microsoft Tech Summit 20171.1K views
[Japan Tech summit 2017] SEC 005[Japan Tech summit 2017] SEC 005
[Japan Tech summit 2017] SEC 005
Microsoft Tech Summit 20171.1K views
[Japan Tech summit 2017] DAL 006[Japan Tech summit 2017] DAL 006
[Japan Tech summit 2017] DAL 006
Microsoft Tech Summit 2017227 views
[Japan Tech summit 2017] SEC 001[Japan Tech summit 2017] SEC 001
[Japan Tech summit 2017] SEC 001
Microsoft Tech Summit 2017428 views
[Japan Tech summit 2017]  DAL 001[Japan Tech summit 2017]  DAL 001
[Japan Tech summit 2017] DAL 001
Microsoft Tech Summit 2017345 views
[Japan Tech summit 2017]  CLD 019[Japan Tech summit 2017]  CLD 019
[Japan Tech summit 2017] CLD 019
Microsoft Tech Summit 2017285 views
[Japan Tech summit 2017] SEC 007[Japan Tech summit 2017] SEC 007
[Japan Tech summit 2017] SEC 007
Microsoft Tech Summit 2017462 views
[Japan Tech summit 2017] SEC 011[Japan Tech summit 2017] SEC 011
[Japan Tech summit 2017] SEC 011
Microsoft Tech Summit 20171.7K views
[Japan Tech summit 2017]  PRD 006[Japan Tech summit 2017]  PRD 006
[Japan Tech summit 2017] PRD 006
Microsoft Tech Summit 2017281 views
SQL Azure Management and SecuritySQL Azure Management and Security
SQL Azure Management and Security
junichi anno914 views

Similar to 昨今のpaas事情(20)

明日から役立つazure①明日から役立つazure①
明日から役立つazure①
裕之 木下219 views
[Japan Tech summit 2017]  CLD 011[Japan Tech summit 2017]  CLD 011
[Japan Tech summit 2017] CLD 011
Microsoft Tech Summit 2017282 views
Reinvent2017 recap-gaming-session-1Reinvent2017 recap-gaming-session-1
Reinvent2017 recap-gaming-session-1
Amazon Web Services Japan10.8K views
20170719 wintechq azure_stack20170719 wintechq azure_stack
20170719 wintechq azure_stack
Osamu Takazoe283 views

昨今のpaas事情

  • 2. まずは自己紹介 ・名前 木下 裕之 ・HN:kingkino ・SNS Twitter @kingkinoko FaceBookやってます ・Azure暦:7年 ・MCSE : Cloud Platform and Infrastructure 2017 (MCP 70-532 : 70-533 : 70-534) ・Azureもくもく会やってます。 ※この資料は2017年6月21日時点での情報を元に作成しています。
  • 3. SaasとPaasとIaas Network Hard War OS Middle Ware Applicaitons SaaS Software as a Service アプリケーションまで完全にサービス化して提供するクラウドサービス 例:Gmail,DropBox等 PaaS Platform as a Service Middle Ware層までを提供するクラウドサービス 例:Google App Engine,Azure Cloud Service等 IaaS Infrastracture as a Service OSレイヤから下を対象に提供するサービス 例:Azure VM,Google Compute Engine,Amazon Elastic Compute Cloud
  • 4. Paasの隆盛について ベンダーロックアウトベンダーロックイン Cloud Foundry とは、オープンソースのPlatform as a Service(PaaS)ソフトウェアの名称である。当初VMWare 社が開発を行っていたが、その後EMC社とVMWare社に よって設立されたPivotal Software社のガバナンスを経て、 2014年Pivotal,EMC,VMWare,IBM,HP,SAP,NTT,Fujitsu等 が参加するCloud Foundry Foundationに移管された。 2017年 MicroSoftがCloudFoundryに参加 kubernetes(「K8s」と呼ばれる)は、元々Googleによ って設計されたコンテナ化アプリケーションの配備、スケ ーリングおよび管理を自動化するためのオープンソースシ ステムです。ホストのクラスタ間でアプリケーション・コ ンテナの配置、スケーリングおよび操作を自動化するため の「プラットフォーム」を提供することを目的としていま す。 Red Hat® OpenShift は、Docker と Kubernetes を 企業にもたらすコンテナ・アプリケーション・プラット フォームです。
  • 5. PaaSの隆盛について ベンダーロックイン 自社ソフトウェアを組み合わせたPaaS 自社ソフトウェアを組み合わせたものは開発の自由度は大きい かもしれないが開発者への負担が大きい Oracle Cloud プロプライエタリなサービスを組み合わせるPaaS プロプライエタリなサービスは、SaaSよりは自由度はあるもの の、正しく機能させるにはそのサービスの限界を十分に理解し た上で作らないといけないというハードルの高さがある GAE Elastic Beans Talk Azure Cloud Service SaaSをベースとするPaaS 「EXCEL以上社内システム未満」のように、ちょっとしたツー ルを作るには便利かもしれないが自由度に乏しい Force.com kintone ベンダーロックアウト コンテナベースのOpenPaaSやKubernetes Dockerをベースとするkubernetesと、それを取り入れた OpenShiftやDeisなどのOpenPaaS群が対峙する形で大きく盛り 上がってきている。 Cloudfoundry OpenShift GKE
  • 7. 仮想化環境 出展: http://www.atmarkit.co.jp/ait/articles/1611/04/news028.html Docker for WindowsによるLinuxコンテナ実行の仕組みHyper-Vコンテナのアーキテクチャ Windows Serverコンテナのアーキテクチャ 項目 Container Hyper-V 特長 軽量・高速 高い隔離性 コンテナの起動 速い(プロセスの起動だけでよいため) 遅い(仮想マシンの起動とコンテナOSのブートに時間がかかる) コンテナの実行 ホストOS上のプロセスとして実行 Hyper-V上のゲストOS内のプロセスとして実行 隔離性 Hyper-Vコンテナよりも低い 同じホスト上のコンテナは、同じ1つのホストOS下で実行される 悪意のあるコンテナやOSに脆弱性があると、他のコンテナも影響を 受ける可能性がある コンテナごとに仮想マシンとして隔離されるので、独立性は高い 他のコンテナの影響を受けることはほぼない ホストOSとコンテナOS関係 同じバージョンにする必要がある。 一致しない場合はコンテナを実行できない 異なるOSや異なるバージョン/パッチレベルで も構わない
  • 8. The TWELVE-FACTOR APP 出展:https://12factor.net/ja/ 1. コードベース バージョン管理されている1つのコードベースと複数のデプロイ 2. 依存関係 依存関係を明示的に宣言し分離する 3. 設定 設定を環境変数に格納する 4. バックエンドサービス バックエンドサービスをアタッチされたリソースとして扱う 5. ビルド、リリース、実行 ビルド、リリース、実行の3つのステージを厳密に分離する 6. プロセス アプリケーションを1つもしくは複数のステートレスなプロセス として実行する 7. ポートバインディング ポートバインディングを通してサービスを公開する 8. 並行性 プロセスモデルによってスケールアウトする 9. 廃棄容易性 高速な起動とグレースフルシャットダウンで堅牢性を最大化する 10. 開発/本番一致 開発、ステージング、本番環境をできるだけ一致させた状態を保つ 11. ログ ログをイベントストリームとして扱う 12. 管理プロセス 管理タスクを1回限りのプロセスとして実行する The TWELVE-FACTOR APPとはHerokuの開発者が提唱しているWebアプリケーションを容易にスケーラブルにするためのベストプラクティスで す。DockerContainerをメインにしたインフラ運用を考慮した時に必ず発生しうる12の要素についてまとめたものです。この12要素を前提に作成 されたアプリのことをクラウドネイティブなアプリケーションと呼ぶらしいです。Saas向けに提唱されたものですがCloudfoundryやOpenShift等 のコンテナ型のPaasが12要素に準拠しているようです。