Cloud Foundry は主にRuby、Go言語によって開発されているオープンソースのPaaS(Open PaaS)です。
当初VMWare社が開発を行っていましたが、2014年にCloud Foundry Foundationに開発のガバナンスを移管されました。
- ユーザがアプリをpush
- Buildpackが実行される
- Detect(Buildpackの実行条件と合致するかチェック)
- Compile(実行環境を構築)
- Release(実行に必要な環境変数などの情報を出力)
- Cloud Foundryの実行ノードでアプリを起動
参考: Cloud Foundryで学ぶ、PaaSのしくみ講座
主に公式の Documentation を元に記述しています。
- Routing
- Router
- URLによってアクセスを振り分けるコンポーネント - 実体はUbuntu上にて動作する
- Router
- Authentication
- OAuth2 Server (UAA) and Login Server
- 認証の管理
- OAuth2 Server (UAA) and Login Server
- App Lifecycle
- Cloud Controller and Diego Brain
- アプリのライフサイクルを管理する
- pushされたものを受け取る、Dropletを実行環境に受け渡す、など
- nsync, BBS, and Cell Reps
- アプリが継続して実行されるようにステータスの管理を実行する
- Cloud Controller and Diego Brain
- App Storage & Execution
- Blobstore
- 様々なバイナリファイルのレポジトリとして機能する
- Diego Cell
- アプリをコンテナとして実行する - Services
- Service Brokers
- 外部のサービスと連携したりできる(e.g. MySQL)
- Blobstore
- Messaging
- Consul and BBS
- コンポーネント間の通信に使われる
- Consul and BBS
- Metrics & Logging
- ログと監視メトリクスの管理
Cloud Foundryでは cf CLIを利用して操作を行います。
- Java
- Ruby
- Node.js
- Scala
- Go
- Python
- PHP
など
