近況報告

TAKA
May 16, 2024

--

よくあるやつ
よくあるやつ

2024年5月10日をもって、株式会社メルカリを退職しました。昨年の6月1日に入社してから約1年での退職となります。過去最短の勤続期間ですが、メルカリはとても良い会社でした。不満があって辞めたわけではなく、次の会社のポジションがとても魅力的だったので転職を決めました。

メルカリでの仕事

メルカリではPlatformグループのSREチームに所属し、メルカリShopsのチームでEmbedded SREとして働いていました。入社直前にSouzohがメルカリに吸収され、大規模なチーム変更が行われた直後でした。元々40名ほどいたメンバーが10名ほどに減り、入社時に面接してくれた方々が同じチームにいないことに驚きました。

SREとして何をやっていたか

Shopsでは主にサービスのレイテンシや可用性の問題の改善、コスト削減のためにElasticCloudのリソースの最適化やBigQueryのStreaming insertの削減、CloudSQLのリソースの移行と最適化を行いました。

Shopsでは頻繁にアラートが発生し、今までの会社の中でも最も多くのアラートがありました。入社当初はモニターの設定が現実と乖離しているのではと思っていましたが、実際にはリクエスト数の増加やステータスコードの誤設定など、多くの問題が発生していました。改善することがたくさんあるという意味では、SREとして非常にやりがいのある環境でした。

Shopsではメルカリ本体とは異なり、CloudRunやCloudSQLを利用しています。リクエストの規模が大きくなるにつれ、CloudRunやCloudSQLの制約との戦いが発生し、ネット上に情報のない問題にも多く直面しました。

アプリケーションチームとも連携し、週に一度SLOやアラート数、レイテンシなどのメトリクスを確認し、改善策を議論しました。最終的にはアラートの数を大幅に減らすことができました。そのほかにも日々タイミングがあれば「oncallをもっと楽なものにしたい」と啓蒙活動?をしたり、細かい改善点を見つけてアラートチャンネルで共有したりしていました。

PagerDutyのAnalytics機能を使ってアラートの発生回数や対応時間をグラフで確認し、アラートが減少するのを見るのがなによりの楽しみでした。

最後の方ではメルカリ本体のSREチームにも少し関わり、SLO関連の施策の立て直しを手伝いました。将来的に面白くなりそうなプロジェクトで、今後の発表が楽しみです。

さいごに

約1年間はあっという間でした。8月頃からレイテンシや可用性の問題が発生し始め、変更を加えていないにもかかわらずレイテンシが悪化する状況が続きました。1つの問題を解決しても新たな問題が発生し、地道に問題を解決するしかありませんでした。

細かい改善の中でも、Shopsのアーキテクトの方やシニアなエンジニア方がする提案は、内部の仕様や仕組みがわかるからこその提案であり、効果的なものが多くありました。大きな改善を行うためには、サービス自体の理解が重要であると感じました。今振り返ると、もう少し仕様の把握をやるべきだったと感じています。

CircleCIのサポートエンジニア時代からデバッグに熱心に取り組んできましたが、SREになってからはさらにメトリクスやログを活用して原因を深く調査できるようになりました。新しい武器を手にした気分で、デバッグがより面白く感じるようになりました。

また、1つの問題から複数の問題に波及していく問題をShopsでは多く見ることでき、システムはつながっていると改めて感じることができ、よい経験をさせてもらいました。とても感謝しています。

新しい仕事は6月から始まるので、少し時間があります。もし近況をお聞きになりたい場合や雑談などがあれば、ぜひお話しましょう。

https://calendly.com/ganezasan/30min

--

--