Upgrade to Pro — share decks privately, control downloads, hide ads and more …

続く障害からの脱却 オブザーバビリティで立て直すサービス開発

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Yamato Yamato
February 22, 2025
1.5k

続く障害からの脱却 オブザーバビリティで立て直すサービス開発

PHPカンファレンス名古屋2025

Avatar for Yamato

Yamato

February 22, 2025
Tweet

More Decks by Yamato

Transcript

  1. #phpcon_nagoya #s 自己紹介 @yamato_sorariku / 足利 大和 株式会社カオナビ • バックエンドエンジニア

    ◦ 軸はPHPer ◦ 必要なことはなんでもやります • 猫とコーヒーと飛行機が好き 2
  2. #phpcon_nagoya #s 今回のトークで登場するサービスの概要 4 提携しているメディアの記事リスト を取得するcronジョブ 取得リストをもとに 順次実行して記事を取得する cronジョブ 取得した記事を使って

    ユーザごとにレポート生成 するcronジョブ 調査レポート 提供している価値 取得先は数千件以上 総取得数は数万件以上 ユーザごとに設定された調査条件に合 致したデータを取得しレポート化 レポートに対する追加情報の取得 記事の注目度など
  3. #phpcon_nagoya #s プロダクトチームの状況 当然チームには良くない空気が流れる • 対応に追われてプロダクトへの機能実装はうまく進捗できない ◦ レガシーなコードやインフラの改善も進まない • なにかアクションを起こすと問題が起きる

    ◦ 起きる問題に自分たちで気付けない ◦ 行動しないことが安全に繋がってしまう 18 自分たちで気付けるようになろう ↓ システム監視から始める立て直しへ
  4. #phpcon_nagoya #s シンプルなシステム監視に着手 • CPUなどのサーバリソースの監視 ◦ 余裕があるからと言って問題なく稼働してるかはわからない ◦ 使用率99%でも適切にサービス提供できれいれば問題ない •

    各種ジョブ処理(cron実行)の実行結果を収集 ◦ 終了コードにが0なら正常終了している判定 ▪ エラーなのに0応答しているコードが稀に…… • ログの監視とSlack通知 28
  5. #phpcon_nagoya #s シンプルなシステム監視に着手 • CPUなどのサーバリソースの監視 ◦ 余裕があるからと言って問題なく稼働してるかはわからない ◦ 使用率99%でも適切にサービス提供できれいれば問題ない •

    各種ジョブ処理(cron実行)の実行結果を収集 ◦ 終了コードにが0なら正常終了している判定 ▪ エラーなのに0応答しているコードが稀に…… • ログの監視とSlack通知 ◦ 対応不要なエラーログの山によるノイジーアラート 29
  6. #phpcon_nagoya #s シンプルなシステム監視に着手 • CPUなどのサーバリソースの監視 ◦ 余裕があるからと言って問題なく稼働してるかはわからない ◦ 使用率99%でも適切にサービス提供できれいれば問題ない •

    各種ジョブ処理(cron実行)の実行結果を収集 ◦ 終了コードにが0なら正常終了している判定 ▪ エラーなのに0応答しているコードが稀に…… • ログの監視とSlack通知 ◦ 対応不要なエラーログの山によるノイジーアラート 30 ちゃんと稼働してるかわからん
  7. #phpcon_nagoya #s ※ インフラなどの監視はもちろん重要 • インフラレイヤで起きる問題も当然あるのでリソース監視なども必要 • 我々はWebアプリケーションエンジニアなので 「アプリケーション(サービス)」の監視が重要 •

    アプリケーションが正しく動作できていなければ価値は提供できていない 32 システムが価値が提供できていることを見えるようにしたい ↓ オブザーバビリティから始める立て直しへ
  8. #phpcon_nagoya #s 価値が提供できていることを推測する 49 構造化ログを集計してメトリクスに -> 時系列のデータとして見える 取得できてない時間が一定時間を超えた -> アラート発報

    取得できなくなったメディアの確認 -> 全部? 一部? ログとメトリクスを組み合わせてサービスが 価値を正しく提供できているか推測可能に
  9. #phpcon_nagoya #s まとめ • 小さく少しずつ始めよう ◦ シンプルな監視や構造化ログの出力から着手し、少しずつ改善を積み重 ねる。 • 価値を可視化しよう

    ◦ ログやメトリクスを活用し、サービスが正しく価値を提供できているか わかるようにする。 • チームで育てよう ◦ ダッシュボードの共有や継続的な改善を通じて、オブザーバビリティを 文化として根付かせよう。 59
  10. #phpcon_nagoya #s 参考資料 • Re:Define 可用性を支える モニタリング、パフォーマンス最適化、そしてセキュリティ ◦ https://speakerdeck.com/pyama86/re-define-ke-yong-xing-wozhi-eru-monitaringu-pahuomansuzui-shi-hua-sositesekiyuritei •

    メトリクス、ログ、トレースをうまく使い分けて可観測性を高めよう! ◦ https://speakerdeck.com/masayoshi/metorikusu-rogu-toresuwoumakushi-ifen-keteke-guan-ce-xing-wogao-meyou • Observability Whitepaper ◦ https://github.com/cncf/tag-observability/blob/whitepaper-v1.0.0/whitepaper.md#what-is-observability • O'Reilly オブザーバビリティ・エンジニアリング ◦ https://www.oreilly.co.jp/books/9784814400126/ • O'Reilly エラスティックリーダーシップ ◦ https://www.oreilly.co.jp/books/9784873118024/ 61
  11. #phpcon_nagoya #s We are hiring!! - 株式会社カオナビ https://corp.kaonavi.jp/recruit /list/ 62

    https://hrmos.co/pages/kaonavi/jobs/casual21 選考を希望する⽅ まずは話を聞いてみたいという⽅