Herokuのアドオンと外部サービスを活用しよう

2011年4月1日(金)
安達 輝雄(あだち てるお)

前回は、ARCのC(クラウド)にあたる要素として、RubyのPaaSである「Heroku」の特徴と使い方を解説しました。最終回の今回は、「Heroku」で利用可能なアドオンと、SonicGardenで利用している外部サービスについて解説します。

これまでの連載をすべて読むことで、 ARCを実践するノウハウをじゅうぶんに理解できるはずです。

Herokuのアドオン

Herokuでは、Webアプリケーションのパフォーマンスを向上させるためのアドオンから、運用を簡素化するためのアドオンまで、多種多様なアドオンが提供されています。

アドオンの中には、まだPublic Beta扱いのものもいくつかありますが、正式に提供開始されているアドオンも数多く存在します。利用を開始する前に、どのようなアドオンがあるのか、一通り目を通しておくことをすすめます。

表1: Herokuで利用可能なアドオン一覧

アドオン名 概要
Amazon RDS PostgreSQLが標準のRDBMSですが、Amazon EC2を利用して起動したAmazon RDSのインスタンスに接続可能となり、MySQLが利用できるようになります。
Apigee for Facebook Facebookと連携するようなWebアプリケーションを作成する際に利用すると、Google Analyticsのような管理UIでAPIの情報を確認できるようになります。
Apigee for Twitter Apigee for Facebookと同様に、Twitterと連携する際にAPIの情報を確認できるようになります。
Appoxy SimpleWorker Delayed_jobのように、バックグラウンド・ジョブを実行させることができるようになります。
Chargify PaypalやGoogle Checkoutのように、オンライン決済機能を提供してくれます。
CloudMailin Webアプリケーションに対してメール・アドレスが付与され、メールの受信が可能となります。
Cloudant Key-ValueストアのCouchDBを簡単に利用できるようになります。Free版を含む5つのプランが用意されており、ストレージ容量や冗長構成などが異なります。
Custom Domains 独自ドメインをWebアプリケーションに割り当てることができるようになります。有料プランではワイルド・カード・ドメインにも対応しています。
Cron 定期バッチ処理(Windowsではschedule、Linuxではcronにあたる)を実行させることができます。日次での実行はFreeですが、1時間単位での実行は有料となります。
Deploy Hooks HerokuにWebアプリケーションのソース・コードをデプロイした際に、EmailやBasecamp、IRCなど、登録している通知先に通知してくれます。
Custom Error Pages メンテナンス画面やシステム・エラー発生時に表示させるエラー画面をカスタマイズできるようになります。
DocPaptor シンプルなHTMLを送信すると、PDFやExcelに変換してくれます。
Exceptional Ruby On RailsのWebアプリケーションで発生したエラーを検知したら、Email、SMS、Campfire、Twitterなどで、登録しているメンバーにエラー通知をしてくれます。
Hoptoad Webアプリケーションで発生したエラーを検知し、それらのエラー情報をHoptoadのWebサービス上で管理/確認できるようになります。
IndexTank Search Webアプリケーションにリアルタイム検索機能を簡単に組み込むことができるようになります。
Jasondb Key-ValueストアのJasonDBを簡単に利用できるようになります。
Memcache メモリー・キャッシュ機構を利用してWebアプリケーションの動作パフォーマンスを高速化できるMemcacheを利用できるようになります。
Logging Webアプリケーションおよびルーティングのログなどを確認することが可能となります。
MongoHQ Key-ValueストアのMongoDBを簡単に利用できるようになります。
Moonshado SMS WebアプリケーションからSMSを送信できるようになります。
NewRelic Webアプリケーションのパフォーマンスを簡単に、かつ、さまざまなパラメータを計測できるようになります。また、チューニングすべきポイントを示してくれます。
Panda Stream 動画データのアップロード/エンコーディング/ストリーミング配信ができるようになります。アップロード可能データ容量や同時エンコーディング処理数などに応じて、3つのプランが用意されています。
PG Backups PostgreSQLのデータバックアップやリストアを簡単に実施することが可能となります。
Pusher HTML5のWebsocketを利用して、リアルタイムWebを実現することができるようになります。
Redis To Go Key-ValueストアのRedisを簡単に利用できるようになります。データ容量やバックアップ頻度などに応じて、7つのプランが用意されています。
Recurly Webサービスに簡単に有料会員制の仕組みを導入できるようになります。
Release Management Webアプリケーションのバージョンを管理し、バグが含まれるアプリケーションをリリースしてしまった場合に、以前の状態に切り戻せるようになります。
SSL WebアプリケーションにSSL(https)でアクセスできるようになります。
Sendgrid WebアプリケーションからEmailを送信できるようになります。送信数に応じて、3つのプランが用意されています。
Ticketly バグ/課題管理ツールであるTicketlyと連携できるようになります。
Tronprint Webアプリケーションの二酸化炭素排出量が分かるようになります。
Websolr WebアプリケーションにSolrの検索エンジンを簡単に組み込むことができるようになります。ドキュメント数に応じて4つのプランが用意されています。
Xeround Cloud Database MySQL互換のクラウドRDBであるXeroundを利用することができるようになります。
Zerigo DNS DNSの設定ができるようになります。Webアプリケーションに割り当てるドメイン/ホスト・レコード数やリクエスト数に応じて、3つのプランが用意されています。
Zencoder 動画データのアップロード/エンコーディング/ストリーミング配信ができるようになります。エンコードした動画データの再生時間に応じて、5つのプランが用意されています。

このように、豊富なアドオンが用意されています。今後も多くのアドオンが追加されていくことでしょう。なお、これらのアドオンを利用するためには、Herokuにログインした後に、こちらの"Billing info"にて個人情報を登録する必要があります。

次ページからは、上記のアドオンの中から、SonicGardenが提供しているWebサービスで利用しているものについて、詳しく紹介します。

なお、上記アドオンは、Herokuが提供するアドオン・プログラムに対応しているのはもちろんですが、基本的にすべてクラウド(SaaS)で独自にサービスを提供しているため、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メルマガ会員のサービス内容を見る

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