リリースした後、運用段階に入ると定期的にバグ報告が上がってきます。
本来はリリース前に検収テストをすべきなんですが、そんな余裕ないことも多い(汗)
で、そんな時に大事なのが
- エラーを気づけること
- 対処法をあらかじめ考えておくこと
の2点でしょうか。
エラーを気づけること
バッチの時もそうですが、以下にエラーに気づけるかが大事ですね。予算に余裕がなかったり、プロジェクト自体が実験的だったりするとお客さんから報告を受けて直すってことが多いですが、そうならずに対処できるのが理想です。
そのために必要なのが、以下のようなことでしょうか。
ログの管理
実際に運用始めるととんでもない量のログが出るので、どれくらいの量をだすのか、ローテートはどうするか、原因追求速度をあげるためにもレベル管理分けはどの程度するか、などをしっかり考えて起きましょう。
例外処理
基本、プログラムってどこかでこけることを前提に組んだ方がいいですね。自分も自分のプログラムも信用しない人の方がうまくいくと思います(汗)
プログラム側でしっかり組むのは当然として(フレームワークだと自動的に例外が出るようにはなっていますが・・・)
もう一つ大事なことは、エラー検知サービスの活用です。
Sentry
これはエラーが起こった時に自動的にエラーを記録、通知してくれるサービスです。これがあると一々ログを見なくとも詳細なレポートを画面に出してくれるので、どこでエラーが起こったかがすぐわかります。
また通知してくれるので、すぐに気づけます(土日にくると嫌ですが・・・・(汗))
上記URLから登録して、Exceptionを発生させればエラーを記録してくれます。
サンプルコードは下記を参考に。
https://github.com/umanari145/phptips
対処法をあらかじめ考えておくこと
サービスが運用する前に考えておくべきことですが、下記のような対策をするといいのではと思いました。
- 作業重要度、優先度の振り分け
- メンテ時間を月1などで持たせてもらい、ユーザーがさわれない時間を作る
- データが一番大事なので、復旧作業手順などをあらかじめ考えておく
- 最悪、サービスが止まった時の運用方法を考慮しておく