Slide 1

Slide 1 text

1 Platform Engineering があればSREはいら ない!? 新時代のSREに求められる役割とは mshibuya & naka

Slide 2

Slide 2 text

2 Mercari, Inc. Marketplace SRE Tech Lead ● バックエンドエンジニアだったが、成り行きで Reliabilityに身をささげる人生に ● メルカリに入社したのは5年くらい前 ● 一度退職したが、出戻ってきました mshibuya (@m4buya)

Slide 3

Slide 3 text

3 Mercari, Inc. Work SRE Tech Lead ● 2016-18 レコメンド ● 2018-2022 バックエンド~インフラ ● 2022- メルカリにJoin ○ 2022-2023 ソウゾウでSRE ○ 2023-現在 メルカリハロでSRE naka (@gymnstcs)

Slide 4

Slide 4 text

4 Platform Engineeringとは? アジェンダ Platform EngineeringがSREにもたらすもの メルカリにおいて直面した課題とその解決策 メルカリ ハロ立ち上げ時に取った動き 2. 3. 4. 1. Platform Engineeringに対しSREはどう関わっていくべきか 5.

Slide 5

Slide 5 text

5 Platform Engineeringとは? アジェンダ Platform EngineeringがSREにもたらすもの メルカリにおいて直面した課題とその解決策 メルカリ ハロ立ち上げ時に取った動き 2. 3. 4. 1. Platform Engineeringに対しSREはどう関わっていくべきか 5.

Slide 6

Slide 6 text

6 Platform Engineeringとは? プラットフォーム・エンジニアリングとは、 ソフトウェアの開発とデリバリを目的とし た、セルフサービス型の開発者プラット フォームの構築と運用に関する専門分野 です。(略) セルフサービス機能とインフラストラク チャ・オペレーションの自動化により、開 発者のエクスペリエンスと生産性を向上 させます。 https://www.gartner.co.jp/ja/articles/what-is-platform-engineering

Slide 7

Slide 7 text

7 世はまさに Platform Engineering時代(?) PlatformCon: since 2022 Google Trends Platform Engineering Kaigi: since 2024

Slide 8

Slide 8 text

8 Platform Engineeringとは? アジェンダ Platform EngineeringがSREにもたらすもの メルカリにおいて直面した課題とその解決策 メルカリ ハロ立ち上げ時に取った動き 2. 3. 4. 1. Platform Engineeringに対しSREはどう関わっていくべきか 5.

Slide 9

Slide 9 text

9 例: メルカリにおける Platform Engineering https://speakerdeck.com/tcnksm/platform-engineering-at-mercari-platform-engineering-kaigi-2024?slide=9

Slide 10

Slide 10 text

10 Platform Engineeringの台頭はSREにとっても新時代 仕事のやり方・道具が変わる Infrastructure Backend Client Client Platform Infrastructure Backend

Slide 11

Slide 11 text

11 Platform Engineeringの台頭はSREにとっても新時代 本番環境の民主化。開発チームが Platformの助けを得ながら 自分たちの手でサービスを運用していく時代へ https://speakerdeck.com/tcnksm/platform-engineering-at-mercari-platform-engineering-kaigi-2024?slide=19

Slide 12

Slide 12 text

12 Platform EngineeringがあればSREはいらなくなる? Platform Engineeringが進化していけば、 セルフサービスのPlatformを活用していくこと で開発者のみでも必要な信頼性を担保できる未 来がやってくるのではないか。 そうなった時に、SREに居場所はあるのだろう か…?

Slide 13

Slide 13 text

13 Platform EngineeringがあればSREはいらなくなる? いや、でも我々はそう思わない。 Platform Engineeringならではの課題もある。 SREはそこに貢献できるんじゃないかと思う!

Slide 14

Slide 14 text

14 Platform Engineeringとは? アジェンダ Platform EngineeringがSREにもたらすもの メルカリにおいて直面した課題とその解決策 メルカリ ハロ立ち上げ時に取った動き 2. 3. 4. 1. Platform Engineeringに対しSREはどう関わっていくべきか 5.

Slide 15

Slide 15 text

15 ● 開発から9ヶ月でのローンチ ● 2024年3月ローンチ後、登録者数800万 超え 🎉 Platformの貢献は偉大 ● ID基盤、CI/CD、開発環境構築 etcに Platformが大きく貢献 ● 社内Documentの充実 Platform Engineering: ハロの爆速立ち上げに貢献

Slide 16

Slide 16 text

16 裏側では、 開発がスムーズだったかと言うと.. 実はそうでもなかった... ● Platform(武器)を使いこなすには知識・経験 が必要 ● 立ち上げにかかった時間は長かったと評価 課題はなんだったのか

Slide 17

Slide 17 text

