HANOWAにDatadogを導入して実現したこと - これからの活用について
こんにちは。HANOWAでエンジニアをしている佐々木です。
気づいたらHANOWAに参画してからもう1年も経っておりました。
HANOWAに入る前と比べると少しずつですが、やれることが増えて着実に成長を感じることができています!今回お話しするDatadogの導入に関しても、私にとって初めてのことでした。
Datadogというサービスを導入して、何ができるようになったのか、これからどう活用するかについて話していこうと思います。
Datadogとは
サービスを監視することができるツールです。今回で言うと「サービス=HANOWA」ですね。
ほんの一部ですが、例えば以下のようなことを監視することができます。
サービスが正常に稼働しているか
CPUやメモリの使用量が異常ではないか
リアルタイムのパフォーマンス監視
各ページの表示速度
発生したエラー
ログの自動収集&分析
システム、アプリケーション、サービスを横断した監視
色々なものを監視&集計することができます。
とは言え、全てを監視するとコストも上がりますし、サービスによって監視したいことは異なるので、監視したいものだけを導入していくのが基本の運用方法になります。
そしてそれらを監視して集計したものをダッシュボードと言われる可視化された一覧で確認することができます。
このように集計された情報が可視化され、カスタマイズできるので様々な立場の人が活用できるようになっています。
HANOWAでの活用
今回HANOWAでは主に以下の3点を監視対象と致しました。
サービスが正常に稼働しているか(死活監視)
CPUやメモリの使用量が異常ではないか
リアルタイムのパフォーマンス監視
そもそもDatadogの導入に至った理由は、「サービスが正常に稼働しているかが把握できない」ことでした。
ユーザーからの問い合わせで、「あれ、今HANOWA不具合起きてるようだぞ(汗)」と言う状態でした。
サービスに不具合が起きないのが一番ですが、起きてしまった際に迅速に対応できるような体制を作ることも大切です。よって、Datadogの導入をすることとなりました。
サービスが正常に稼働しているか(死活監視)
サービスに致命的なエラーがでている際に、HANOWA運営のSlackに通知が飛ぶようになりました。これにより、いち早く原因調査&不具合修正に入ることができ、サービスの早期復活に繋げることができます。
CPUやメモリの使用量が異常ではないか
こちらも一つ目と同様にCPUやメモリの使用状況が高くなった際に、HANOWA運営のSlackに通知が飛ぶようになりました。サービスが著しく重くなってしまう前に対応が可能となります。HANOWAでは現在オートスケールを設定しているので、あまり活躍する機会はないかもしれませんが、念のために監視対象としています。
リアルタイムのパフォーマンス監視
ユーザーエクスペリエンスを元に各画面のロード速度や画面ごとのアクセス数、APIエラーの発生を確認することができるようになりました。
通信環境や使用端末のスペックなどで画面の表示速度などは変わってしまうので、よりユーザーライクな情報を収集することが可能です。
今後の活用について
Datadogは導入して終わりではなく、導入してどう活用していくかが大切だと思っています。
サービスの稼働状況やCPU・メモリの監視を行い異常があれば通知が届くようになりましたが、その後の対応方法についてもドキュメント化し、誰でもある程度の対応が可能な状態にする必要もあると思います。これに関しては引き続き対応していきます!
上記で説明した3つ目のリアルタイムのパフォーマンス監視に関しては、今後HANOWAをより良くするために大きく活用できる情報です。
例えば、いくつか表示速度が遅い画面があった場合に、ユーザーのアクセス数から対応の優先順位をつけることも可能になります。
JavaScriptやTypeScriptのエラーも把握でき、原因箇所のコードも確認することもできますし、
使用しているOSや端末、ブラウザの種類も判別できるため、特定条件下(iOS14.0以下ののchromeでしか発生しない)など開発時に気づけなかったエラー等の解消にも役立てることができるかもしれません。
ユーザーライクな情報なので、ピンポイントの修正に役立てることができそうです。
とはいえまだ導入しただけという状態なので、他企業の活用方法なども参考にしつつ、HANOWAでどう活かせるのかを勉強していこうと思います!
以上、Datadogの導入についてでした!
お読みいただきありがとうございました!
HANOWAでは他のメンバーもnoteを書いているので、ぜひ見に行ってみてください!