Diary of a Perpetual Student

Perpetual Student: A person who remains at university far beyond the normal period

Mackerel オブザーバビリティユニット(仮称)のテックリードになります

本日よりMackerel開発チームは内部的に2つのユニットに分割されることになったのですが、一方であるオブザーバビリティユニット(仮称)のテックリードに私 id:arthur-1 が就任しました。オブザーバビリティプラットフォームとしてのMackerelの機能や、その機能を提供するシステムについて、技術周りの責任を持ちます。現時点の社内の建て付けだと、社内で横断的に技術を統括するグループとやりとりする窓口以上の明示的な役割はないのですが、当然それ以上のことはやっていかなければならないでしょう。

はてなに新卒入社して最初にMackerelチームにやってきて早2年半といったタイミングですが、面白い仕事をいただいたなと思っています。抱負について、別に社内に隠すことでもないかなと思うので、書ける範囲でパブリックなこの場所で書きます。

抱負

自分の仕事として、事業目標に対して技術でコミットする、そしてチームとしてそれができるように導きます。それ以上のことはないと思っているのですが、具体的に大事にしている領域や観点について紹介します。

オブザーバビリティデータに適したデータストアの設計

オブザーバビリティ、あえて漢字で書くと可観測性というのは、出力からシステムの内部状態を測定できるか(あるいはそれがどのレベルでできるか)というものです。可観測性を担保するためには、サイズが大きく量が多いデータを取り扱うことから逃げることはできないでしょう。大量のテレメトリデータを安価に保存し、高速に、かつ自在に検索できるデータストアの用意が、オブザーバビリティプラットフォームの競争力を高めるため、そしてユーザーのシステムの可観測性の実現のために大切なポイントだと考えています。実際、「オブザーバビリティ・エンジニアリング」という本でも、効率的なデータストアの実装について丸々一章割かれて解説されています。

www.oreilly.co.jp

今までMackerel開発チームで取り扱うことがなかったミドルウェアを取り入れたり、最新の研究情報に触れたりと、ある程度リソースを投じて、オブザーバビリティデータを取り扱うのに適したデータストアをMackerelのシステムとして実現させたいと目論んでいます。目論んでいるだけでなく、すでに実際に取り組んでもいます。こちらに関してはいつかパブリックな場で発表できれば良いですね。ご期待ください。

進化し続けるOpenTelemetryの仕様に追従する

Mackerelはテレメトリデータを扱う標準規格であるOpenTelemetry(のうちMetrics・Traces)に対応し、今後もその範囲を広げていきます。一方で、OpenTelemetryで定められた仕様というのは変化し続けるものです。

その例としてEntityを挙げましょう。OpenTelemetry Metricsを投稿するとき、そのMetricsはあるResourceに紐づき、Resourceに関する情報はResource AttributeとしてMetricsデータそれぞれに紐づけていました。しかし、OpenTelemetryバックエンドが永続化するべきデータモデルの1つとして、Resourceに代わりEntityというものが新たに提案されています。

MetricsそれぞれにResourceに関する情報をたくさん紐づけるのではなく、ホストなどのEntityはEntityとして分けて投稿し、Entity IDだけをMetricsに紐付けるようなイメージでしょうか。Entityはまだproposalが通ったフェーズですが、そのうちAPIやSDKに実装されることでしょう。

こうしたOpenTelemetryの仕様の変化についてチームでキャッチアップし、機能開発やシステムのメンテナンスに活かす仕組みを整えたいと考えています。現時点ではオブザーバビリティ研究会を定期的に開催し、OpenTelemetryの仕様やエコシステムの変化を追ったり、OpenTelemetryを超えたオブザーバビリティの実現について議論したりしています。

自分たちのシステムのオブザーバビリティを実現する

私たちはオブザーバビリティプラットフォームの提供者であると同時に、自身もまたオブザーバビリティを求めているシステム開発・運用者です。オブザーバビリティプラットフォームを提供する我々が勘や経験に基づいた問題解決をしていたら、提供者としての立場がないですよね。

様々なテレメトリをうまく使い分けながら、自分たちのシステムのオブザーバビリティを実現します。自信を持って我々がオブザーバビリティの先頭集団であると言えるようになりたいです。また、この過程で得た知見は製品開発に活かすと同時に、技術情報のアウトプットやOpenTelemetryのエコシステムへの貢献にも繋げていきたいと考えています。

まとめ

他にもチーム同士の連携など色々考えていることはあるのですが、今回はこの辺にしておきます。

開発者として基本はベストプラクティスから道を外さないように歩み、時はきちんとした理屈でもって適切に攻めた選択も取れるようにしたいです。そして、それが相対的に得意であるからこそ拝命したものと思っています。

ぜひ応援してください。ドライな振る舞いをしていることもありますが、励みになります。

最後に宣伝

これはあんまりテックリード関係ないのですが、日記なので、宣伝を2つさせてください。

Waroom Meetup #2 登壇

2024-11-13(水)に、株式会社Topotalさんが主催する、「現場の声から学ぶインシデント対応 | Waroom Meetup #2」に登壇します。

「障害対応指揮の意思決定と情報共有における価値観」というお堅い発表タイトルなのですが、Mackerel開発チームという現場で起こった実際の事例を元に、障害対応の指揮官をする上で気をつけているポイントを解説する予定です。オフライン限定ですので、ぜひ会場にお越しください。

topotal.connpass.com

PHPカンファレンス小田原2025 トーク募集

実は、PHPカンファレンス小田原2025のコアスタッフをやっています。技術カンファレンスのコアスタッフは個人的に避けていたのですが、ある条件を満たしたため今回携わっております。

そんなぺちおだ2025ですが、登壇のプロポーザル募集が開始しました!匿名プロポーザル形式となっております。ぜひご応募ください。

note.com

企業様のスポンサーも募集しておりますのでこちらも併せてご検討ください。

note.com