「社会インフラになるサービスを手がける誇りを」GOのSREが未来につなげるもの
タクシーアプリ『GO』をはじめとする社内サービスの信頼性向上を担うSRE(Site Reliability Engineering)グループ。「止まらないサービスを最速で作る仕組みづくり」をミッションに掲げ、取り組んでいます。
一般的にSREグループのリソースが不足すると、サービス拡大や新機能追加のボトルネックになりかねません。しかし、GOでは少数精鋭ながら「SREチームがいるからこそ、スピード感を保ちながら新たなチャレンジができる」という声も。
GOのSREグループの特徴、そして強みとは何なのか。取締役 開発本部長の惠良と技術戦略部 部長の水戸に話を聞きました。
少数精鋭のSREグループが担う役割
ーGOのSREの特徴や他社との違いを教えてください。
水戸:標準化を非常に重視した管理をしている点です。
僕らSREグループのメンバーは、5名で60〜80のサービスを管理運用しています。サービスの一つひとつがそれぞれ異なるつくり方だと立ち行かなくなるレベルの数ではありますが、僕らが共通の基盤をつくっているため構成の発散を抑えて限られたパターンでの管理を実現できています。
たとえば80のサービスに対して80パターンで管理しているわけではなく、3〜5パターンの構造を理解すれば管理できるような標準化をしています。
ーなぜそういう形に行き着いたのでしょうか。
水戸:「タクシー配車システムというプロダクトに取り組む中で自然とそうなっていった」というのが答えになります。
統合前の時代から『MOV』も『JapanTaxi』も既にマイクロサービスの構成になっていました。そもそもタクシー配車システムというプロダクトがさまざまな機能から構成された複雑なシステムで、それを実現するためにはサービスを分割していくことが半ば必然だったからです。
当初は開発チームがそれぞれ開発の合間にインフラ構築から運用まで担っていましたが、限られたリソースの中で同じような仕組みを色々なチームで作る必要があり、チームの余力次第で品質も不揃いな状況でした。
それでは貴重な開発リソースを不完全な“車輪の再発明”に投資し続けることになってしまい、サービスも安定せず、開発も進まないことになってしまいます。
そのためSREグループで共通基盤を作りながら少しずつサービスを基盤にマイグレーションし続け、結果として現在のようなほとんどのサービスが同じ仕組みで構築・運用されている状態までたどり着きました。
振り返れば僕らがやってきたことは最近注目が高まってきているプラットフォームエンジニアリングの方法論を実践していたのかなと思います。
恵良:統合のタイミングで「今後効率よく管理していくためには新しくつくるものはその基盤に乗せないとダメだよね」という話になって。各々でやっていたメンバーも一度マイクロサービスアーキテクチャを体験するとやっぱり楽だし、自分たちが注力すべきポイントに集中できることに気づくわけです。
私たちのように事業の展開を自分たちだけではコントロールできないようなビジネスをやっていると、なおさらスピーディに動けることが重要で。そのうえでプラットフォームエンジニアリングはかなり意味があるし、大きな価値があると感じています。
水戸:GOのプロダクトにおいてアプリケーション開発者が関わるビジネスロジックは難易度が高いんです。だからこそ、プロダクトの本質であるビジネスロジックにできる限りリソースを割いてほしい。少なくとも“車輪の再発明”に彼らのリソースを使ってほしくない、だからそうならないように僕らがサポートする役割を担っています。
プラットフォームエンジニアリングにおける“例外”の扱い方
ーそうはいっても、5名という規模はかなり少なく感じるのですが……。
水戸:もちろん楽ではありません(笑)。ギリギリこの人数で運用できるレベルです。
ただ、僕らの強みはいろいろなサービスを横串で見ることで「これはあれと同じパターンだよね」と構成の違いをすぐに把握できること。サービス設計時に開発者とアーキテクチャレビューを実施し同じ目的のものは同じ方法に寄せる議論をしています。パターンを増殖させない継続的な努力によって今のリソースでも賄えている形です。
ーそのあたりはやり甲斐にもつながるのでしょうか?
水戸:そうですね。会社全体としても同じ課題が「こっちのチームは解決できているけど、あっちのチームはできていない」という状況は不健全だし、僕らとしてもストレスに感じます。エンジニアである以上無駄なことは繰り返したくないのでプラットフォームエンジニアリングの形で共通して解決するのが良いと思います。
他にやり甲斐という観点だと、プラットフォームの基盤として何かを改善すると、乗っかっている全てのサービスが一気に改善できる点はエンジニアとして楽しさを感じます。ROI(投資収益率)がいいというか(笑)。
「一個改善して、何十個も改善されるんだったら、リソースを割いてもいいよね」という判断もしやすくなるので、改善もしやすくなります。レバレッジが効く点はエンジニアとして楽しいポイントです。
ー恵良さんからみたときのSREグループの強みとはどのあたりですか?
恵良:バランス感覚の良さですね。プラットフォームエンジニアリングというと、つくった型にひたすら揃えていくイメージを抱かれがちなのですが、ときには型にはまらないものを受け入れないと新しいチャレンジができないことがあります。
これまでの型も活用しながら、「例外は許さない」という前提があるなかで「これは例外だが、いずれ同様の要求が増えていく」と新しい標準を定義して、プラットフォームを整理していく。結構大変なのですが、そのあたりのバランス取りが難しいところです。
SREグループとしても難しいラインだけど、しっかりできてないと開発チームとの関係性もうまくいかなくなってしまうところをうまくバランスを取ってくれ、それぞれの課題に対してソリューションを提供できているのではないでしょうか。
水戸:社内にプラットフォームを提供していく上で「例外は許さない」というやり方を取っていくことで関係が悪化して、結局誰も使わなくなってしまうというのはよくある話なので(笑)。そうならないようにはかなり気をつけています。
開発者から実現したい機能の要望があったときに頭ごなしに既存のやり方を強制するのではなく、意図や背景をヒアリングしてできる限り課題の本質を理解するよう努めています。
それによって「その課題であれば既存のやり方で解決できる」というケースもありますし、「既存のものだとうまくいかない。新たな対応を考えよう」という判断につながるケースもある。場合によっては「この先1〜2年で同様の課題が出てくるな」ということがわかってくるので、少し抽象化しながら考えてより汎用的な仕組みの提供につなげることもあります。
当初の要望と最終的にこちらが提案するものが大きく異なることもありますが、対立するのではなくお互いが持つ前提知識や認識の差を議論しながら洗い出して、最終的に同じ認識に到達することでお互いに納得の行く結論に達するということを常に意識しています。
GOの開発者はみんな優秀で、こちらの意見もきちんと理解してくれて議論できるようなエンジニアが揃っているので実現できている方法ではあるかもしれません。
目的意識を忘れないことの大切さ
ー今の話にも関連しますが、SREとしてGOで働く魅力とはなんですか?
水戸:ロジカルで合理的な判断を大事にしている会社なので、非常にやりやすいですね。経営レベルからデータドリブンなので、意思決定に根拠がある。みんなが理解して納得して動いている点はGOの魅力だと思います。
個人的なところだと、散らかったものをきれいに整えていくことが好きなので、飽きないんですよね。やってもやってもこぼれ落ちるようなものが少しずつ存在するので、いくらでも考えることがあるような状況です。ちゃんとやっておけば、後々振り返ったときに「あのときにちゃんとやったからうまくいっている」と実感を得られることも多いので。
ー逆に大変な点はありますか?
水戸:スピード感でしょうか。「これをつくるとなると大変だろうな」と思うような大きいプロジェクトがどんどんスタートして、いくつも並行して進行しているので、勢いがすごいです。かつ、それなりに緊張感もある。「手を抜いて雑な設計をしたら後々絶対に痛い目に遭うぞ」というようなものが多いので、正直「これは一つずつやりたいな」と感じることもあります(笑)。
ーどんな人なら活躍できると思いますか?
水戸:GOのミッションに共感していることが大前提です。
僕らは新しい技術をたくさん使っているし、これからもどんどん取り入れていくつもりですが、一方で「新しい技術を使いたいから、こういうことをする」ということは一切ありません。
新しい技術をウォッチしていたり、インプットしていたり、理解していたりすることは大事ですが、あくまでも目的は課題解決。「課題解決の手段としてこの技術を使う」という意思決定プロセスなので、「流行っているからこの技術を使いたい」という考えだとかなりの確率でNOになります。
一方で、僕らは標準化して解決していくやり方がコアにあります。目先のことだけを解決する視点で局所最適を増やすのではなく、少し立ち止まってより普遍的な解決策を考えられることが大事ですね。
ー恵良さんはいかがでしょうか?
恵良:やはり目的意識ですね。
SREは開発者と議論しながら話を進めていきますが、「How」ではなく「Why」や「What」を大事にしているので、自分の提案が却下され「このやり方がいいと思います」と言われても素直に受け入れられる。課題が解決できるのであれば、やり方にこだわりはないというか。
バリューにある「コトに向かう。」と密接に絡むのですが、社内に根づく“目的を大事にする考え”に賛同できる方が活躍しやすい印象を受けています。
いずれ、社会に欠かせないものに
ーSREグループが今後やっていきたいことについて教えてください。
水戸:今ようやく足場が固まりつつあるという状況で、これからより深く技術的にも難しい課題にチャレンジしていけるタイミングだと思います。そして会社の規模に比例してチームが大きくなっていく中でも個人の裁量が大きくインパクトのある仕事ができるチームであり続けるという「チームのスケーラビリティ」を今後の課題と考えています。
今僕らは各メンバーが得意領域で新しい仕組みを作り、道を切り開いていきつつ、作った仕組みは手順の標準化を進めてメンバーの誰でも運用できるようにすることを基本方針としています。
対象領域が広がり認知負荷も上がってきていますが、幅広い領域を全員がある程度理解しながら運用することで全体最適が可能になり、効果的な改善ができる状態を維持できてもいます。
一人ひとりの負担は大きいですが、安易に機能単位でチームを分割せずにスキルの高いメンバーができるだけ広い範囲をカバーするやり方でスケールさせていくという“パワープレー”にチャレンジしたいと考えています。
ースキルの高い方がGOに入社する魅力とは?
水戸:やはり、関わる範囲の広さでしょうね。能力があればあるだけ広い範囲に影響を及ぼすような仕事ができるので、レバレッジを効かせて大きな結果を出すこともできる。力を発揮しやすい環境だと思います。
ー恵良さんはSREグループにどのような期待をしていますか?
恵良:GOがやろうとしているサービスは成長すればするほど社会インフラになっていくものばかりです。今の規模で、社会インフラを運用することはかなりハードルが高いのですが、その分やり甲斐もあるし、これまでなかったものを世の中に提供していくうえでSREは非常に重要なポジションにいます。
とはいえ、誰でもできるわけではないし、ハイスキルである程度フルカバーできる人を求めていることを考えると、一人ひとりの貢献度は大きくなります。他ではなかなか真似できないし、GOならではの価値を感じられる仕事という点に共感してもらえたら嬉しいですね。
水戸:会長の川鍋が「100年続く会社にする」と言っていますが、僕らが今つくっているものが100年後も同じ形で存在することはありません。それでも今日の仕事が100年後まで地続きでつながっているので、僕らの仕事の質が高ければ将来到達できるレベルも高くなると信じています。未来につながる仕事を一緒に楽しみたいと思います。
※掲載内容は2024年3月時点の情報です。
■採用情報
GO株式会社では、共に働く仲間を募集中です。
興味がある方は、お気軽にご連絡ください!