こんにちは!Mackerel CREチームでカスタマーサクセスマネージャー(CSM)をやっているid:chizniiです。
Mackerel は2024年9月17日で正式リリースから10周年を迎えます。今後はオブザーバビリティ分野にも力を入れ、始めやすくて奥深いオブザーバビリティプラットフォームとして進化していきます。これからのMackerelがどのように変わっていくのか、何を目指していくのかについてぜひお伝えしたいと考え、2024年10月22日(火)に、オブザーバビリティをテーマとした技術イベントを開催する運びとなりました。
イベントの開催を記念して、今回は新しくMackerelで利用できるようになった、分散トレーシングサービス Vaxila(ヴァキシラ)について、開発を行っている Mackerel チームエンジニアの id:mrasu、id:lufiabb とプロダクトマネージャーの id:RyuGoo にインタビューを行いました。
Vaxila事業を立ち上げたきっかけや苦労話、MackerelでVaxilaを使えるようにするまでの道のりといった裏話をたくさんお話しいただいています!
目次
- 日本での競合はMackerelだけだった。自分が最初にトレース機能を開発するという思い
- 新卒でも、ソースコードに詳しくなくても、ツールを使ってエラーを解決できる
- 簡単に使えるというMackerelの良さを活かしながら、Vaxilaの機能を統合していきたい
- 終わりに
日本での競合はMackerelだけだった。自分が最初にトレース機能を開発するという思い
id:chiznii それではさっそく、id:mrasuさんがこのVaxilaというプロジェクトを立ち上げた背景についてお聞かせください。
id:mrasu 元々個人事業主を2年くらいやっていました。そろそろ法人化をしたいなと考えた時、法人化をするなら今までとは別の事をしようと思いました。 これまではどこかの企業に行ってお手伝いをするみたいな形で仕事をしていましたが、自分で新しくサービスを作ってみようと思ったのが最初の動機です。
id:chiznii そこでなぜ、分散トレーシングやOpenTelemetryの分野を選ばれたんですか?
id:mrasu その頃トレースやOpenTelemetryを他に日本でそれをやっている人がいなかったからというのが、かなり強いですね。海外では既に有名で、それをやっている企業も沢山あるんですが、日本にはなかったので。それなら何かしらやれるんじゃないかと思って参入した、という感じです。
id:chiznii 日本では明確な競合がいなかったということですか?
id:mrasu おそらく、日本で競合だったのは本当にMackerelだけでした。MackerelはOpenTelemetryの対応を始めていましたが、トレースは扱っていなかったので、僕が最初にトレースをやろう、と考えました。トレースは本当に誰もやっていなかったと思います。
id:chiznii はじめてみて、苦労したことはありますか?
id:mrasu 僕は開発者なので、とりあえず作れば何とかなるだろうと考えて作り始めたんですが、実際にそこそこ出来上がってくると、次は売らないといけなくて、売るとなったら営業活動をしなければいけない。営業活動をしないといけなくなると、開発の時間がなくなる。開発と営業、どっちをやるんだ?となって。でも、どっちもやらなければいけない。じゃあ、そのために新しく人を雇うのか?そういう開発以外のやらないといけないことがたくさんあって、それを考えていくのは大変でした。
id:chiznii そこで壁にぶち当たったと。
id:mrasu そうですね。まさにそのときにはてなから事業譲受の声がかかったので、はてなと一緒にやればいいんだと、そう思いましたね。
id:chiznii 実際にははてなに入社もしていただいたわけなんですが、一人で開発するのと、はてなの人と一緒にやるのとで違っていた部分はありましたか?
id:mrasu 一人でやるのとは全然違うな、と思いました。分からないところは誰かに任せればいい。それこそ開発ディレクターのid:RyuGooさんがいたり、営業についてはセールスやCREが案件を持ってきてくれて、サービスの内容を喋ってきてくれる。そういうことは開発者の自分はやらなくてよくなりましたね。
id:chiznii 誰かに任せられるというのは全然違いますよね。CSMとして自分もid:mrasuさんが開発に集中できるように協力していきたいです。
そうしてMackerelとしてVaxilaのプロジェクトが立ち上がっていったわけですが、そこでの苦労はありましたか?
id:RyuGoo プロジェクトが立ち上がった時、とにかくスピードを優先していました。まずはMackerelの中でVaxilaが動いて、Mackerelのユーザーの方がVaxilaを使えるようにする事を最優先で対応しよう、と。その分、公開のときに何をするのか、どういう案内をするのか、など後から考慮しなければいけないことが出てきて、そういうプロジェクト管理の面が苦労しました。
id:lufiabb id:mrasu さんが入社されたのが2024年6月中旬で、本格的に動き始めたのが6月末くらい。8月の後半にリリースするとなると2ヶ月もないくらいだったので、とても慌ただしかったですね。
新卒でも、ソースコードに詳しくなくても、ツールを使ってエラーを解決できる
id:chiznii ありがとうございます。ここからは、Vaxilaの機能面について詳しくお聞かせください。Vaxilaを使うとどういうことができるのでしょうか。どういう課題が解決できるのか、というところを改めてお伺いしてもよいでしょうか。
id:mrasu はい。端的に言って「エラーを早く解決できる」がVaxilaができることです。これまでだと、ログを出すか、あるいはメトリックでエラーがあったということはわかる。けれどもそれ以上の細かい情報、たとえばそのリクエストがあったときにどういう処理をしていたのか?などはわからなかった。そういう細かいことを素早く知ることができる、だから素早く直すことができるというのがVaxilaの価値ですね。
あとは、ソースコードがよく変更されているから、勘があまり効かないというケースなどで役立ちます。ソースコードを知らないと勘を働かせられない、だから他のチームのエラーは解決できない、ということがこれまであった。それがソースコードをあまり知らなくても、他のチームのエラーでも解決できる。ということが実現できるようになります。
id:chiznii なるほど。では、具体的にどういうユースケースがありそうですか?
id:RyuGoo 例えばですが、Mackerelは今どちらかというとシステムを運用・管理するような人が使っていると思いますが、Vaxilaはアプリケーションを作っている人、ソフトウェアを作っている人が使うといいものなんです。例えば、それを運用・管理している人が使うことで、アラートを受けて何かエラーが出てるとわかったときに、アプリケーション側で何が起きてるのかというのを、開発に確認しやすくなる、ということはあると思います。今、ここの処理で遅いとか、エラーが出てるのはデータベースが詰まってるからじゃないか、とか。そういったシステムの運用・管理者と開発者のコミュニケーションに役立つかもしれません。だから、結果として素早く対応できることになる。
id:chiznii 確かに、部署を超えてコミュニケーションできるようになって、結果的に対応が早くなるとか、普段だったら干渉しないようなところまで対応できるようになるっていうのは、すごく良いですね。
id:chiznii Vaxilaのお気に入りの機能などはありますか?
id:mrasu そうですね。もともとやりたかったこと、そこから話をすると、新卒でも、ツールを使ってエラーを直せるようにしたかったんです。そのために、エラーが起きたら、そのエラーが何で起きたのか。例えば、リクエストがおかしいですとか、この時に突然スパイクが起きているとかを、今までは勘でこうじゃないかとあたりをつけて調べていた。それをこれからはツールが教えてあげる。エラーが起きた時に、スパイク起きてるからこじゃないか?というような。
簡単に使えるというMackerelの良さを活かしながら、Vaxilaの機能を統合していきたい
id:chiznii Mackerelになってもそれは実現できるんでしょうか。プロダクトの今後の展開について教えて下さい。
id:RyuGoo まず、VaxilaをMackerelとしてリリースして、ユーザーの反応を見てどういう方向に舵を切るか考えていくことになると思います。Mackerelは今、運用とか管理をする人がメインで使っていているという先ほどの話もちょっとつながりますけど、今後このVaxilaがあることによって、もしくは、今後Mackerelとしてのトレース機能というものができてくることによって、今とは違う方向性の人たちが使うようになるかもしれない。そうなってくると、そこで、id:mrasuさんがもともと考えていたような方向性に志向してみよう、という話題が出てくるんじゃないかと思いますね。そこはやっぱりユーザーの反応を見ながら、もちろんプロダクトとしての理想も描きつつ、どういう道を描いていくか次第です。まだわからないですね。
今後の展開としてはまず、Vaxilaというプロダクト自体は今回公開しましたが、ユーザーへの提供を最速で目指す、というところで、仕様だったりとか、技術的に対応を後回しにしたものもあるので、まずはそういったところを取り組んで、ユーザーが使う上で困らないようにする。というところが最初に取り組むところだと思っています。
そして、今はMackerelとVaxilaという2つのプロダクトがある状態で、それぞれ使っていただいていいんですけど、アプリケーション側で何か問題が起きているときに、アプリケーションの状態とMackerelのアラートを合わせて確認したいとなったら、2つのプロダクトを行き来しなきゃいけない、という問題が出てくる。次はそこを解消することです。簡単に言えば、Mackerel側にVaxilaを統合していくことになります。この時に、Vaxilaが持っている全ての機能をMackerelに統合するのかとなるとまた別の話で、そこはMackerelらしさを大事にしつつ今ある機能とうまくつなぎ込んでいきたいですね。例えばVaxilaでわかった問題をMackerelのアラートに簡単に変換できる、もしくはシステムの健康状態みたいなものをMackerelのダッシュボードで見られるようにする、など。もちろんこれはまだまだ妄想の話ですけど、Mackerelと親和性を高めてていきながら、Vaxilaの持っている機能をうまく統合していく、ということをやりたいと思っています。
id:chiznii Mackerelが持つ、簡単に使えるという良さを活かしつつ、トレースの機能が備わり、システムの運用・管理者とアプリケーション開発者が垣根なくMackerelを活用してくれるというのは、まさに理想的です。実現していきたいですね。
終わりに
分散トレーシングサービス Vaxila(ヴァキシラ)の事業立ち上げの裏話から、今後の取り組みについてご紹介させていただきました。 Vaxilaは現在トレース機能の体験版という位置づけで、既にご利用いただく事が可能です。興味がありましたら、是非お気軽に試していただけますと幸いです。
▶️ 分散トレーシングサービス Vaxila(ヴァキシラ)が Mackerel の機能として使えるようになりました
10月22日(火)に開催するMackerel Tech Dayには、今回インタビューに登場したメンバーも現地スタッフとして参加予定です。ここでは書けなかったお話や、具体的なサービスの内容についても色々お話ができると思います。 ご興味がありましたら、ぜひ参加申込をお願いします!