こんにちは、大谷(@katzchang)です。Observability Conference Tokyo 2025ではオーガナイザーの一人として、実行委員の皆さんとともに、開催に向けた企画や調整をしているところです。楽しいカンファレンスにしていきたいですね!さて、最初のブログ記事として、なぜオブザーバビリティのカンファレンスを開催しようとしたのか、何がしたかったのかについてまとめていきたいと思います。
最初に少しだけ、個人的な思い出話をさせてください。20年余りの私のキャリアの中で思い出深いものは、VOYAGE GROUP(現CARTA HOLDINGS)時代の話です。当時、ウェブ広告配信事業で数名のメンバーとともに、ゼロからコードを書き、パブリッククラウドでインフラを用意し、高いスループットのトラフィックを捌きながら、広告効果をどのように高めるか(== ユーザーに価値ある情報をいかに届けるか)について様々な試行錯誤を繰り返していました。当然、トラブルは起こります。
たとえば、ローンチの初日、深夜0時にサービスを開始したところ突如、サーバーインスタンス(当時はAWS EC2インスタンスを使っていました)のCPU使用率が上がりました。HTTPレスポンスのレイテンシーも悪化しているようです。何かがうまく動いていないことがわかりました。ここまでにかかった時間は20分ほどだったかなと思います。
さて、何が起こっていたのでしょうか?そして、どう対処すべきでしょうか?
いくつかのオプションがあります。一番強いオプションは、ローンチを中断してトラフィックを止めることです。ビジネスの状況的には無理な選択肢ではありませんでしたが、もちろんそれなりの事業インパクトはあります。他のオプションとしては、コードの内部を調べ、どこでCPUを使っているかを探り、修正し、デプロイするという、実に健全そうな対処です。ところがその時点では午前1時くらい、まともにコードを書くような状況ではありませんし、まともだったとしても、問題箇所の特定して修正するにはどの程度の時間と苦労が必要になるかはわかりません。
別のオプションもあります。AWS EC2インスタンスはスケールアップやスケールアウトが可能で、幸いにもアプリケーションアーキテクチャーはそれに備えています。ただし、CPUリソースの不足が原因だとすると効果はありますが、何が起こっているかわからないので、効果がないかもしれません。もちろんコストもかかります。想定コストの10倍くらいはすぐに到達するでしょう。
さて、もう一度聞きます。どう対処すべきでしょうか?さらに別のオプションとして、「さらなる別のオプションを検討する時間を使う」というのも加わります。あなたはどう意思決定しますか?
このような場面で適切な判断をするためには、取り得る選択肢のバリエーションとともに、状況の把握が重要です。取り得る選択肢はビジネス的な選択だったり、アプリケーションコード的な選択だったり、もしくはインフラストラクチャー的な選択だったりするかもしれません。それぞれ、必要となる手間やコストも様々です。様々なオプションを洗い出し、もっともマシな選択をするためにはどうしたらいいか、これが課題です。制御工学的の言葉を借りれば、オプションを洗い出すのは可制御性の領域であり、状況を把握するのは可観測性、つまりオブザーバビリティの領域です。
本番環境では様々なことが起こります。事前に負荷試験環境などで想定していたものとはデータも違うしトラフィックも異なる。本番環境で何が起こっているかを把握し、様々なオプションを検討し、課題に対してできるだけ早く対処するために、オブザーバビリティは本番環境に関わるすべての人に役に立つはずです。これはSREチームだけのものではないし、プラットフォームチームだけのものでもないし、もちろんアプリケーションチームだけのものでもない。本番環境に関わる人すべての問題領域のはずです。
これは、既存のイベントやカンファレンスにはなかなか合致しません。それぞれ、重要だったり流行だったりいろいろなトピックがあり、それらを支えるだろうオブザーバビリティにまで目を向けるのは難しいでしょう。これが、オブザーバビリティをテーマにしたカンファレンスが必要と考えた理由です。
Observability Conference Tokyo 2025は、開催趣旨にも記した通り、サービス運営に携わる全ての役割の人たちが集まり、知見を共有しあうカンファレンスにしたいと思っています。10/27月曜日、オブザーバビリティについて語り尽くしましょう!
現在、すでにチケット販売が始まってます。10/27月曜日の予定を確認して、 o11ycon.jp からチケットを入手しましょう!また、最新情報はXアカウント @o11yconjp からも発信しています。ぜひチェックしてみてください!