Eureka Engineering
Published in

Eureka Engineering

エウレカ開発組織全体でリライアビリティと向き合うために、SRE TeamのVision/Mission/ValuesをRebuildした話

はじめに

こんにちは。Eureka SRE のnari/wapperです。

Mリーグ2021–2022 セミファイナルシリーズも佳境になってきましたね。私はU-NEXT Pirates推しなので石橋さんには今年も頑張っていただきたい思いでいっぱいです。皆さんの推しTeamはどこですか?(この記事をチームでレビューしてもらう際に、同僚の MoneyForestにレギュラーシーズンMVPの瑞原さんにまずはおめでとうと書きなさいと言われたのでここに追記します。おめでとうございます!)

はい、麻雀に興味がない人には何の意味もない冒頭アイスブレークとなってしまいましたが、気を取り直して本題に移りたいと思います。

弊社エウレカSRE Teamは、2017年に発足して以来、国内最大級オンラインデーティングサービスであるPairsを中心に運営するすべてのプロダクトに関してのリライアビリティに責任をもってきました。クラウドインフラを中心としたレジリエンスで低労力なシステム構成への移行、モニタリングの強化、パフォーマンスの改善やセキュリティへの投資によって、プロダクトのリライアビリティとアジリティに大きな貢献を果たしてきたことは間違いありません。しかし、SRE Teamがすべてのインフラを所有しリライアビリティについても自分たちで担保していくというスタンスを続けていくと、ここからプロダクトがどんどん成長していく中で組織のスケールを阻害する存在にSRE Teamがなってしまう危険性がありました。そこで2020年からSRE Teamの再定義及びRebuildを実施し、それに伴い去年(2021年)に入ってからSRE Team自体のVision/Mission/Valuesを策定しました。詳しくは以下の去年末にSRE Team Managerである marnie が登壇した際の発表スライドをご覧ください。

そこからまた、今年に入ってチームメンバーでSREの探求、チームトポロジー、他の会社のSRE組織などについてインプットする中で、SREの探求 22章 「成功の文化としてのSRE」で紹介されている4つのSRE実施フェーズ(フェーズ1: 消化活動/事後対応、フェーズ2: 門番、フェーズ3: 支持者/パートナー、フェーズ4: 触媒)でいうフェーズ2:門番 ⇨フェーズ3,4: 支持者/パートナー/触媒のシフトを2020年のSRE Rebuild開始から部分的におこなっていたことに気が付きました。そうした気付き及び最近のインプットを結合し、我々はどこからきてどこへいきたいのかというのを再度私が以下のような図に表してみました。

  • どこからきて(Old(~2020) Eureka SRE Practice Overview)
Old(~2020) Eureka SRE Practice Overview
  • どこへいきたいのか(To-Be Eureka SRE Practice Overview)
(To-Be) Eureka SRE Practice Overview

(この図に書かれている具体的なコンポーネントへの投資及びSRE組織の具体的なストラテジー周りの詳細は、弊社がプラチナスポンサーも務めております5/14,15に行われるSRE NEXT 2022にて「組織にSREを実装していくまでの道のり(エウレカにおけるSREの取り組みの歴史)」というタイトルでさきほどの出てきたManagerのmarnieが発表させていただきますので、是非視聴しにきていただければと思います。ついでに僕も「Steps toward self-service operations in eureka」というタイトルでこのPlatformのenablingに関するテクニカルよりの話をするので聞きにきてください(宣伝))

去年まででも言語化できている部分は多かったのですがそこからより解像度があがり、我々は自分たちだけでリライアビリティを担保するモデルではなく開発組織全体でリライアビリティと向き合っていくモデルへシフトして行っていることにより自覚的になりましたし、図にすることでより一層チームメンバーの認識が揃う結果となりました。

そうなってくると、去年のVision/Mission/(Values)の構成に関しても現状の我々の目線との乖離を感じ始めたため、思い切ってRebuildしてみようという話になり、Team全体で時間をとってやってみることとしました。

Vision: 自律的にリライアビリティとアジリティを両立するプロダクト開発組織の実現

エウレカの企業としてのVisionは、かけがえのない人との出会いを生み出し、日本、アジアにデーティングサービス文化を定着させる事 です。

SRE Teamはこの企業としてVisionを実現するためのTeam Visionとしてこちらを掲げることとしました。以前のものをより簡素にし、開発組織全体の理想状態=自律的にリライアビリティとアジリティを管理できる状態であるという結論に至ったことからこのような文言になりました。

Mission: SREプラクティスを開発組織にインストールしていく

