この記事は Money Forward Engineering 2 Advent Calendar 2023 の記事です。
こんにちは!tatsuo48 です。
マネーフォワードのサービス基盤本部には私が所属する Enabling SRE というチームがあります。
この記事では、以前に紹介された組織に SRE の文化を作り上げていく Enabling SREの内容にも触れながら、Enabling SRE の現在地点と今後の方向性について詳しくお話ししていきます。
Enabling SRE とは
Enabling SRE の目的は組織に SRE の文化を作り上げていく Enabling SRE にある通り、以下のギャップを埋めていくことにあります。
各プロダクトの開発チームは、自分たちで開発のサイクルを回し、非機能面も含めて見るべきだと考えている。しかしながら、権限を渡されても非機能面を見ていくための知見がないので、自分たちでみれるようになるまでに Gap が存在している。
この目的の達成のため、主に以下の 3 点を行っています。
プロダクト開発チームが自主的に SRE を実践できるようにするための Embedded 活動
マネーフォワードでは多くのサービスを開発しています。我々のチームはそのような多種多様なサービスの開発チームに短期間参加し、SRE のベストプラクティスを開発者自身で実践できるようにサポートしています。 SRE(Engineer) という役職のあるなしに関わらず、プロダクト開発チームが自主的に SRE(Engineering) を実践できるようにすることを目標としています。
オンプレミスから AWS への移行を支援するための Migration 活動
オンプレミスと AWS の両方の環境を経験してきたメンバーが、AWS への移行を支援するためのコンサルティングなど移行支援を行っています。 AWS への移行によってプロダクト開発チームへの権限委譲をさらに押し進めることができるようになります。
プロダクト開発チームへの Embedded 活動の結果や自発的に得た知見をもとに、SRE のベストプラクティスを組織内に広める活動
社内で SRE として一般的なベストプラクティスを確立するための取り組みも行っていきます。 Platform チームと連携し、プロダクト開発チームが自主的にサービス構築をできるようにするための基盤への改善提案や一部の開発をしています。
※Platform チームが管理する全社のサービス実行基盤についてはこちらを参照してください。
組織と事業の急拡大に立ち向かうためのマルチテナント Amazon EKS クラスタ/マルチアカウントアーキテクチャ
Enabling SRE の現在地点
組織に SRE の文化を作り上げていく Enabling SRE の段階と比較して、現状の Enabling SRE はより具体的な活動に取り組んでいます。
例えば、とあるチームではサービス構築の段階からプロダクト開発チームと連携して SLI/SLO の策定、監視項目の選定、耐障害性テストといった取り組みをしました。
また別の既存プロダクトでは、プロダクト開発チームと連携して、Datadog のダッシュボードを定期的に見る会を開催するなど、プロダクト開発チームが自主的に SRE を実践できるようにサポートしています。
上記のブログにある以下の点についても、現在はより具体的な取り組みを進めています。
各開発チームが SRE をどれだけ実践できるようになっているかを定量的に分析できるような指標を策定する。
こちらに関しては、SRE 成熟度評価シートと呼ばれるものを策定し、半期ごとに定量的に評価を行っています。評価の結果は、プロダクト開発チーム内での内省や、我々のチームが次に支援するチームの選定に利用しています。
また、Production Readiness Checklist と呼ばれるものを策定し、プロダクト開発チームが新たなサービスをリリースする際に確認すべき指標として利用できるようにしています。
反面、以下のような点に関してはまだまだ改善の余地があります。
マネーフォワードにおける SRE をある程度体系化したドキュメントの整備
Enabling SRE と Product SRE(各プロダクトを担当する SRE)、あるいはプロダクト開発者は各々で SRE に関するドキュメントを整備しています。今後は、SRE のベストプラクティスを組織内に広めるため連携し、包括的なドキュメントの整備を進めていきたいと考えています。
Enabling SRE で活動していく上で課題を解決するためのツールの整備
こちらも、ツールの構築までには至っておらず、各プロダクトが共通で抱える課題の発見とツールとして汎化するための抽象化をやっていく必要があります。
Enabling SRE の今後の方向性
現在地点で述べたように、まだまだ至らない部分については今後改善していく必要があります。 また、SRE 成熟度評価シートや Production Readiness Checklist に関しても、引き続き改善を加えつつ社内全体により広めていく必要があると考えています。
並行して、今後 Enabling SRE は支援の範囲を拡げつつ、その手法をさらに洗練させることを目指しています。
SLO の全プロダクトへの導入や、プロダクト開発チームが自主的に SRE を実践できるようにするための Embedded 活動の強化など、より多くのプロダクト開発チームに対してより深く支援を行っていきます。
また、カオスエンジニアリングの導入など、より先進的な手法の導入支援も検討していきたいと考えています。
さらに、チーム間の SRE マインドセットの共有を促進し、エンジニアリングチーム全体が SRE という共通の言語と価値観を持って動けるような組織文化の構築も目指しています。これには、定期的な勉強会、ワークショップ、社内の SRE コミュニティ活動などを通じて促進していく予定です。
Enabling SRE に求められるスキル
上述の目標を達成するために、Enabling SRE に所属するメンバーは、以下のようなスキルが求められます。
- AWS の機能に精通しており、適切なアーキテクチャの設計支援ができること
- インフラの運用に精通しており、システムの運用設計や監視設計ができること
- プロダクト開発チームとのコミュニケーションを円滑に取れること
- SRE のベストプラクティスを理解し、プロダクト開発チームに伝え実践を支援できること
- プロダクト開発チームの課題を抽出し、解決するためのアクションを考えられること
- 自身の知見や経験をドキュメント化し、適切な手段を用いて組織内に広めることができること
もちろん、全てが現時点で完璧である必要はありませんが、課題、状況に合わせて必要なスキルを適宜身につけられることもまた重要なスキルであると考えています。 技術だけでなく、プロダクト開発チームとのコミュニケーションや組織文化の構築などヒューマンスキルも求められるところが、Enabling SRE の難しいところでありまた面白いところでもあります。
まとめ
Enabling SRE は、マネーフォワードにおけるプロダクト開発チームの成長を促し、信頼性の高いサービスを提供し続けるために不可欠な存在です。組織の成熟度に合わせたサポートをしながら、全社的な SRE 文化の構築を目指し、より良い開発環境と運用のノウハウを提供することで、ユーザーに高い価値を届け続けられるよう取り組んでいます。
SRE やインフラに興味がある方は、ぜひマネーフォワードでのキャリアを考えてみてください。一緒に成長し、より良いサービスを築いていきましょう。 ご興味がある方は、下のリンクからぜひご応募ください。
ご応募お待ちしております!