• 会員限定
  • 2017/08/08 掲載

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

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

Pivotalジャパン Platform Architect 草間 一人

Pivotalジャパン Platform Architect 草間 一人

Pivotalジャパンにて、Pivotal Cloud Foundryのエンジニアを務める。過去には通信事業者でCloud Foundryベースのクラウドサービス開発に携わっていた。個人として、PaaS技術を日本に広めるため「PaaS勉強会」を主催しているほか、日本Cloud Foundryグループのメンバーとしても活動している。

画像
今、もっとも注目を集めている技術の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)

画像
図1 IaaSとPaaSの違い

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

Cloud Foundryの仕組みとメリット

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

画像
図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運用に必要な要素をほぼすべて提供している。これこそが、まさに「クラウドアプリケーションプラットフォーム」と名乗っている所以である。

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

関連タグ

関連コンテンツ

あなたの投稿

    PR

    PR

    PR

処理に失敗しました

人気のタグ

投稿したコメントを
削除しますか?

あなたの投稿コメント編集

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

通報

このコメントについて、
問題の詳細をお知らせください。

ビジネス+ITルール違反についてはこちらをご覧ください。

通報

報告が完了しました

コメントを投稿することにより自身の基本情報
本メディアサイトに公開されます

必要な会員情報が不足しています。

必要な会員情報をすべてご登録いただくまでは、以下のサービスがご利用いただけません。

  • 記事閲覧数の制限なし

  • [お気に入り]ボタンでの記事取り置き

  • タグフォロー

  • おすすめコンテンツの表示

詳細情報を入力して
会員限定機能を使いこなしましょう!

詳細はこちら 詳細情報の入力へ進む
報告が完了しました

」さんのブロックを解除しますか?

ブロックを解除するとお互いにフォローすることができるようになります。

ブロック

さんはあなたをフォローしたりあなたのコメントにいいねできなくなります。また、さんからの通知は表示されなくなります。

さんをブロックしますか?

ブロック

ブロックが完了しました

ブロック解除

ブロック解除が完了しました

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

ユーザーをフォローすることにより自身の基本情報
お相手に公開されます