マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【OSS情報アーカイブ】Cloud Foundry


※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。
コンテンツ
「Cloud Foundry」とは
概要
Cloud Foundry(クラウドファウンドリー)とは、Kubernetes上でクラウドネイティブアプリケーションを構築するためのオープンソースPaaS(Platform as a Service)プラットフォームです。インフラ環境の「複雑な構成管理」や「日常的運用タスク」を除去できるため、アプリケーションの機能開発部分に注力できます。
基本説明
Cloud Foundryは、選択した任意の「クラウド」「フレームワーク」「言語」で、クラウドネイティブアプリをすばやく簡単に「構築」「テスト」「デプロイ」「スケーリング」できるクラウドアプリケーションプラットフォームとして、非常に効率的な最新モデルを提供します。
Cloud Foundryを使用することで、アプリを動作させるためのインフラストラクチャ環境に関する「構成」「管理」「保守」「運用」などに関連するコストと複雑さを取り除けます。
「PaaS」とは
「PaaS(Platform as a Service)」とは、アプリケーション動作基盤(プラットフォーム)をサービスとして提供する仕組みを指します。
PaaSサービスを利用することで、「インフラ部分」+「その上のレイヤー部分」までまとめて自動化することが可能になります。
開発者が主に管理するのは「アプリケーション+データのみ」でよくなるため、アプリケーション開発に専念できます。
経緯
2009年、VMwareの小さなチームが、企業向けサービスプラットフォーム「ProjectB29」を開発しました。
その後、プロジェクト名は「CloudFoundry」に変更され、大きく発展し、数多くのグローバル企業が支援しています。
→cloudfoundry.org →cloud-foundry-foundation-turns-5
オフィシャルサイト情報
■オフィシャルサイト
■GitHub
■主要開発元
Cloud Foundryは、Cloud Foundry Foundationが中心となり開発が進められています。
■ライセンス情報
Cloud Foundryのライセンスは「Apache License 2.0」です。
■チュートリアル
■導入事例
「多くのグローバル企業」や「Fortune500の半数以上」がCloudFoundryを使用して、数多くの優れたクラウドネイティブアプリを開発しています。
→cloudfoundry.org →user-stories
同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Kubernetes」など。
クラウドネイティブコンピューティング基盤「Kubernetes」ベース
■「Kubernetes」とは
Kubernetes(クーベルネイテス)とは、クラウドネイティブコンピューティング基盤のためのDockerコンテナ群管理フレームワークです。
Dockerコンテナ群に対する各種管理機能を提供することで、アプリケーションコンテナを論理的な単位にグループ化し、管理性を向上させます。
「メンテナンス機能」「スケーリング機能」「ノード群スケジューリング機能」「ワークロード動的管理機能」「ユーザー定義状態の共有/管理機能」「ロードバランサー機能」「死活監視機能」などの豊富な機能を備えています。
→ossnews.jp →oss_info →Kubernetes
■「Cloud Foundry」=「Kubernetes」+「シンプル性と効率性」
Cloud Foundryは、クラウドネイティブコンピューティング基盤「Kubernetes」をベースとして動作します。
「Kubernetesの柔軟性とモジュール性」に「CloudFoundryのシンプル性と効率性」が加えられることで、さらに使いやすいクラウドネイティブアプリプラットフォームとなっています。
Cloud Foundry開発コミュニティは、長年に渡り、「Kubernetes」や「その他のクラウドネイティブオープンソースプロジェクト」を含むようにCloudFoundryアーキテクチャを発展させてきています。
Cloud Foundryは進化を続けており、Kubernetesを使用するケースにおいて、クラス最高のアプリ開発者エクスペリエンスを提供します。
デプロイ機能
■IaaSデプロイ
Cloud Foundryは、多くのIaaS(Infrastructure as a Service)にデプロイできます。
・vSphere
・AWS
・Azure
・Google Cloud Platform
・OpenStack など
■単独デプロイ
また、Cloud Foundryをデプロイして、独自コンピューティングインフラストラクチャとして構成したアプリ実行も可能です。
セキュリティ
オープンソースプロジェクトチームは、脆弱性に対応してセキュリティパッチを迅速に展開し、最も機密性の高いミッションクリティカルなアプリケーション開発でもCloudFoundryが安全であるように尽力しています。
■主なセキュリティ対策
Cloud Foundryは、セキュリティ脅威を軽減するために次の対策を実装しています。
・ネットワーク表面積を最小限に抑える
・コンテナ内においてアプリとデータを分離
・接続を暗号化
・ロールベースアクセス制御
・マルチテナント環境におけるセキュリティ確保
・リソース不足によるサービス拒否攻撃(DoS/DDoS攻撃)発生可能性を低減 など
高可用性
「アベイラビリティーゾーン」「外部ロードバランサー」「外部BLOBストレージ」などを使用して、デプロイメントの高可用性を確保しています。
スケーラブル
Cloud Foundryは、小規模チームレベルからグローバル企業レベルまで拡張し、要求の厳しい環境を自動的にサポートします。
また、大規模実行に必要な数の継続的デリバリーパイプラインもサポートします。
負荷分散
Cloud Foundryは、複数マシン間で処理負荷のバランスを取り、ポイント障害に対する効率と回復力を最適化します。
以下のコンポーネントを使用しています。
■BOSH
BOSHは、物理コンピューティングインフラストラクチャ上にVMを作成してデプロイし、このクラウド上にCloudFoundryをデプロイして実行します。
■Cloud Controller
Cloud Controllerは、クラウドのVMでアプリやその他のプロセスを実行し、需要のバランスを取り、アプリのライフサイクルを管理します。
→docs.cloudfoundry.org →concepts →architecture →cloud-controller
■CloudFoundryルーティングアーキテクチャ
CloudFoundryルーティングアーキテクチャにより、リクエストをコントロールします。
→docs.cloudfoundry.org →concepts →cf-routing-architecture
開発ツール統合
Cloud Foundryは「CI/CD」や「IDE」などの環境やツールと統合し、実績のある開発者エクスペリエンスをKubernetesで活用できます。
関連プロジェクト①Kubernetesデプロイソリューション「cf-for-k8s」
概要
「cf-for-k8s」は、「Cloud Foundry開発者API」を「Kubernetes」「Istio」「その他のオープンソーステクノロジー」と統合し、Kubernetesを使用している開発者の生産性を向上させることを目的としています。
アプリ開発環境に焦点を当てているプロジェクトに向いています。
→cloudfoundry.org →technology →cf-for-k8s
→github.com →cloudfoundry/cf-for-k8s
広範囲デプロイ
「cf-for-k8s」は、Cloud Foundryの当初目的の1つである「選択したインフラストラクチャで実行できる柔軟性」を保持しています。
「ノートPC」「データセンター」「パブリッククラウド」「エッジ環境」など、幅広い環境に対するデプロイがさらに簡単になっています。
「Cloud Foundry開発者API」+「最先端ツール」
「cf-for-k8s」は、「Cloud Foundry開発者API」を、「Kubernetes」「Istio」「Envoy」「Fluentd」などの人気あるオープンソースプロジェクトと慎重に組み合わせています。
「カスタムリソース定義(CRD)」と「Kubernetesプリミティブ」を使用して、新しいコンポーネントで使い慣れた開発者エクスペリエンスを提供します。
スモールフットプリント
cf-for-k8sは、「迅速インストール」と「スモールフットプリント」を特徴としているため、スモールスタートで将来に向けて構築しながら拡張し、大規模本番ワークロードに対応できます。
関連プロジェクト②Kubernetes用CloudFoundryディストリビューション「KubeCF」
概要
「KubeCF」は、Kubernetes用CFAR(Cloud Foundry Application Runtime)ディストリビューションです。
Cloud Foundryの有用な機能を取得し、コンテナとしてパッケージ化してKubernetesにデプロイできます。
開発者はCloud Foundryから気に入った生産性を得ることができ、プラットフォームオペレーターはKubernetesツールとAPIを使用してインフラストラクチャの抽象化を管理できます。
本番アプリをホスティングするケースなどに向いています。
→cloudfoundry.org →technology →kubecf
→github.com →cloudfoundry-incubator/kubecf
コンテナ化Cloud Foundry
「KubeCF」を使用すると、従来のCloudFoundryアーキテクチャを再パッケージ化できます。
コーディング効率化
「KubeCF」は、Cloud Foundry開発者エクスペリエンスのシンプルさをあらゆる場所のKubernetesクラスタにもたらすことで、開発者のコーディングを効率化できます。
基盤コンテナスケジューラー構成
ディストリビューションは、Project Quarksのcf-operatorと連携して、cf-deploymentからビルドされたリリースをデプロイおよび管理します。
そして、Project Eiriniを使用して、基盤となるコンテナスケジューラーとしてKubernetesを使用するように構成できます。
参考元サイト
→cloudfoundry.org
→docs.cloudfoundry.org
→github.com →cloudfoundry
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【OSS情報アーカイブ】Vyatta - 🏆ランク2位🏆
【OSS情報アーカイブ】OTRS - 🏆ランク3位🏆
【OSS情報アーカイブ】Sympa - 🏆ランク4位🏆
【無料で使える】「 翻訳 」ツールまとめ - 🏆ランク5位🏆
【OSS情報アーカイブ】TensorFlow - 🏆ランク6位🏆
【ChatGPT探訪】ビルトイン画像生成AI「 DALL·E 3 」🖼️ - 🏆ランク7位🏆
【OSS情報】ディスクイメージング(クローニング)ツール「 Clonezilla 」 - 🏆ランク8位🏆
【OSS情報アーカイブ】MosP - 🏆ランク9位🏆
【OSS情報アーカイブ】Hazelcast - 🏆ランク10位🏆
【無料で使える】「 プロジェクト管理 」ツールまとめ