[Ruby on Rails][heroku] heroku が今、最高にアツい!
どうも、最近は heroku に夢中の mat_aki です。
夢中なので紹介記事を書いておきたいと思います。
herokuとは、Ruby on RailsのWebサービスのホスティングを行なってくれるPaaSです。Ruby on Railsに限らず Rack に乗るアプリケーションならなんでもOK。
Ruby専用のGoogle App Engineのようなものです。
http://heroku.com/
heroku の入門記事はこちらをご覧ください。
http://kuranuki.sonicgarden.jp/2009/05/rubypaasherokurails.html
GAEに比べると、以下の点が違いとしてあげられます。
GAEと違いRubyという分野に特化していることもあり、APIを公開したり、外部サービスと連携したり差別化を図っているんだと思います。
今回紹介したいのは、外部サービスとの連携についてです。これがなかなかよいです。
以下に現在対応している外部サービスを列挙してみます。
- New Relic RPM : パフォーマンスモニタリング
- Amazon RDS : MySQLのホスティング(Postgressなので)
- Exceptional : アプリケーションエラーのトラッキング
- SendGrid : SMTP
- ZERIGO : DNS
特に、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