ウォンテッドリー CTOの安間です。
今回はサーバー管理から全社的な開発基盤の向上までウォンテッドリーの全サービスを支える縁の下の力持ちとして、SRE(信頼性)とプラットフォームエンジニアリング(生産性)の両輪を回し組織を加速させている「Infra Squad」に座談会形式でインタビューを実施しました。
メンバー紹介
- 田中 篤志 (Atsushi Tanaka) / Infra Squad Leader
- 2018年新卒入社。現在のInfra Squadをリードする大黒柱。技術への深い造詣と、チーム全体を見渡す広い視野を持つ。
- 川井 颯人 (Hayato Kawai) / Engineer
- 2023 年ウォンテッドリー中途入社。インフラ構築からフロントエンドの可観測性向上まで幅広く手掛ける。
- 巨畠 和樹 (Kazuki Obata) / Engineer
- 出版グループの SIer を経て、2024年にウォンテッドリーに入社。Kubernetesクラスタの運用やコスト最適化などで活躍中。
- 安間 健介 (Kensuke Yasuma) / 執行役員 CTO
- 今回のインタビュアー。全社の技術戦略を統括しつつ、現場のエンジニアともフラットに議論する。
Infra Squadって、どんなチーム?
──今日はよろしくお願いします!まずは、Infra Squadがどんなミッションを持って、どんなことをしているチームなのか、リーダーの田中さんから教えてもらえますか?
田中: はい。Infra Squadのミッションは大きく2つあります。一つは「サービスの信頼性を担保すること」。いわゆるSREの領域ですね。もう一つは「開発者の生産性を最大化すること」。これはプラットフォームエンジニアリングの領域です。
──守りと攻め、両方を担っているわけですね。
田中: そうです。具体的には、全社のサーバー管理──今はほぼ全てKubernetes上で動いていますが──その運用管理や、AWSなどのクラウドアカウント管理、SaaSのアカウント管理、あとはセキュリティ対応や障害対応のアラート監視なども僕たちの担当です。
──かなり範囲が広いですね。技術スタックについても少し詳しく聞かせてください。
田中: 全サーバーがKubernetes(EKS)上で動いているというのが一番の特徴です。構成管理としてTerraformを用いたIaCを実践し、モニタリングにはDatadogを活用しています。
──新しい技術も積極的に取り入れている印象があります。
田中: そうですね。分散トレーシングなんかも日本で流行る前からかなり早い段階で導入していました。「まずはやってみよう」という精神で、新しい技術スタックへの投資は惜しまないチームだと思います。
「このSquadらしさ」って何?
──Infra Squadの特徴や「らしさ」を一言で表すと、どういう言葉になりますか?
川井: うーん、一言で言うなら「One Team」ですかね。
──お、「One Team」。具体的にどういうことですか?
川井: インフラチームは会社によっては「データベース担当」「ネットワーク担当」みたいに個人の専門領域でパキッと分かれていることも多いと思うんです。でもウォンテッドリーでは「全員で全部やる」みたいなスタンスで取り組んでいます。
巨畠: そうですね。もちろん個人の得意分野はあるんですけどプロジェクト単位で動くときは2〜3人でチームを組みますし、何か障害が起きたら担当じゃなくても「あ、それ手伝います」と自然に集まることが多いです。
田中: そうそう。「これは自分の担当じゃないから知らない」というのが全くないんですよ。誰かが困っていたらすぐに集まって、「あーでもない、こーでもない」と画面を共有しながらワイワイ解決していく。
──確かに、Infra Squadを見てると、常に誰かが会話しながら協力して進めているイメージがあるね(笑)。
川井: 僕、前職までは「仕事仲間」って感じだったんですけど、このチームに入ってからは、なんというか…好きな技術の話をしながら面白いものを作ってる感覚というか。もちろん仕事なんですけど、変な壁がないんです。「これ面白そうじゃない?」って提案したら、「いいね!やろう!」とすぐ盛り上がる。
田中: 意思決定もめちゃくちゃ速いですよね。
川井: 速いですね!「これやりませんか? 」という提案をしたら、その場か遅くても次の日の朝会では「じゃあやっといて」となる(笑)。
巨畠: 承認フローで何日も待たされる、みたいなストレスは皆無ですね。そのスピード感も「らしさ」かもしれません。
印象に残ったプロジェクト──Datadog RUM導入の挑戦
──最近取り組んだ中で、特に印象に残っているプロジェクトはありますか?
川井: 僕は「Datadog RUM(Real User Monitoring)」の導入ですね。
──お、RUMですか。これはどちらかというとフロントエンドの領域に関わりますよね?
川井: そうなんです。元々バックエンドの可観測性は高かったんですが、ユーザーのブラウザで起きていること、つまりフロントエンドのエラーやパフォーマンスが見えづらいという課題がありました。そこでRUMを入れユーザー体験を可視化しようという話になったんです。
──infraチームがフロントエンドの領域に踏み込むのは、難しさもあったんじゃないですか?
川井: ありましたね。導入自体は設定を入れるだけなんですが、それを「どう活用してもらうか」が大変で。フロントエンドエンジニアと連携して「こういうデータが見れるようになりますよ」「このエラーは直したほうがいいですよ」というように「インフラの人」ではなく「プロダクトを良くする仲間」として関わっていく必要がありました。結果的にこれまで見落とされていたエラーが検知できるようになり、品質向上に貢献できたのは嬉しかったです。
──まさに「領域を超えてOne Team」を体現したプロジェクトですね。巨畠さんはどうですか?
巨畠: 僕は昨年発生した「アクセス急増による大規模対応」ですかね…。あれは痺れました(笑)。
──あー、あれですね(笑)。詳しく教えてください。
巨畠: 年始に予想を遥かに超えるアクセスが特定のサービスに集中してしまい、データベースの負荷が上がってアラートが鳴り止まない状況になりました。
田中: あの時は本当にお祭り状態でしたね。
巨畠: はい。でも、そこで「誰のせいだ」とか犯人探しをする空気は一切なく「とりあえず全員集合!」という感じで、すぐにみんなが集まってくれました。「僕はDBの設定見ます」「じゃあ僕はアプリ側のログ見ます」「私はスケールアウトの設定確認します」と阿吽の呼吸で役割分担ができたんです。
──すごい連携ですね。
巨畠: 結果的にサービスを止めることなく乗り切ることができました。さらにその後「じゃあ恒久対応どうする?」という話になり、コスト削減も兼ねたアーキテクチャの見直しプロジェクトに繋がりました。ピンチをチャンスに変え、さらにシステムを強くできた。あの経験はチームの結束力をさらに高めたと思います。
失敗から学んだこと──「ナイストライ」と言える文化
──逆に、上手くいかなかったことや失敗談はありますか?
川井: さっきのRUMの話にも繋がりますが、導入したはいいものの最初は「通知がうるさすぎてオオカミ少年になる」という失敗がありました(笑)。
一同: (笑)
川井: 張り切ってあらゆるエラーを通知するようにしたら、Slackのチャンネルがエラー通知で埋め尽くされてしまいました。「この中で本当に重要なのはどれ?」という状態になっちゃったんです。
──あるあるですね…。どうやって改善したんですか?
川井: チームで話し合って「本当にアクションが必要なものだけ通知しよう」と設定を地道にチューニングしました。あとは「失敗しても、とりあえず入れてみたこと自体がナイスだよね」と言ってもらえたのが救いでしたね。
田中: うちのチーム、減点方式じゃないんですよ。新しいことをやって失敗するのは当たり前。むしろ「何もしないこと」がリスクだと思っています。
巨畠: そうですね。僕も入社したての頃、本番環境の設定を少し間違えてヒヤッとしたことがありました、その時も田中さんがすぐに気づいてフォローしてくれて、「次はこうやって防ごうか」という仕組みの改善の話にすぐ切り替わりました。
──「人を責めずに仕組みを直す」。ポストモーテム(事後検証)の文化が根付いているんですね。
田中: そうです。毎週週に1回ポストモーテムレビュー会を開催し、起きた障害やミスを隠さずに共有して全社でナレッジにする。そういうオープンな文化は心理的安全性を高める上で凄く大事にしています。
普段の開発プロセス・働き方
──普段はどのようなサイクルで開発を進めているんでしょうか?
田中: 基本は1週間単位のスプリントで回しています。月曜日に「今週やること」をプランニングして、金曜日に「できたこと」をデモやレビューで確認する、というサイクルですね。
──毎日の動きとしては?
巨畠: 毎朝3015分程度の朝会があります。そこでその日にやることを共有し、困っていることがあれば「後で相談タイムを設けましょう」というコミュニケーションをとっています。
──リモートワークと出社のバランスはどうですか?
田中: 集中するためにリモートワークをする日もありますが、月曜日と金曜日はオフィスで集まる出社日にしています。
川井: この月・金のリズムがいいんですよね。週の初めに顔を合わせて気合を入れて、週末に「今週もお疲れ!」って顔を見て終わる。
──オフィスにいる時のランチはどうしてますか?
川井: 金曜日は会社全体で「All Culture Lunch」という制度があり、ランダムに組まれた他チームの人たちとお弁当を食べています。これが結構楽しみです。
巨畠: それ以外の日はチームで外に食べに行くことも多いですね。そこで仕事以外の雑談をして仲良くなるのが「One Team」の秘訣かもしれません。
新メンバーへのサポート・成長環境
──新しいメンバーが入ってきたら、どんなサポート体制がありますか?
田中: まず「オンボーディングチェックリスト」を用意しています。入社初日から数週間でやるべきこと、読むべきドキュメント、セットアップ手順などがまとまっています。
巨畠: あとはメンター制度ですね。僕が入社した時は川井さんがメンターで、毎日夕方になると 夕会で「今日どうでした?」と聞いてくれて些細な疑問も全部解消できました。
川井: 放置は絶対しないですね。特にインフラは強い権限を持っていてリスクのある操作が多いため、最初はペアで一緒に画面を見ながら作業することもよくあります。
──このSquadに入ると、どんな成長ができると思いますか?
田中: 「広さと深さ」の両方が手に入ると思います。Kubernetesのようなモダンなコンテナ技術を大規模に運用する経験(深さ)と、フロントエンドからバックエンド、クラウドインフラまで全体を俯瞰してアーキテクチャを考える経験(広さ)が養えます。
巨畠: 前職では決まった範囲のインフラしか触っていませんでしたが、ウォンテッドリーに来てから「サービス全体をどう良くするか」という視座を持てるようになりました。
川井: エンジニアとしての「基礎体力」みたいなのがめちゃくちゃ上がりますよね。どんなトラブルが起きても動じないメンタルも身につきます(笑)。
一緒に働きたい人
──ズバリ、どんな人と一緒に働きたいですか?
田中: やっぱり「技術が好きな人」ですね。新しい技術に対して「うわ、面白そう!」って目を輝かせるような人。
川井: あとは「面倒見のいい人」かな。自分の担当範囲だけじゃなく「あっちのチーム困ってそうだな、ちょっと見てくるか」と動ける人だとうちのカルチャーにすごく合うと思います。
巨畠: 「誠実な人」も大事ですね。失敗した時に「やっちゃいました」と素直に言える人。隠されると一番困るので(笑)。
──逆に「こういう人は合わないかも」というのは?
田中: 「言われたことだけやりたい人」は厳しいかもしれません。「これをやってください」というようにタスクが降ってくることは少ないので、「ここが課題っぽいから、こう解決したいです」と自分で提案して動ける人の方が活躍できると思います。
──自律的に動けることが重要なんですね。
これからの展望・メッセージ
──最後に、Infra Squadとしてこれから挑戦したいこと、そして未来の仲間へのメッセージをお願いします。
巨畠: 僕はもっと「自動化」を進めたいです。トイル(手作業などの労力)をもっと減らして、みんながよりクリエイティブなことに時間を使えるようにしたい。そういう仕組み作りを一緒にやってくれる人が来てくれたら嬉しいです。
川井: 僕はプロダクトの詳細まで信頼性を上げるために、開発チーム全員が SRE プラクティスを理解・実践できるようにしていきたいです。一緒に最高のプロダクトを作りましょう!
田中: 僕は技術的にもカルチャー的にも「ウォンテッドリーのインフラはすごい」と対外的にも胸を張れるチームにしていきたいです。インフラエンジニアは裏方に見られがちですが、実は一番プロダクト全体のことを考えられるポジションだと思っています。「技術で事業を支えたい」「チームで大きな成果を出したい」という熱い想いを持った方、ぜひ一度お話ししましょう。待っています!