ビジネス+IT

ビジネス課題別で探す

ITジャンル別で探す

会員限定

2017年08月08日

Cloud Foundryとは何か?基礎からわかるIaaSとの違い、導入方法や事例も解説

今、世界中の企業でOSSのPaaS基盤「Cloud Foundry」の導入が進展している。先日シリコンバレーで行われたCloud Foundry Summitでは、アメリカのFortune 500企業のうち、約半数が導入済みとの発表が行われた。グーグルやマイクロソフトといった業界のリーダーもコミュニティへの加入を新たに表明している。なぜ、ここまでCloud Foundryが注目されているのか。IaaS/PaaSとの違い、仕組みなどを基礎から丁寧に解説する。

執筆:Pivotalジャパン Platform Architect 草間 一人

photo
(クリックで拡大)

今、もっとも注目を集めている技術の1つが「Cloud Foundry」だ


Cloud Foundryとは何か
Cloud Foundryとは何か。公式サイトの言葉を借りると、「業界標準のクラウドアプリケーションプラットフォーム」のことだという。インフラを抽象化し、アプリケーションのイノベーションに注力できるプラットフォームとのことだ。オープンソースのPaaS(Platform as a Service)ソフトウェアとも言われる。現在は非営利法人「Cloud Foundry Foundation」に移管され、Pivotal、Dell EMC、IBM、VMWare、HP、SAP、Ciscoなどのほか、国内の富士通、NTT、日立、東芝などの64の企業が支援している。

IaaS、PaaS、それぞれの違い

 読者の中には、Cloud FoundryがPaaSと呼ばれていたことを知っている方もいるだろう。そこで、まずはPaaSとは何かを解説する。

 まずは従来の方法でWebアプリケーションを開発し、公開するフローを考えてみよう。まず必要になるのが「サーバ」や「ネットワーク」だ。こういった物理的な環境を用意し、次にLinuxやWindowsといったOSをセットアップする。その後、ミドルウェア類をセットアップし、アプリケーションのソースコードを設置、そして起動。併せてインターネットから接続できるようネットワーク周りを設定する。これが大きな流れである。

 ハードウェアの調達やネットワーク周りのセットアップは数週間から数ヶ月かかる作業だったが、2000年代末頃よりこういった作業をAPI経由でオンデマンドに作成し、提供できるようなサービスが登場し始めた。それがIaaS(Infrastructure as a Service)である。

 IaaSの登場により、必要なときに必要なだけリソースを調達できるようなり、運用コストやリードタイムを大きく削減することが可能となった。世の中で騒がれてきた「クラウド移行」とは、こういったオンプレミス環境からIaaSへの移行を指すことが多かった。

 では、PaaSとは何だろうか。PaaSはPlatform as a Serviceの略で、アプリケーションを動作させるための基盤(プラットフォーム)をサービスとして提供する仕組みのことを指す。IaaSの場合、インフラの調達部分はオンデマンドで行えるようになったが、ミドルウェアのセットアップやアプリケーションの配置、起動、その他DNSなどのネットワーク周りの設定は依然として開発者ないしは運用者が行う必要があった。

 しかし、PaaSの場合、インフラだけでなくその上のレイヤーまでまとめて自動化することで、開発者はアプリケーションの開発に専念できるようになる。(図1)

photo
(クリックで拡大)

図1 IaaSとPaaSの違い


 余談となるが「プラットフォーム」という言葉が指す範囲は非常に広く、従ってPaaSの定義も今日に至るまで固まっておらず、人によって説明することが異なる状態が続いている。本稿の定義も、そのうちの1つだという点には留意されたい。

Cloud Foundryの仕組みとメリット

 Cloud Foundryを利用した場合のアプリケーション開発フローが図2である。

photo
(クリックで拡大)

図2 Cloud Foundryを利用した場合のアプリケーション開発フロー


 ユーザーがコマンドを使ってアプリケーションをデプロイすると、内部ではさまざまな処理が行われ、最終的にCloud Foundry内で起動する。IaaSでは数時間から数日にかけて行っていた作業が、わずか数十秒から数分で完了するようになる。

 近年コンテナ技術が注目を浴びており、Dockerという単語を聞いたことがある読者も多いだろう。Cloud Foundryも内部でコンテナ技術を活用しており、ソースコードから実行可能イメージを作成する仕組み「Buildpack」を組み合わせることで、極めて効率の良い構築方法を実現している。

 Dockerも優れた仕組みだが、コンテナイメージの作成と運用は開発者に委ねられており、アプリの開発だけでなくそちらにも意識を配る必要がある。一方、Cloud Foundryの仕組みは、それすら不要にする、まさにアプリ開発にフォーカスした仕組みだと言える。

 これだけ強烈な工数削減を目にすると、ついついそちらばかりに意識が向いてしまうが、Cloud Foundryの凄さはそれだけではない。むしろ、ここからが真価だ。

 アプリケーションの初期構築のことを「Day 1 運用」と呼ぶ。それに対して、デプロイした後の日々の運用、具体的にはロギングやモニタリング、アップデート、バックアップやリストアなどを「Day 2 運用」と呼ぶ。

 もしオンプレミスやIaaS、Dockerを利用した場合、これらの仕組みを別途構築していく必要がある。しかし、さまざまなツールを組み合わせて構築した運用体制の維持管理には、多くの工数や予算が必要であり、アプリケーション開発に注力しなければならない近年の流れにおいて、無視できない負担となる。

 Cloud Foundryは、こういったDay 2運用に必要な要素をほぼすべて提供している。これこそが、まさに「クラウドアプリケーションプラットフォーム」と名乗っている所以である。

【次ページ】導入方法や導入事例とは?

PaaS ジャンルのトピックス

一覧へ

PR

注目のIT導入支援情報

一覧へ

注目のイベント・セミナー情報

一覧へ

イベント・セミナー情報の登録(無料)

記事アクセスランキング

イベント・セミナー情報アクセスランキング