以前と変更した点としては、SRE Teamがリライアビリティに責任を持つという書き方ではなく、開発組織全体にSREプラクティスをインストールするという表現にした点です。我々だけがリライアビリティとアジリティについて責任を持ちボトルネックになるのではなく、SREを民主化し開発組織全体でエンジニアリングしていくことでスケールする形でプロダクトの成長を支えることができるということを強調するようなメッセージになったかなと思います。

また、弊社SRE TeamはこのMissionを遂行するために大きく分けて以下の二つのプラクティスに注力していくことにしています。

  • Enabling SRE

Product Teamが、アプリケーション〜インフラストラクチャまでの開発運用をソフトウェアエンジニアリングし、自律的にSREプラクティスを実践してリライアビリティとアジリティを管理できるように支援していくことと定義しています。まずどのようなSREプラクティスをenablingしたいのかを、SLI/SLO、Metrics Driven Decision Making、Release Engineering、Incident Responseなどのカテゴリに分類して明記しました。具体的な実現手段として、Design Doc/Production Readiness Checklistのような必須の関心ごとの定義やプロセスを導入したり、Product側がSREプラクティスを円滑に実践する際に活用できるPlatformを導入したり(Platform Enabling)、開発者全体定例などの全体共有の場で率先してナレッジシェア、SREやクラウドインフラに関する相談対応、SREプラクティスに関する勉強会やワークショップ(インシデントレスポンスに関するコマンダー研修etc)を開催するなど、人間とソフトウェア両面への人機一体なアプローチをしていくこととしています。(また、Advancedな話ではありますが、プロダクト開発組織のSREプラクティス成熟度をアセスメントしフィードバックループを回す(システム評価に関してはRASISなどを採用する)やProduct開発者向けのGoogleのMission Controllerプログラム(SRE体験プログラム)のようなものを提供できたりするとよりSREプラクティスのenablingを加速させられると考えていたりもします。)

  • Platform Engineering

Product TeamがSREプラクティスの実践がしやすくするツールや基盤を開発運用し、認知負荷及び運用負荷の低いインターフェース(X-as-a-Service with CIOps/ChatOps/Web Application etc)で提供することと定義しています。こちらもRelease Application CI/CD、Infrastructure as Code、Monitoring/Logといったカテゴライズごとにどんな基盤やツールを提供してきたか、これからしたいか?を明記していきました。(また、Platform群におけるクラウドインフラにて、セキュリティ項目の実装とガイドやコストマネージメントの責務も当然持つこととなります。)

Values

我々の仕事の仕方を振り返りながら、どういった性質や言葉が自分たちらしいか、また望ましいと思っている状態なのかというのを、新しく入ってまもないメンバーもいたのでゼロベースで議論してアイデアを出し合いながら、覚えやすさや語感なども踏まえて最終的に以下の5つの行動指針の制定となりました。

Metrics First

  • 主観ではなく、計測した定量的な指標に基づいて意思決定する

Draw a Blueprint

  • 物事のAsIs — ToBeを自ら描いて自ら実現していく

No Blame

  • 非難をしない、問題を回避したり最小化したり隠蔽するのではなく問題を明らかにしていく

Learning Animal

  • 現状に甘んじず、ToBeを描くために貪欲にインプットし続けていく

Change Agent

  • 組織に忖度せず、必要なことについて議論を恐れず、やるべきことは自らが主導となって働きかける

終わりに

もともとあったVision/Mission/(Values)の内容の見せ方や建て付けを変えるという感じだったので、前回の時よりもスムーズに行うことができました。とはいえ、Team全員でこれらを作り上げていくことは時間も労力も必要な行為ではあります。しかし、これらを練り上げる中で全員がより同じ方向や景色をむけた感覚がありますし、そもそも我々が開発組織にインストールしたいSREプラクティスって具体的になんなんだ?というのが明確になったのも大きかったです。また、これからどんな人に新たに仲間になってもらいたいかの解像度が上がったことで採用活動にも役立ちそうですし、これから新しく入る方の道標としても大きく役に立つものとなったと思います。是非皆さんのTeamでも行ってみてください。

また、再度宣伝にはなってしまいますが、弊社がプラチナスポンサーを務めております5/14,15に行われるSRE NEXT 2022にて弊Team Managerのmarnieと私が登壇してここら辺のより具体的な部分について話す予定なので是非いらしてください!(弊社はオンラインブースも展開予定なので、そちらも是非!)

また、このVision/Mission/Valuesに共感して一緒に働きたいと思ってくれるSREsを大募集中なので、気になった方は私のTwitterもしくはMeetyの方に連絡ください!よろしくお願いします。

--

--

Learn about Eureka’s engineering efforts, product developments and more.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
TAKASHI NARIKAWA

TAKASHI NARIKAWA

Site Reliablity Engineer in Tokyo. SRE/devops/Go/AWS/Terraform/Kubernetes/Docker