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
-
市場調査・トレンド
[パロアルトネットワークス株式会社] 現代の働き方に潜むセキュリティ課題とは? 解消に導く2つの注目技術を解説 -
製品資料
[パロアルトネットワークス株式会社] 生成AIのセキュリティリスクにどう対処する? 経営層が知るべきポイント -
製品資料
[パロアルトネットワークス株式会社] AIで真の包括的セキュリティを実現、ハイブリッドワーク時代に選ぶべきSASEとは -
市場調査・トレンド
[パロアルトネットワークス株式会社] 最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策 -
製品資料
[クラウドストライク合同会社] AIシステムのセキュリティを確保するためのプレイブック
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Microsoft 365侵害企業の9割はMFA導入済み 1002人調査で見えた盲点
-
2
なぜMicrosoftは「Rust」を標準言語に? AIで進むC/C++書き換えの課題
-
3
PHPはそもそも必要か? 脆弱性で問われる自社サイト安全性と保守負担のバランス
-
4
「顧客の声」は負担ではなく資産 サーモスのコンタクトセンターに見る未来の姿
-
5
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
6
なぜデータの民主化は失敗するのか ゴールの誤りを正すAI活用の新アプローチ
-
7
Microsoft月例パッチ1400件超で過去最多 「限界点」を迎えたパッチ管理
-
8
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
9
「Copilot」がIT予算を食いつぶす? 高額請求を招く課金体系と節約術
-
10
不正アクセス相談が37%→57%に 攻撃者から自社のシステムはどう見えているか
ホワイトペーパーランキング PR
-
1
「IT史に名を残すシステム障害」8選
-
2
顧客対応自動化の要点:RAGとデータ連携で“業務で使える生成AI”にする方法
-
3
侵入から横展開まで27秒の脅威にどう立ち向かう? 防御のカギがEDRの理由
-
4
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
5
マンガで解説:情シスの負担を減らす「MDRサービスのインシデント対応」の中身
-
6
有識者が語る、中堅中小企業に求められる最新のサイバーセキュリティ対策とは
-
7
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
8
なぜAIは組織で定着しないのか? 全社展開を阻む「3つの壁」と突破のヒント
-
9
ランサムウェア攻撃“究極の対策”はこれだ
-
10
パスワードレスへの移行で失敗しないためには? 導入・運用上の注意点を解説
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー