Herokuで作るFacebookアプリ

第8回 Herokuのアドオンエコシステム

この記事を読むのに必要な時間:およそ 2 分

はじめに

前回は,Herokuをもっと活用するためのさまざまな機能を紹介しました。サービスを運営する上で必要な機能をHerokuを利用した場合はどのように設定するのかを理解していただけたかと思います。今回は,さらにHerokuを利用することでメリットがある部分を紹介していきたいと思います。私がHerokuの一番面白いと思っている仕組み「アドオン」のエコシステムについてです。

アドオンとは

前回でもアドオンをいくつか紹介しました。カスタムエラーページやSSLはアドオンとしてHerokuから提供されています。つまり,アドオンとはHerokuの基本機能のWebのホスティングではなく追加機能の部分になります。

Herokuでは,コマンドを1つ実行するだけでSSLを動作するようにできます。このように非常にシンプルな形でアプリケーションにアドオンを追加できるようにしているのです。

提供されいているアドオンは,どんどん追加されています。こちらのページがHerokuのアドオンの紹介のページになっています。現在30以上のアドオンが存在します。

Herokuアドオン紹介ページ

Herokuアドオン紹介ページ

アドオンにはいろいろな種類のものがあります。たとえば,データベースのアドオンについてだけでも,MySQLを利用できるようになる⁠Amazon RDS⁠や話題のNoSQLであるMongoDBを利用できる⁠MongoHQ⁠や同じくNoSQLであるRedisを利用できる⁠Redis To Go⁠などがあります。他にも,Webサービスによく利用されるアウトバウンドのメールやSMSなどの機能を追加できるアドオンなどがあります。

Herokuでアドオンを利用すると,Webサービスを作成するのに必要な機能をコマンド1つで簡単にたくさんのアドオンの中から追加することができるのです。自分でサーバを運用していた場合はこうは行きませんよね。これがHerokuというプラットホームを利用するメリットです。さらに,これからもどんどんアドオンは追加されてより豊富な機能を利用できるようになるでしょう。

Herokuのアドオンエコシステム

Herokuで提供されているアドオンは,すべてHerokuが提供しているものではありません。外部のサービスがHerokuのアドオンとしてサービスを提供することが可能になっているのです。上で紹介したデータベースの3つのサービスはHerokuがサービスしているものではないですが,Herokuの提供しているアドオンと同じように並んでいます。

このような仕組みがあるので,外部のサービスがHerokuのプラットホームの利用者に対して,自分たちのサービスを利用してもらおうと参画してきているのです。どんどん新しい外部のサービスのアドオンが追加されていて,すでに外部のサービスが提供しているアドオンの方が多くなってきています。

このようにRailsに連携できるサービスは,どんどんHerokuのアドオンとして,Herokuのアドオンカタログに並ぶようになってきています。Herokuを利用していないRailsユーザにとってもこのカタログは非常に有用になってきています。Railsに連携できるサービスを簡単に見つけることができるからです。

Herokuのアドオンは,申請することで誰でも登録することが可能です。ベータ版から提供して,利用者が多ければ正式版としてリリースされる流れになっています。連携方法などもすべて公開されており,分かりやすい仕組みになっています。

このように,Herokuのアドオンの仕組みは,単なる追加機能を簡単に登録できるものだけでなく,外部のサービスの参入の仕組みによりエコシステムとなりつつあります。今後,Ruby on Railsに影響をあたえるようなものに成長していくのではないかと私は感じており,非常に今後の発展が楽しみです。

おすすめアドオン

さて,アドオンがとても魅力的なものだと理解していただけたかと思いますので,今リリースされているアドオンの中で便利なものをいくつか紹介したいと思います。以下は,Herokuが提供しているものではなく外部のサービスがHerokuのアドオンとして提供しているサービスです。

New Relic

Webアプリのパフォーマンスのモニタリングを提供してくれるサービスのアドオンです。Herokuでは1dynoが$0.05/hとなっており,Webアプリのパフォーマンスがサービス継続のコストに直結するようになっています。そのためパフォーマンスを改善することは非常に重要なポイントになってきます。New Relicを利用するとRailsプラグインとして動作し自動的にパフォーマンスのデータを保存して,サービスの画面にアクセスするとグラフィカルに表示してくれます。

New Relicの利用画面

New Relicの利用画面

Herokuでは,ログを継続的に保存ができないようになっているので,New Relicによりパフォーマンスのログを保存できるので,その点でも利用する価値は高くなります。たとえば,パフォーマンスの改善により先週より数値が良くなったなどの判定ができるようになります。

おまけとしては,通常New Relicを利用した場合は有料であるBronze版をHerokuのアドオンとして利用するとなんと無料になります!New Relicを無料で使えるのでHerokuを使うというのも価値かもしれませんね。より高機能の上位版は,1dynoごとに$0.05/hのSilverと1dynoごとに$0.06/hのGoldが提供されています。もし,このような上位版が必要になった際もHerokuの料金と一緒に請求されるので,支払いの面でも手軽です。

Exceptional

アプリケーションのエラーをトラッキングし,メールなどで通知してくれるサービスです。New Relicと同様にHerokuではログを永続的に保存することができません。エラーが発生した場合もログではなく他の仕組みで保存しておくことが必要になります。Exceptionalのアドオンを利用すると,エラー発生時にExceptionalに登録して,後からエラーの詳細な内容を確認することができるようになるのです。Herokuと非常に相性が良いですね。

しかし,これまで無料でBasicプランが提供されていましたが,先日の発表で廃止になりました。Herokuを利用する上で非常に便利なサービスだったので残念です。Exceptionalを利用するには,上位プランを利用することになり,$9/月となります。似たサービスでHoptoadというサービスもHerokuのアドオンとして提供されており,こちらは$2/月と$7/月のプランが用意されていてすこし安くなっています。

まとめ

今回は,Herokuのアドオンの魅力とメリットを紹介しました。今後,Herokuのアドオンのエコシステムは,オープンなため参入が容易であることなどにより,非常にホットになっていくと思います。個人的に,日本からアドオンを提供している所はないので,今後日本から出るか楽しみにしています。

次回は,manga-dojoの開発の続きを紹介し,FacebookのAPIの利用法を考えていきたいと思います。

著者プロフィール

松村章弘(まつむらあきひろ,ハンドルネーム:mat_aki)

SonicGarden プログラマー。

1984年生まれ。社会人1年目からRuby on Railsのみで開発を続け現在4年目。Webサービスの企画・運営・プログラミングまですべてをこなす。世界で利用されるWebサービスを創ることを目標にしている。現在は youRoom の開発を行っている。

mat_akiの日記:http://d.hatena.ne.jp/mat_aki/

Twitter:http://twitter.com/mat_aki

コメント

コメントの記入