グロービスが目指すSREのカタチ
はじめに
近年、システムの信頼性・可用性・パフォーマンスの維持・向上を目指すSRE(Site Reliability Engineering)は、多くの企業で採用されています。私たちグロービスでも、SREの原則に基づき、開発体験と生産性、そして信頼性の向上を通じて、より早く、より多くの価値をユーザーに届けることを目指しています。
本記事では、プロダクトチームの自律性とオーナーシップを高めるためにグロービスが実践している取り組みをご紹介します。SREとして日々奮闘されている皆様、そして開発チームと協働してより良いサービス開発を目指すすべての方にとって、新たな気づきや実践のヒントとなれば幸いです。
グロービスの目指すSREのカタチ
グロービスのSREチームは、 ユーザーのために開発速度と安定性を両立する
というマニフェストを掲げています。このマニフェストを実現するためのビジョンとして、 GDP(部門)の各プロダクトチームが、SREに頼ることなく、自律的にDevOpsの手法を用いて開発生産性と信頼性の向上を実現できる状態
を目指しています。
グロービスは複数の自社プロダクトを運用しており、それぞれが複数のチームで構成され、約100名のエンジニアが携わっています。SREが個々のプロダクトやチームに個別対応すると開発運用のボトルネックとなるため、プロダクトチーム自身の開発運用能力を向上させることで、この課題の解決に取り組んでいます。
組織全体を理想の姿へと導くため、 Platform SRE
と Collaboration SRE
という2つのアプローチを軸に活動を展開しています。
- Platform SRE: プロダクト基盤(AWS x Kubernetes)、Observability基盤(Datadogなど)、CI/CDパイプラインなどの開発プラットフォームを提供・運用・改善します。これはプロダクトチームにとっての「高速道路」を整備する役割であり、チームがアプリケーション開発に迅速かつ効率的に集中できる環境を実現します。
- Collaboration SRE: プロダクトチームが自律的にサービスの信頼性向上に取り組めるよう支援するアプローチです。プロダクトチームこそがサービスの特性とビジネス要件を最も深く理解しているという考えのもと、彼らの信頼性に対する意識とスキルを高め、主体的な改善活動を促すための組織文化醸成と専門的なサポートを行っています。
グロービスSREの取り組み
1. 共通基盤の導入と継続的改善:効率的なプロダクト開発運用のベースを提供
グロービスではプロダクトの共通基盤として、EKSを用いたマルチアカウント構成を採用しています。共通のプラットフォームを提供することで、SREチームはプロダクト横断的なサポートを効率的に行え、プロダクトチームもEKSエコシステムを活用して開発運用を円滑に進められています。さらに、単なる技術導入だけでなく、定期的なバージョン更新と新機能の積極的な活用により、開発運用の長期的な効率向上を実現しています。
部署設立初期にリリースされたプロダクトの多くはEC2で運用されていましたが、環境を統一することで効率性とメンテナンス性の大幅向上を目指しています。
アプリケーションのコンテナ化においては、ECSも選択肢として検討しましたが、SREチームの技術的な挑戦としてより魅力的なEKSを採用しました。グロービスではチームごとに意思決定ができる環境が整っており、各チームに適したスタイルで効率的な開発運用を実現できる体制を構築しています。
またプロダクトチーム向けに各種自動化や便利ツールの提供なども行っています。以下に事例をまとめていますので、ご興味ある方は是非ご一読ください。
2. ガードレールの整備:プロダクトチームが安心して使える基盤の実現
プロダクトチームが開発運用の中でインフラ・SRE領域にも安心して取り組めるよう、ガードレールの整備に注力しています。具体的には以下のような取り組みを実施しています。
- AWS Identity Centerを用いた認証認可の管理
- SCPを用いた不要権限の整理
- IPAMを用いたVPC CIDRの管理
- Security Groups for PodsやNetworkPolicyを用いたアクセス制御
これらの施策により、プロダクトチームは誤操作を心配することなく、必要な作業を自信を持って実施できる環境を実現しています。
以下に事例をまとめていますので、ご興味ある方は是非ご一読ください。
- EKS環境にてCalicoからVPC CNI pluginにNetworkPolicy Engineを移行した話
- GitHub SSO導入によるガバナンス強化
- AWS SSO導入によるチームコラボレーションを経ての振り返り
3. プロダクト運用成熟度モデル:組織の運用水準の策定
プロダクトの信頼性向上に向けて、「プロダクト運用の成功」を定量的に定義する必要性を感じました。そこで、運用水準を評価できる指標を策定し、組織全体で共有することで、各プロダクトチームの改善の方向性を明確に示せるようになりました。
まずSREチーム内でモデルの基本的な枠組みを構築し、その後プロダクトチームとの対話を通じて現状認識の共有と調整を行いました。これにより、プロダクトチームの抱える潜在的な課題の発見や、プロダクトチームとSREの間の認識ギャップに気づくきっかけになりました。
以下はプロダクトチームとのディスカッションの様子です。プロダクトによっては60名以上のエンジニアが関わっており、チームに分かれて皆でわいわいと議論しました。
詳細は以下にまとめていますので、ご興味ある方は是非ご一読ください。
4. わいわい会:共に悩み、実践を通じて醸成される心理的安全性
インフラ・SRE領域への心理的ハードルを下げ、プロダクトチームが主体的に開発運用に取り組める文化を育むため、「わいわい会」を実施しています。 この会では、プロダクトチームが抱えるインフラ・SRE領域の課題解決に取り組むとともに、SREチームの専門知識やノウハウを共有するハンズオン形式の勉強会を開催しています。
SlackのHuddleを使ってわいわいと雑談も交えながら課題解決や実践的な作業を通じて学び合うことで、プロダクトチームとSREの心理的な距離感を自然と縮めることができています。 以下は勉強会の様子です。皆で手を動かしながら学びを深めました。
詳細は以下にまとめていますので、ご興味ある方は是非ご一読ください。
SRE推進で得た学びと大切にしていること
グロービスにおけるSREの取り組みはまだ発展途上ですが、これまでの活動を通じて得た重要な学びと、私たちが大切にしている価値があります。
- 対話と共感を通じての利用者理解の重要性: SREが提供するソリューションは、常に利用者の課題解決を第一に考えるべきです。そのためには、開発チームの声に真摯に耳を傾け、彼らのペインポイントに寄り添うことが不可欠です。SREチームの一方的な考えに陥らないよう、利用者とその課題を深く理解することを重視しています。
- 心理的安全性の確保: SREの成功には、チームの垣根を越えた協力関係が必要不可欠です。「わいわい会」のような取り組みを通じて、チーム間で自由に議論し、共に施策を実施できる文化を育んでいます。
- 段階的な改善: 完璧を求めて一足飛びに進むのではなく、小さな一歩から始めて、フィードバックを得ながら着実に改善を重ねていくアプローチを採用しています。特に共通基盤の導入においては、プロダクトへの影響を考慮し、段階的な実施によってプロダクトチームの負担を最小限に抑えています。
おわりに
本記事では、グロービスが実践するSREの取り組みの一部をご紹介しました。私たちの取り組みが、SREとして活動されている皆様、あるいは開発チームの自律性向上を目指す方々の課題解決や、より良い開発文化の醸成への一助となれば幸いです。
また、グロービスSREチームは現在、積極的に採用を拡大しています。SREの文化や取り組みについてもっと詳しく知りたいとお考えの方は、ぜひご連絡ください!