17 ● 提供されているツール・サービスが多岐にわ たる ○ 理解するのに時間がかかる ● ツール・サービスの進化の速さ ○ 新ツール提供 ○ ツール移行 ● Self-Service化によりサービスチームのメン テナンスも必要 課題1: 認知負荷大

Slide 18

Slide 18 text

18 課題2: サービスチームと Platformの距離 ● サービスチームとPlatformとの距離を縮めるの は難しい ○ Platformチームは提供するサービス・ツー ルを実際には使わない ● チーム間の距離は、実際のユースケースと各ツー ルの距離 ● ツール間の非互換 ○ 例. CICD と webの段階リリースの仕組み ○ 例. Canary ReleaseとAutoscaling Platform サービスチーム ユースケース サービス・ツール 距離 距離

Slide 19

Slide 19 text

19 ● たくさんあるツールを理解 ● 日々のメンテや更新 ● 組み合わせで起こる問題を一つずつ解決 結果: サービスチームの生産性が上がりづらい もっとPlatformを使いこなして生 産性爆上げしたい!!

Slide 20

Slide 20 text

20 ● 開発チームの一員として ○ 開発者からのフィードバックを集める ○ プラットフォームの改善を支援 解決策: Platformと開発者の橋渡しとしての SRE Platform サービスチーム ● プラットフォーム活用のスペシャリストとして ○ 開発者の課題とプラットフォームで解決できるギャップを埋める ○ 開発者が効率的に課題解決できるように支援 課題解決の支援 プラットフォームの改善 SRE

Slide 21

Slide 21 text

21 Platform Engineeringとは? アジェンダ Platform EngineeringがSREにもたらすもの メルカリにおいて直面した課題とその解決策 メルカリ ハロ立ち上げ時に取った動き 2. 3. 4. 1. Platform Engineeringに対しSREはどう関わっていくべきか 5.

Slide 22

Slide 22 text

22

Slide 23

Slide 23 text

23 事例: メルカリハロ

Slide 24

Slide 24 text

24 事例: メルカリハロ立ち上げ時の動き 1. 初期 2023年6月〜10月:1人 a. 専属は一人 + DXチームからサポート b. BEやplatform teamと技術選定、アーキテクチャ面での相談、開発環境構築 2. リリース前 2023年11月〜3月:3人 a. BE兼務・MK SRE兼務からサポートしてもらう b. Production Readiness Check、モニタリング整備、本番環境構築、Analytics基盤構築、 etc. 3. リリース後 2023年4月〜:2人 a. MK兼務サポート b. モニタリング改善、Oncall改善、データ基盤構築 c. MK SRE側でPRCの改善 ※MK = フリマアプリメルカリ側

Slide 25

Slide 25 text

25 立ち上げ期 : Platform活用のスペシャリストとして 方針:Mercari Platform Engineeringを最大限活かす ● メルカリShopsでの経験 ● メルカリ知見の活用 1. 開発環境の整備・ツール選定 2. Early adopter a. Platform Engineeringの提供する新しいツール を積極的に採用 (e.g. CI/CD tool, Tortoise) メルカリが蓄積してきた知見をどれだけHalloに活用できるか Hallo Architect Platform Merpay Network infra Foundation

Slide 26

Slide 26 text

26 立ち上げ期 : なにが難しかったか ● スムーズ ○ Platformに提供されているツールで簡単に設定が可能 ○ 内部ドキュメントもあるので、基本的には読めば設定が可能 ● 難しい ○ ハロ独自で細かい設定をする場合は、詳細の理解が必要。 ■ 隠蔽されている抽象化レイヤーの理解が必要 ○ 内部ドキュメントからは依存関係が不明確で実際のタスクの順序を把握の が困難 ■ ドキュメント更新も含め一緒改善していく必要がある ○ メルカリ内でも方針が決まってないケースは他チームを巻き込み最終的なア クションまでの具体化をサービスチームが担う必要がある

Slide 27

Slide 27 text

27 立ち上げ期 : Platform活用のスペシャリスト やったこと ● Platformとの距離を縮める ○ Platformに飛び込み、状況や思想を理解 ○ Early Adaptorになり、Platformの未来を早く導入 ○ ドキュメントの更新やFeedbackをして改善に貢献 ● 開発チームの支援 ○ 特定のユースケースや要件があれば整理 ○ 複数のツール・サービスを組み合わせて課題解決 ○ 開発チームのブロッカーを排除

Slide 28

Slide 28 text

28 リリース: Production Readiness Check (PRC) ● PRCとは ○ 新サービスリリース時のクオリティを担保する標準チェックリスト ● 項目 ○ Maintainability: ○ Observability: ○ Reliability: ○ Security: ○ Accessibility: ● 詳細: production-readiness-checklist/docs/references/pre-production-ch ecklist.md at master

