[Ruby on Rails][heroku] heroku が今、最高にアツい!

どうも、最近は heroku に夢中の mat_aki です。

夢中なので紹介記事を書いておきたいと思います。

herokuとは、Ruby on RailsWebサービスホスティングを行なってくれるPaaSです。Ruby on Railsに限らず Rack に乗るアプリケーションならなんでもOK。
Ruby専用のGoogle App Engineのようなものです。
http://heroku.com/

heroku の入門記事はこちらをご覧ください。
http://kuranuki.sonicgarden.jp/2009/05/rubypaasherokurails.html

GAEに比べると、以下の点が違いとしてあげられます。

  • Rubyのみをサポート
  • DBはRDB (Postgress)
  • APIが用意されている
  • 外部サービスと連携(アドオン)
  • オートスケーリングしない

GAEと違いRubyという分野に特化していることもあり、APIを公開したり、外部サービスと連携したり差別化を図っているんだと思います。

今回紹介したいのは、外部サービスとの連携についてです。これがなかなかよいです。
以下に現在対応している外部サービスを列挙してみます。

特に、New Relic RPMというパフォーマンスモニタリングサービスとの連携が良い感じです。

New Relic RPMは、Ruby on Railsのアプリケーションにプラグインとして導入するだけで、プロダクション環境のパフォーマンスのロギングを行なって、グラフ表示など解析を行ないやすくしてくれるサービスです。

本来New Relic RPMは、無料では "Lite" 版しか利用できません(かなり何もできないバージョン)。しかし、herokuで運用しているアプリにアドオンとして導入すると、なんと一つ上のクラス "BRONZE" を無料で利用することができるのです!!このバージョンだと結構いろいろ見れて良い感じです。

ログインした状態で、以下のページから、追加するアプリケーションを選んで導入してください。
http://addons.heroku.com/newrelic

ソースコードプラグインをインストールするという操作なしでアドオンとして導入されます。
(PUSHしたときに ./script/plugin install しているんだと思う)

とっても便利で、いい感じなので是非使ってみてください。

そして、最後にTips。
New Relic RPMもパフォーマンスデータのAPIを公開しています。しかし、herokuからインストールすると、アクセスするためのキーが画面から取得できません。
以下の様にコマンドを発行するとキーを入手できます。

$ heroku console

でコンソールに入って

>> ENV["NEW_RELIC_LICENSE_KEY"]

まだまだ紹介したいことは、あるのですが今日はここまで!
herokuコマンド詳説とか、herocutterとか、nezumiとか、herokuでオートスケーリングとか、dynoを増やしたらどれくらいのパフォーマンスがでるとか
聞きたい人はtwitterまで @mat_aki