モダンなクラウドアプリケーション開発のベストプラクティスの一つである「The twelve-Factor App」が取り上げられることが多くなった。ビジネスの変化にICTが遅れずについていくためには、エンタープライズ分野の開発も、このプラクティスを取り入れていくべきだ。本稿では、エンタープライズシステムの開発・運用の視点から、従来行われてきたことと比較しながらTwelve-Factor Appを読み解く。シリーズ第3週となる今週は、「リソース増減や運用管理を容易にするためのプラクティス」をみていく

 前回までの8.並行性6.プロセス、7.ポートバインディング9.廃棄容易性に続き、今回は「11.ログ」を解説する。

11.ログ

 アクセスログ、業務ログ、トランザクションログ、システムログ、デバッグログ、トレースログ――。システム内には様々な種類のログが存在する。

 旧来ログは、情報システム部門を中心に、週次・月次のレポートなどの運用情報として活用されてきた。ログは、運用時に発生した不具合を突き止め、システムの運用を止めないためにも使われる。ログはアプリケーションが実行された軌跡であり、開発者にとっては自らが開発したアプリがどのように動いたのかを知る唯一の証拠である。

 昨今、このログを活用して、ビジネスに直結させるような動きが盛んである。情報システム部門だけではなくマーケティング部門もログを活用して、ログから得られた洞察を基に、短いスパンで情報システムに変更を加える、といったことである。

 業務改革や内部統制など企業内プロセスの監査のため、ITシステムの監査ログなども注目されている。本稿では、エンタープライズ分野におけるログの扱いと、Tweleve-Factor Appを手本とするWeb系システムでのログ活用事例を取り上げ、今後エンタープライズシステムにおいて行うべき意識の改革について焦点を当てる。

エンタープライズ分野では問題解決に利用

 ログは、航海日誌(logbook)を語源とし、アプリケーションの活動(動作)の記録を時系列順に収集し表現した記録である。

 記述の仕方として、発生した事象を時系列順に記録する以外に定義はない。コンピュータの世界では1行1イベントのテキストフォーマットが一般的である。UNIXシステムのSyslogやWindowsのイベントログなどフォーマットや出力先が決められているものもあるが、それらはごく一部であり、ログは自由に定義できる。