Slide 29

Slide 29 text

29 リリース: Production Readiness Check (PRC) ● ハロリリース前のPRCの実施 ● ハロリリース後のPRCの改善 開発チーム SRE Platform PRC 改善 協力

Slide 30

Slide 30 text

30 リリース前 : PRCの実施 ● 体制 ○ Hallo SRE 1人 ○ MK (メルカリ) SRE 1人 ○ Hallo Backend 1人 ● SRE x 開発者が一体となってPlatformツールを活用 ● 各項目を分担してリリースまでの短い期間で完了 PRC 確認中に問題を発見し、早急に修正することで本番リ リース後のインシデントを未然に防ぐ事ができた

Slide 31

Slide 31 text

31 リリース後 : PRCの改善 ● PRCの自動化 ○ 新規事業立ち上げを高速改善プロジェクト ○ ハロでのPRC実施の経験も活かして自動 化をDXチームと共同で実現 ● アドベントカレンダー: ○ メルカリのProduction Readiness Checkプロセスにおける新たな開発者体 験 $ merctl prc run コマンドでチェックを自動化 🎉

Slide 32

Slide 32 text

32 ハロ立ち上げまとめ ● SREが初期立ち上げに入ることでPlatform→開発チーム、開発チーム →Platforom双方向での活用と改善に貢献 ● Platformを活用して開発チームの課題解決に貢献 ○ Platformとサービスチーム両方の知見・背景を理解しPlatformの活用を 支援 ● 開発チームからPlatformへの貢献 ○ Early AdaptorとなりPlatformを先取り ○ 開発チームで躓いた点を、ドキュメントの更新、Platformの修正などで積極 的に改善する ○ PRCのようなプロジェクトによりPlatform自体の改善を行う 「Platformを活用し開発チームの課題を解決しながら、 Platformの改善にも貢献する架け橋」

Slide 33

Slide 33 text

33 Platform Engineeringとは? アジェンダ Platform EngineeringがSREにもたらすもの メルカリにおいて直面した課題とその解決策 メルカリ ハロ立ち上げ時に取った動き 2. 3. 4. 1. Platform Engineeringに対しSREはどう関わっていくべきか 5.

Slide 34

Slide 34 text

34 じゃあ、SREはPlatform Engineeringを支えるだけの存在なの? Platform Engineering SRE …それも違う気がする。もうちょっとここを考えたい

Slide 35

Slide 35 text

35 プロダクト プロダクト立ち上げを図にしてみる Platform 非機能要件 機能要件 信頼性 パフォーマンス 拡張性 セキュリティ … 作り 上げる

Slide 36

Slide 36 text

36 プロダクト SREの本来的な専門性はこのあたり Platform 非機能要件 機能要件 信頼性 パフォーマンス 拡張性 セキュリティ … 作り 上げる

Slide 37

Slide 37 text

37 プロダクト Platform Engineeringが発展することで Platform 非機能要件 機能要件 信頼性 パフォーマンス … より少ない労力でプロダクトを構築できるようになる!

Slide 38

Slide 38 text

38 プロダクト SREがPlatformに求めたい領域 Platform 非機能要件 機能要件 信頼性 パフォーマンス 拡張性 セキュリティ … 作り 上げる

Slide 39

Slide 39 text

39 プロダクト 加えて、そこからはみ出していける領域 Platform 非機能要件 機能要件 信頼性 パフォーマンス 拡張性 セキュリティ … 作り 上げる

Slide 40

Slide 40 text

40 SREはPlatform Engineeringとともに発展していける! ● SREにとっての本来の領域から横にはみ 出すことによって ○ プロダクトの立ち上げをスムーズに ○ Platform Engineeringの発展へ寄 与 ● Reliabilityを楽に実装できる Platformの 実現へ

Slide 41

Slide 41 text

41 まとめ ● Platform Engineeringの台頭によって、 SREにも新時代が訪れつつある ● メルカリにおける Platform Engineeringの実践を通じ、「認知負荷が大き い」「サービスチームと Platformの間に距離がある」といった課題が見えてき た ● SREがPlatformと開発者の橋渡しをすることが解決策となる。メルカリ ハロで は、SREが橋渡しをすることでプロダクトの高速な立ち上げと Platformの改善 両面に貢献できた ● そのような動きは部分的に SREの本来の専門性からは外れたものとなる。が、 PlatformにReliabilityを組み込んでいくことができれば SREにとっても得る ものが大きい

Slide 42

Slide 42 text

42 SREの皆様とPlatform Engineeringとの関わりに ついて、もっとお話を聞きたいです! この後のAsk the Speakerや懇親会でお話しましょう〜