クラウドプラットフォーム「Heroku」の活用

2011年3月23日(水)
安達 輝雄(あだち てるお)

前回は、ARCを実践していく上での開発体制、ツールや手法、マネジメント、そしてビジネス・モデルについて、SonicGardenでの取り組みを解説しました。今回は、プロジェクト情報共有ツールである「youRoom」のサービスをスモール・スタートとする際に利用した、RubyのPaaSである「Heroku」の特徴と、基本的な使い方を紹介します。

Herokuとは

Herokuは,昨今急速に成長しているRubyアプリケーションのクラウドプラットフォーム(ウェブサービスのホスティングサービス)です。

昨年末に開催されたSalesforce.comのイベント「Dreamforce 2010」にて、Salesforce.comによる買収が発表され、瞬く間に世界中から注目を集めるPaaSとなった事でも有名です。

Herokuでは、2011年2月現在、ソーシャル・アプリケーションやモバイル・アプリケーションを含む10万5千以上のウェブサービスがホスティングされており、毎週3千のペースで新しいウェブサービスが公開されています。また、リクエストは1日に20億以上とも言われていますが、システムダウンする事なく、安定したホスティングサービスを提供しています。

ビジネスモデルとしては、基本機能を無料で提供し、拡張機能や特別な機能で課金するフリーミアム(無料版)が採用されています。課金対象となるのは、Webサービスの負荷が高くなり複数のプロセスを必要とする場合や、取り扱うデータが大きくなり大容量のデータベースを利用する場合などです。

HerokuのようなPaaSは他にもいくつか存在しており、Google社が提供しているGoogle AppEngineや、Microsoft社が提供するWindows Azureなどがあります。これらのPaaSと比較し、Herokuの特徴として挙げられるのは以下の4点です。

  • Ruby on Railsを代表とするRubyベースのフレームワークに対応
  • 分散型バージョン管理システムであるGit利用によるデプロイ容易性
  • 簡単に機能を追加できる拡張性
  • オープンかつスタンダードな技術を利用している(ノン・ベンダーロックイン)

現在は、上記のような特徴を有しているHerokuですが、Salesforce.comに買収された事で、サービス継続性/信頼性の向上だけでなく、Ruby向けのプラットフォームとしてさらなる飛躍も期待されており、今後の動きが注目されています。

余談ではありますが、HerokuはWebホスティングサービスのインフラにAmazon EC2を利用していますが、Salesforce.comにより買収されました。その影響かどうかは分かりませんが、買収後にAmazon Web Services(AWS)も、デプロイおよび運用を簡素化できるAWS Elastic Beanstalkや、Amazon Web Servicesで提供している複数のサービスを組み合わせて活用/管理しやすくしたAWS CloudFormationという機能をリリースする事で、PaaSのレイヤーもサポートしはじめました。そのため、今後はHerokuの競合として Amazon Web Servicesも取り上げるべきなのかもしれません。

利用事例

海外では、Facebookのプロフィールページやファンページに、友人やファンの人たちが参加できるチャットルームを設置する事ができる Facebookアプリケーションである「CLOBBY」(http://www.clobby.com/)や、Foursquareのような位置情報と連携した「チェックイン」系のサービスで、ある場所に行き指定された課題をクリアする事でポイントを獲得する という遊び方が特徴のサービスである「SCVNGR」(http://www.scvngr.com/)などがHeroku上で稼働しています。他にも多くの事例がこちらのページで紹介されています。

国内では、まだまだ公開されている事例が少ないのが現状ですが、最近では、共同購入型クーポンサービスである「ミナワリ」(http://www.minawari.jp/)がHerokuを利用しているサービスとしてニュースに取り上げられました。

なお、SonicGardenが提供する「youRoom」でも2009年頃にHerokuを利用していました。しかし、ミドルウェアレベルで柔軟な設定をする必要が出てきたため、クラウドのIaaSであるAmazon EC2に移行しサービスを運用する事になりました。

youRoom以外でもSonicGardenでは、過去に提供していたmixiアプリのインフラとして利用したり、最近では新規開発Webサービスのプロトタイプ動作環境としても利用し続けています。サービスの規模がある程度大きくなるまでは、なるべく運用コストを減らし、アプリケーション開発に注力できるように、このような活用の仕方をしています。

日本国内でもHerokuの認知度も徐々に向上してきているため、今後は運用コストを下げて、より一層Webアプリケーション開発に集中できるよう、Herokuを利用したサービスは増えてくるのではないでしょうか。

著者
安達 輝雄(あだち てるお)
TIS株式会社

TIS株式会社の「SonicGarden」にて、Ruby On Rails製の社内SNS「SKIP」の開発や、youRoomをはじめとするSonicGardenが提供するウェブサービス全般の運用/保守を手がける。
主な著作:クラウドAmazon EC2/S3のすべて(2009,日経BP社)など。ブログはこちら  
Twitter:@interu(http://twitter.com/interu
 

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています