Slide 1

Slide 1 text

スケールするプロダクトと膨らむ組織 SREの挑戦と解決策 2025年2月27日 株式会社コドモン 佐々木真也 3社が語るSREの役割 組織の変遷と直面した課題とは?

Slide 2

Slide 2 text

2 ● 名前 ○ 佐々木真也 ● 所属 ○ 株式会社コドモン ■ SREチーム マネージャー ● X ○ @taishin ● 居住地 ○ 大阪 ● 趣味 ○ サッカー観戦 自己紹介

Slide 3

Slide 3 text

3 Mission

Slide 4

Slide 4 text

4 すべての先生に 子どもと向き合う 時間と心のゆとりを こんなプロダクトを開発しています メインプロダクトは、保育・教育施設向けWebアプリケーション。 保護者と施設のやり取りを支えるモバイルアプリケーションや、施設職員向けモバイル版 アプリケーション、外部サービスと連携するAPIなども開発しています。

Slide 5

Slide 5 text

5

Slide 6

Slide 6 text

● SREチームの変化と課題 ● プラットフォームチームとしての取り組み ● 現状と新たな課題 ● まとめ

Slide 7

Slide 7 text

● SREチームの変化と課題 ● プラットフォームチームとしての取り組み ● 現状と新たな課題 ● まとめ

Slide 8

Slide 8 text

8 コドモン プロダクト開発チーム ○○ チーム 保護者系 機能チーム メモリー チーム … 請求系機能 チーム ○○ チーム UI/UXデザイナー CRE エンジニア・EM・QA プロダクトマネージャー ○○ チーム 1チームは関連する複数の機能を担当 技術戦略 SRE

Slide 9

Slide 9 text

9 ● 開発とインフラ(運用)の時代 ● 社内インフラとか情シス的なものも兼ねている ● チーム間の役割は割と明確 インフラチーム時代 インフラチーム 開発チーム コーポレート系

Slide 10

Slide 10 text

10 ● インフラチームがなんとなくSREチームへ・・ ● プロダクトの対応もコーポレート的な対応も・・・ ● チーム間の役割はあいまい SREチームになった(2021年くらい) SREチーム 開発チーム コーポレート系 開発チーム

Slide 11

Slide 11 text

11 ● 開発チーム数の増加にSREの人数が対応できていない プロダクトも拡大、組織も拡大 SREチーム 開発チーム 開発チーム コーポレート系 開発チーム 開発チーム

Slide 12

Slide 12 text

12 ● 各開発チームの依頼に都度対応する 課題

Slide 13

Slide 13 text

13 ● 各開発チームの依頼に都度対応する ● 全体最適を考慮する余裕がなく、個別最適なものが増えていく 課題

Slide 14

Slide 14 text

14 ● 各開発チームの依頼に都度対応する ● 全体最適を考慮する余裕がなく、個別最適なものが増えていく ● プロダクト全般の一貫性がなくなる 課題

Slide 15

Slide 15 text

15 ● 各開発チームの依頼に都度対応する ● 全体最適を考慮する余裕がなく、個別最適なものが増えていく ● プロダクト全般の一貫性がなくなる ● 認知負荷が上がる ○ 開発者だけでなくSREも 課題

Slide 16

Slide 16 text

16 ● 各開発チームの依頼に都度対応する ● 全体最適を考慮する余裕がなく、個別最適なものが増えていく ● プロダクト全般の一貫性がなくなる ● 認知負荷が上がる ○ 開発者だけでなくSREも 課題 プラットフォームチームとして取り組む

Slide 17

Slide 17 text

● SREチームの変化と課題 ● プラットフォームチームとしての取り組み ● 現状と新たな課題 ● まとめ

Slide 18

Slide 18 text

18 ● ストリームアラインドチームとの接点はX as a Service ● 開発チームの変動に対応しやすい形にする プラットフォームチーム Stream-aligned team Platform team XaaS Stream-aligned team Stream-aligned team Stream-aligned team XaaS XaaS XaaS

Slide 19

Slide 19 text

19 1. SREチームでやることを明確にする 2. 自分たちのプラットフォームを定義する 3. プロダクト全般で一貫したシステムを構築する 4. 計測し、改善する プラットフォームチームとしてやっていくために

Slide 20

Slide 20 text

20 ● ミッションを作成 ○ 最重要課題は開発者の認知負荷を減らし つつ、運用まで自己完結できる環境を提 供する ● やらないことを明確にする ○ プロダクトに特化する ■ それ以外は他チームへ ■ 振れない場合は、本来のべき論を認識 した上で対応する 1. SREチームでやることを明確にする

Slide 21

Slide 21 text

21 ● 新しいプラットフォームをつくることより、 自分たちのプラットフォームを定義 ○ これやるときはこれっていうのがはっきりして るだけでも認知負荷は減るはず ○ 強制はしない、開発者自身でメンテしていくな ら別のものでもOK ● なるべく聞かなくても、依頼しないでもでき る環境を目指す ○ チームトポロジーのX-as-a-Service 2. 自分たちのプラットフォームを定義する

Slide 22

Slide 22 text

22 ● アプリケーション実行基盤を統一 ○ メインアプリケーションをEC2 → ECS に移行し、全アプリケーションをECSに 3. プロダクト全般で一貫したシステムを構築する マイクロサービス ECS メインアプリケーション EC2 Ansible Github Actions + CodeDeploy Github Actions + ecspresso + Dockerfile 開発チーム 開発チーム SRE マイクロサービス ECS メインアプリケーション ECS 開発チーム Github Actions + ecspresso + Dockerfile https://speakerdeck.com/codmoninc/from-ec2-to-ecs-migrating-to-containers-and-rebuilding-a-massive-legacy-php-application

Slide 23

Slide 23 text

23 ● CI/CDフローの整備 ○ Amazon Inspectorの脆弱性スキャンをCI/CDで実施、通知する 3. プロダクト全般で一貫したシステムを構築する https://speakerdeck.com/codmoninc/building-and-managing-a-container-image-workflow-for-multiple-teams

Slide 24

Slide 24 text

24 ● セキュリティ通知 ○ Security Hubの通知、対応フローの整備 3. プロダクト全般で一貫したシステムを構築する https://speakerdeck.com/codmoninc/improving-the-untouched-security-hub-operation

Slide 25

Slide 25 text

25 ● パイプラインの実行時間の計測 ● SREに対する依頼、問い合わせのカウント ● アンケートの深堀り 4. 計測し、改善する https://speakerdeck.com/taishin/platform-engineering-meetup-number-8

Slide 26

Slide 26 text

● SREチームの変化と課題 ● プラットフォームチームとしての取り組み ● 現状と新たな課題 ● まとめ

Slide 27

Slide 27 text

27 ● 完全なXaaS化は難しい ● 各チームでの対応の差が出てくる ● SREでつくったものをどう広めるか 新たな課題

Slide 28

Slide 28 text

28 ● 開発チームにどう関わるかの検討 ● フィードバックをもらいやすい環境をつくって、さらに開発者の認知 負荷を減らせるプラットフォームに イネイブリングの検討 Stream-aligned team Platform team XaaS Stream-aligned team Stream-aligned team Stream-aligned team XaaS XaaS XaaS SRE SRE SRE SRE

Slide 29

Slide 29 text

● SREチームの変化と課題 ● プラットフォームチームとしての取り組み ● 現状と新たな課題 ● まとめ

Slide 30

Slide 30 text

30 ● 組織の変化/拡大に対応するため、SREチームではプラット フォームチームの考え方を取り入れた ● プラットーフォームチームやっていくために考えたこと ○ 1. SREチームでやることを明確にする ○ 2. 自分たちのプラットフォームを定義する ○ 3. プロダクト全般で一貫したシステムを構築する ○ 4. 計測し、改善する ● イネイブリング等で開発チームと連携することも重要 まとめ

Slide 31

Slide 31 text

31 コドモン採用ページ 開発ブログ コドモンでは一緒に働きたい仲間を募集しています!

Slide 32

Slide 32 text

No content