なんとなくそう思ってたけど、オブザーバビリティ=SREの専売特許みたいなイメージって、じつはちょっと違うみたいなんだよね💭
システムの不調を見つけたり直したりするのは確かにSRE(サイトリライアビリティエンジニア)の役割。でも、開発者だって自分が書いたコードがどう動いてるか、問題が起きたときにさっと原因を掴むためにはオブザーバビリティがめっちゃ大事なんだ✨
そもそもオブザーバビリティって何?
言葉だけ聞くと難しそうだけど、ざっくり言うと「システムの状態をよく観察して、何が起きてるかちゃんとわかるようにすること」だよ👀
- ログ(何が起きたかの記録)
- メトリクス(CPUやメモリの使い方など数値情報)
- トレース(処理の流れをたどる)
この3つをうまく集めて分析することで、問題の予兆や原因をつかみやすくなるんだ💡
え、開発者がやるの?めんどくさそう…
わたしも最初はそう思った😳でも、実は「自分のコードにちょっとした計測を足す」くらいからできるんだよね。たとえば、
- コードにログをしっかり残す
- 重要な処理の時間を測ってみる
- エラーの発生箇所を詳しく記録する
これだけで、あとで「あれ?なんで動かないんだ?」ってなったときにだいぶ助かる✨
どうやって始めればいいの?
- 小さく始める📌
いきなり全部の機能を監視しようとしなくていい。まずは自分がよく触る部分だけログやメトリクスを増やしてみる。 - ツールはシンプルに🔧
導入が簡単なオープンソースやクラウドサービスを使ってみるのがおすすめ。複雑なのは後回しでいいよ。 - 習慣にしちゃう💗
コード書くときに「これ、あとで見直すかもな」って意識してログや計測ポイントを足すクセをつけると自然とできるようになるよ。
なんでそんなに大事なの?
トラブル対応の時間が減るし、原因を突き止めるまでのモヤモヤも減るからストレスが減る✨
あとは、自分の書いたコードがちゃんと動いてるか「見える化」できると、なんか嬉しいし自信にもつながる💪
まとめると…
オブザーバビリティはSREだけの仕事じゃなくて、開発者にもできるしやったほうがいいことなんだよね。
難しく考えなくていいから、まずはちょっとしたログやメトリクスを増やすことから始めてみるのがいい感じ💭
これからはただコードを書くってだけじゃなくて、「どう動いてるか見えるようにする」ことも自然にできたら、もっと楽しくなると思うなぁ✨🥺
もし「やってみたいけど何から?」って思ったら、まずは自分の作業してるアプリのログを増やしてみるところから挑戦してみてね❣️
意外と簡単だから、ぜひ試してみてほしいな〜💬
コメント
ハンナ
otelは公式の説明と実際の運用において、ちょっと変なギャップがあるんだよね。
クリス
otelの目的の一つは、フックからライブラリコードにテレメトリー信号(特にスパンやトレース)を直接組み込むことだった。
グレース
有名なライブラリやネットワーク重視のサービスでは多少できているけど、実際はebpfやランタイム、サービスメッシュに頼ってることが多い。
ロバート
個人開発者としては、コードにスパンやトレースを入れる例を見ても、現実にはみんなスタックのかなり下の方まで押し込んでて、どう取り出したらいいかわかりづらいんだよね。
リリー
だから本気でやるなら、低レベルの収集を管理するSRE兼、ビジネスに合わせたスパン収集を統合するエンジニアの両方が必要になる。
ジョージ
単なるエンジニアがotelトレースをコードに入れても、親スパンは来ないし、伝播先も使わないし保存先もないから、興味を持たないのも当然だと思うよ。