Cloud Foundryとは何か(後編)
Cloud Foundryが開発者にもたらすメリット
後編では、Cloud Foundryの詳細なアーキテクチャを解説する他、開発者がCloud Foundryを選ぶメリットを、実運用環境と開発環境の2つのケースで解説する。
前編のまとめ
前編「.NET環境も構築できる、Cloud Foundry4つの強み」では、大きく分けて3点について述べた。1つ目はIaaSがコモディティ化しつつあることと、その差別化要素としてPaaSが注目されつつあること(関連記事:注目のPaaSを一挙に紹介! ~Cloud Foundry、OpenShift、Herokuなど)。2つ目は、PaaSには、1つの事業者がハードウェアからアプリケーションプラットフォームまで、全てを1つのサービスで提供する「Proprietary PaaS」と、オープンソースソフトウェアとして公開され、IaaSレイヤーを自由に選択して構築ができる「Open PaaS」に分けられること(関連記事:オープンソースのPaaSはなぜ注目されるのか ~Open PaaSの魅力と課題)。そして3つ目は、Open PaaSとして注目を浴びている「Cloud Foundry」について解説した(関連記事:楽天がプライベートPaaSを構築――「Cloud Foundry」を選んだ4つの理由)。
本項では、Cloud Foundryの技術的な解説およびCloud Foundryを選ぶべき理由、そして今後の課題についての3点について述べていく。
Cloud Foundryの仕組み
前編でも触れたが、Cloud Foundryは以下の4つの特徴を持つ。
- オープンソース(Apache License, Version 2.0)
- 複数の言語、フレームワークに対応
- 複数のデータベース、ミドルウェアに対応
- パブリックPaaS、プライベートPaaSなど、さまざまな利用方法が可能
この中でも、技術的に関係するのはオープンソースを除いた3点だ。この3点は、図1のような関係にある。
言語、フレームワーク、データベース、ミドルウェア、クラウドプロバイダー、それぞれ必要なものを、必要な形態で組み合わせて利用できるのがCloud Foundryの特徴といえる。
Cloud Foundryを構成する要素をレイヤーごとに分けた場合、図2のようになる。
Cloud Foundryが担うのはCF Kernelと呼ばれる、PaaSの機能を提供するレイヤーのみである。IaaSレイヤーの仕様に依存しないという設計思想のため、IaaSレイヤーの構築・運用・監視を行う機能はCloud Foundryには含まれておらず、CF KernelとIaaSレイヤーの間に位置するOrchestratorと呼ばれるレイヤーで行うものとされている。ただし、Cloud Foundryを用いてPaaSを提供する場合、利用するユーザーが認識するのはハードウェアからクライアントまでを含めた全体となる。あくまでも筆者の見解ではあるが、全てのレイヤーを含めて広義のCloud Foundryとも呼べるだろう。
CF Kernelをさらに細かく見ていくと、図3の要素で構成されている。
一部のコンポーネントは図に掲載していないが、これらのコンポーネントそれぞれがNATSと呼ばれるメッセージング機構を通じて疎結合で構成され、自律して動作している。
この中でも特に注目すべきは、DEAとServicesである。DEAはDroplet Execution Agentの略で、ユーザーがデプロイしたアプリケーション(Droplet)を実行させる仕組みのことを指している。つまりJavaやRubyの実行環境は、このDEAの中に構築されているのだ。
またServicesは、データベースやメッセージングサービス(ここではNATSではなくRabbitMQのような、アプリケーションで利用するサービス)を動かすコンポーネントだ。
このように疎結合で構成されている利点として、コンポーネントに対する変更が他のコンポーネントに影響を及ぼしにくいという点が挙げられる。例えば事業者が独自にデータベースのサポートを付け加えたい場合、基本的にはServicesへの変更を行うだけで済む。プログラミング言語やフレームワークのサポートを付け加える場合は、DEAに対して変更を行えばよい。実際のケースとして、「Iron Foundry」という、Windowsの.NET FrameworkをサポートしたCloud Foundryのフォークが挙げられる。Cloud FoundryはLinux上での動作を前提としているが、このケースの場合、.NET Frameworkをサポートできるように手を加えたDEAを用いることで対応を行っている。
Cloud Foundryを選ぶメリット
開発者にとってのメリット
開発者にとってCloud Foundryを選ぶということは、Cloud Foundry上で開発したアプリケーションを動かすということを意味する。それについては、以下の2つのケースが考えられるだろう。
・実運用環境としてCloud Foundryを選ぶケース
1つは実運用環境としてCloud Foundryを選ぶケースだ。これはCloud Foundryを採用したPaaS上で、実際のサービスを提供していくことになる。
このケースの場合、まずメリットとしてサーバやネットワークなど、インフラ面での運用を一任できる点が挙げられるだろう。今までは自社で構築・運用するサーバやレンタルサーバ、IaaSなどを用いていたが、アプリケーションが動作するまでの環境構築は自力で行う必要があった。また、利用者の増加に応じてサービスをスケールさせていくには相応のノウハウが必要とされた。Cloud Foundryを採用すれば、環境構築は不要となり運用も一任できる。スケールの面においても、デプロイ時のオプションで動作するインスタンス数を任意に設定することが可能だ。ただし、これらのメリットはCloud Foundryに限らず、他のPaaSでも同様に享受できる。
Cloud Foundryならではのメリットとしては、やはりCloud Foundryの思想そのものである、ベンダーロックインを防げるという点であろう。PaaSを利用するということは、特定のプラットフォームに依存することを意味する。何らかの理由で利用していたPaaSが停止されることになった場合、当然その上で動くアプリケーションは他のPaaSに移し替える必要が出てくる。しかし、特定のプラットフォームに依存した設計の場合、その移行には困難が伴う。Cloud Foundry向けに作っていれば、仮にそのサービスが停止したとしても、他のCloud Foundryを採用したPaaSに再デプロイするだけでよい。
・開発環境としてCloud Foundryを選ぶケース
もう1つの選択肢として、開発環境としてCloud Foundryを選ぶケースが考えられる。多人数でアプリケーションを開発する場合、全員に同じ環境をそろえることは無視できないコストを伴う作業となる。複数の案件を同時進行させればなおさらだ。
前述したようにCloud Foundryは、プログラミング言語にJava、Ruby、PHP、データベースにMySQL、PostgreSQL、MongoDBなど、業界で標準的に使われる技術で構成されている。そのため、一通りの環境があらかじめそろった便利なツールとしてCloud Foundryを使い、運用環境はまた別にするという利用方法も可能だ。この場合、パブリックPaaSを利用してもよいし、プライベートPaaSを利用してもよい。各自が開発機の中にMicro Cloud Foundry(※)を入れてしまえば、ネットワーク接続がない環境でも利用可能だ。
※ Micro Cloud Foundry:無料で提供されている、Cloud Foundryに必要な要素が全て入ったコンパクトな環境。VMware Playerなどで実行できるイメージとして配布されており、起動するだけですぐにCloud Foundry環境を試すことができる。
事業者にとってのメリット
事業者にとってのCloud Foundryのメリットは、前編でも述べた通り、これまでIaaSを提供してきた事業者が、既存の環境上にCloud Foundryを乗せることでPaaSの提供が可能になるという点だ。また、アプリケーションプラットフォームの開発企業は、自社開発のプラットフォームを追加したCloud Foundryを任意のIaaS上に展開すれば、他との差別化を行った状態でPaaSの提供が可能となる。コストを減らしつつも、新たな付加価値を提供していきたい企業にとってCloud Foundryは有力な選択肢となるだろう。
課題
Cloud Foundryの今後の課題として、ベンダー間の互換性維持が挙げられる。前述したように、ベンダーが独自に追加・拡張しやすい設計になっているのがCloud Foundryのメリットだが、それはベンダーロックインを防ぐというCloud Foundryの思想と矛盾しかねない危険性をはらんでいる。その思想を生かし続けるためには、各ベンダーがCloud Foundryの共通部分はそのまま残すという認識が必要とされる。
今後の展望
PaaSを運用していくに当たり必要なOrchestratorについて、2012年4月に「Cloud Foundry BOSH」というツールが発表された。現時点でVMware vSphereおよびAmazon Web Services、OpenStackに対応しており、これらのIaaS上でのCloud Foundryの構築、展開、ライフサイクルマネジメントが行える。
Cloud Foundryが普及していくための下地がほぼ出来上がりつつあるといえるだろう。
植村優一(うえむら ゆういち)
NTTコミュニケーションズ勤務
2009年からクラウドサービスの基盤技術開発を担当。
現在はNTTコミュニケーションズ内部のPaaS導入推進をしながら、社外ではCloud Foundry記事を主にして以下のblogで執筆中。
Copyright © ITmedia, Inc. All Rights Reserved.
Cloud Foundryとは何か
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣 -
製品資料
[サイボウズ株式会社] AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
【漫画付き】ひとり情シス協会が明かす、RAG導入でしくじる企業「2つの共通点」
-
4
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
5
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
6
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
7
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
8
BMWも導入 78兆円市場に化ける「フィジカルAI」の衝撃
-
9
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
10
「AI活用を前提とした業務PCへの移行」に関するアンケート
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー