「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- OpenShiftに1年先行してオープンソース化し、
多数の開発者やパートナーを引き込むことができた。
- オープンソースコミュニティーの運営に懸念がある(NIH症候群)
- 互換性維持のために、合理的とは言い難いソフトウェアスタック、デプロイが大変。
- Diego
- アーキテクチャが大幅に変更された。
- Docker image(Dockerではなく、Docker image)をサポート
経緯 †
- 2011年4月12日:仮想化ソリューションのVMwareがオープンなPaaSとして提供を開始。
- 2013年3月7日:EMC、GEとともに立ち上げたPivotal Softwareに取り組みを移管。
- 2013年6月6日:V1のサービスを終了、V2の立ち上げ計画を発表
- V1とV2のAPI互換性はない。
- Herokuが開発したBuildpackを採用。
- 各種コンポーネントがGo言語で書き換え。
- WardenというLinuxコンテナで動かす。
- 2014年2月24日:「Cloud Foundry Foundation」を設立して、Cloud Foundryを移管。
- Dell EMC、IBM、SAP、Cisco、NTT、GE Digitalなど約65の企業が参加
- 約2400人の開発者からコードにして5万1000行分のコミットがある。
- プロジェクトは非営利団体Linux Foundationの支援を受けている。
- 2014年3月13日:DEAを置き換え、Dockerなどに対応するDiegoの開発を開始
- 2015年11月7日:Pivotal Cloud Foundry 1.6でDiegoを取り込み提供(V3?)
特徴 †
- エンド・ユーザ (アプリ開発者) 向けにフォーカスしている。
- Buildpackと言うものが、良しなにソースをイメージ化してくれる。
アーキテクチャ †
機能・役割ごとに明確にコンポーネントが分けられているのが特徴。
- 外部からのアクセスは全てRouterを経由して、適切なコンポーネントに分配される。
- コンポーネント間はNATSと呼ばれるメッセージングシステムを経由して連携する。
配置 †
- データベースなどはServicesノード上
- アプリケーションはDEAノード上
対応言語、フレームワークを追加する場合、DEAに対して変更を加える。
Diego †
- Kubernetesに似ているところ
etcdを通して 疎結合に連携
- スケジューラー(Master<=>Brain)
- ランナー(Minion<=>Cell)
Buildpack †
良しなにソースをイメージ化してくれる。
- Buildpackの実体は3つのスクリプト
- PHP buildpackではpythonを使っているが、シェル・スクリプト 等でもOK
- Buildpackのデプロイが基本だが、Docker imageのデプロイも可能。
compile †
- 言語の実行環境をセットアップするためのスクリプト
- バイナリをダウンロードしてきて配置するスクリプトが多い
detect †
- Buildpackの実行条件を指定するスクリプト。
- PHP Buildpackの場合、.phpスクリプトがあればOK。
を返すという決まり。
release †
メタデータとか入れるらしい
step by step的な †
参考 †
IBM Cloud †
Pivotal †
Cloud Foundry Docs †
https://docs.cloudfoundry.org
参考 †
アーキテクチャ †
Diego †
Buildpacks †
サイト †
SlideShare? †
@IT †
Think IT(シンクイット) †
TechTarget?ジャパン クラウド †
Publickey †
- Cloud Foundry V2
- PaaS基盤「Cloud Foundry V2」のアーキテクチャは、どうなっている?
- PaaS基盤「Cloud Foundry V2」内部で使われるBuildpack、Wardenコンテナの仕組みとは?
- Cloud Foundry V3
- Cloud Foundryの次バージョンでDockerや.NET対応を実現する「Diego」の内部構造は? 第25回PaaS勉強会