Herokuのアドオンと外部サービスを活用しよう
Hoptoad
Hoptoadは、Webアプリケーションで発生したエラーを検知し、それらのエラー情報をHoptoadのWebサービス上で管理/確認できるサービスです。
また、Webアプリケーションでエラーが発生した際に、登録しているユーザーに対してエラー通知メールを送信するサービスも提供しています。
Ruby On Railsフレームワークを利用したWebアプリケーション以外にも、PHP、.Net、Java、Ruby、Python、Perl、Merb、ColdFusion、Erlangなど多くの言語/フレームワークに対応しています。なお、最近ではiOSアプリケーションにも対応したようです。
Webアプリケーションで発生したエラーは、すべてHoptoadに通知されます。このため、エラーの一括管理が可能となり、さらにそれぞれのエラーは対応状況のステータスを持つため、対応したかどうかの管理もできるようになっています。
- サイトURL: http://hoptoadapp.com
図2: hoptoadの画面(クリックで拡大) |
SonicGardenでは、以前はWebアプリケーションごとに、エラー発生時にメールで通知するライブラリを組み込んでいました。こうして検知したエラーを、Redmineのような課題管理ツールに登録して、対応状況のステータスを管理していました。
しかし、扱うWebサービスが多くなってくると、Webアプリケーションごとにエラー・ハンドリングの仕組みを導入するのが面倒になったり、課題管理ツールに登録するのが面倒になったりしたため、Hoptoadを採用しました。
ほかにも、Hoptoadの利用によって以下のようなメリットがあるため、SonicGardenが提供している全Webサービスで利用することにしました。
- エラー通知メールのテストが容易
- cronなどのバッチ処理におけるエラー・ハンドリングも容易に実現可能
- 過去に発生した類似エラーが参照できる仕組みになっている
- エラーごとにステータス管理(resolved/unresolved)が可能
- 環境(本番環境/テスト環境)ごとにエラーの表示が異なり、見やすい
HoptoadをHerokuで利用する
HoptoadをHerokuで利用する場合は、以下のコマンドを発行するか、HerokuのWebサービスにログインして、利用アドオンに追加します。
$ heroku addons:add hoptoad:basic
アドオンを追加したあとは、こちらのようにWebアプリケーションに設定をするだけで利用可能になります。
第2回で触れた通り、上記で紹介したNewRelicとHoptoadなどの外部サービス以外にも、SonicGardenではいくつもの外部サービスを利用しています。
変化を柔軟に受け入れ、迅速に逐次改修を加えていくことができるよう、Webサービスの本質でないところに関しては外部サービス(SaaS)をうまく活用しています。SaaSの活用によって、開発/リリースのサイクルを短くし、スピード感を持ったサービス提供を実現しています。
世界には、数多くのWebサービスが存在します。それらクラウド(SaaS)のさらなる活用によって、生産性をもっと向上させることができるかもしれません。
まとめ
これまでの4回の連載により、ARCを実践するための基礎知識を十分に理解できたと思います。
連載の前半では、ARCを活用した事例をもとに、そこでの開発体制や開発環境、マネージメントのポリシーや価値観などについて解説し、連載の後半では、実践編として、RubyのPaaSである「Heroku」の活用方法や、外部サービスの活用について解説しました。
これまでに解説した内容をもとに、読者の皆さまも、ぜひ、ARCにチャレンジしてみてください。"ユーザーにとっても開発者にとっても"幸せなソフトウエア開発ライフを送れるようになります。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- クラウドプラットフォーム「Heroku」の活用
- ARCによる新しいビジネスモデルの可能性
- Agile×Ruby×Cloudが示す価値
- 実践「Heroku」をセットアップしてサンプルアプリを動かそう
- Dockerコンテナの監視を行うサービス
- 「生成AI×オブザーバビリティ」でDevOpsが変わる、企業のデジタル競争力が変わる
- エラーログで障害原因を突き止めろ!
- Drupal Expo 2017 in Japan開催 Googleから経済産業省まで多彩なゲストがDrupalの応用を語る
- チーム開発を円滑にするための必須ツール
- CI/CD Conference 2023より、Herokuから移行を行った小規模チームのCI/CD改善セッションを紹介