Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Platform EngineeringがあればSREはいらない!? 新時代のSREに求められ...

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

Mitsuhiro Shibuya

January 26, 2025
Tweet

More Decks by Mitsuhiro Shibuya

Other Decks in Technology

Transcript

  1. 2 Mercari, Inc. Marketplace SRE Tech Lead • バックエンドエンジニアだったが、成り行きで Reliabilityに身をささげる人生に

    • メルカリに入社したのは5年くらい前 • 一度退職したが、出戻ってきました mshibuya (@m4buya)
  2. 3 Mercari, Inc. Work SRE Tech Lead • 2016-18 レコメンド

    • 2018-2022 バックエンド~インフラ • 2022- メルカリにJoin ◦ 2022-2023 ソウゾウでSRE ◦ 2023-現在 メルカリハロでSRE naka (@gymnstcs)
  3. 15 • 開発から9ヶ月でのローンチ • 2024年3月ローンチ後、登録者数800万 超え 🎉 Platformの貢献は偉大 • ID基盤、CI/CD、開発環境構築

    etcに Platformが大きく貢献 • 社内Documentの充実 Platform Engineering: ハロの爆速立ち上げに貢献
  4. 17 • 提供されているツール・サービスが多岐にわ たる ◦ 理解するのに時間がかかる • ツール・サービスの進化の速さ ◦ 新ツール提供

    ◦ ツール移行 • Self-Service化によりサービスチームのメン テナンスも必要 課題1: 認知負荷大
  5. 18 課題2: サービスチームと Platformの距離 • サービスチームとPlatformとの距離を縮めるの は難しい ◦ Platformチームは提供するサービス・ツー ルを実際には使わない

    • チーム間の距離は、実際のユースケースと各ツー ルの距離 • ツール間の非互換 ◦ 例. CICD と webの段階リリースの仕組み ◦ 例. Canary ReleaseとAutoscaling Platform サービスチーム ユースケース サービス・ツール 距離 距離
  6. 20 • 開発チームの一員として ◦ 開発者からのフィードバックを集める ◦ プラットフォームの改善を支援 解決策: Platformと開発者の橋渡しとしての SRE

    Platform サービスチーム • プラットフォーム活用のスペシャリストとして ◦ 開発者の課題とプラットフォームで解決できるギャップを埋める ◦ 開発者が効率的に課題解決できるように支援 課題解決の支援 プラットフォームの改善 SRE
  7. 22

  8. 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 = フリマアプリメルカリ側
  9. 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
  10. 26 立ち上げ期 : なにが難しかったか • スムーズ ◦ Platformに提供されているツールで簡単に設定が可能 ◦ 内部ドキュメントもあるので、基本的には読めば設定が可能

    • 難しい ◦ ハロ独自で細かい設定をする場合は、詳細の理解が必要。 ▪ 隠蔽されている抽象化レイヤーの理解が必要 ◦ 内部ドキュメントからは依存関係が不明確で実際のタスクの順序を把握の が困難 ▪ ドキュメント更新も含め一緒改善していく必要がある ◦ メルカリ内でも方針が決まってないケースは他チームを巻き込み最終的なア クションまでの具体化をサービスチームが担う必要がある
  11. 27 立ち上げ期 : Platform活用のスペシャリスト やったこと • Platformとの距離を縮める ◦ Platformに飛び込み、状況や思想を理解 ◦

    Early Adaptorになり、Platformの未来を早く導入 ◦ ドキュメントの更新やFeedbackをして改善に貢献 • 開発チームの支援 ◦ 特定のユースケースや要件があれば整理 ◦ 複数のツール・サービスを組み合わせて課題解決 ◦ 開発チームのブロッカーを排除
  12. 28 リリース: Production Readiness Check (PRC) • PRCとは ◦ 新サービスリリース時のクオリティを担保する標準チェックリスト

    • 項目 ◦ Maintainability: ◦ Observability: ◦ Reliability: ◦ Security: ◦ Accessibility: • 詳細: production-readiness-checklist/docs/references/pre-production-ch ecklist.md at master
  13. 30 リリース前 : PRCの実施 • 体制 ◦ Hallo SRE 1人

    ◦ MK (メルカリ) SRE 1人 ◦ Hallo Backend 1人 • SRE x 開発者が一体となってPlatformツールを活用 • 各項目を分担してリリースまでの短い期間で完了 PRC 確認中に問題を発見し、早急に修正することで本番リ リース後のインシデントを未然に防ぐ事ができた
  14. 31 リリース後 : PRCの改善 • PRCの自動化 ◦ 新規事業立ち上げを高速改善プロジェクト ◦ ハロでのPRC実施の経験も活かして自動

    化をDXチームと共同で実現 • アドベントカレンダー: ◦ メルカリのProduction Readiness Checkプロセスにおける新たな開発者体 験 $ merctl prc run コマンドでチェックを自動化 🎉
  15. 32 ハロ立ち上げまとめ • SREが初期立ち上げに入ることでPlatform→開発チーム、開発チーム →Platforom双方向での活用と改善に貢献 • Platformを活用して開発チームの課題解決に貢献 ◦ Platformとサービスチーム両方の知見・背景を理解しPlatformの活用を 支援

    • 開発チームからPlatformへの貢献 ◦ Early AdaptorとなりPlatformを先取り ◦ 開発チームで躓いた点を、ドキュメントの更新、Platformの修正などで積極 的に改善する ◦ PRCのようなプロジェクトによりPlatform自体の改善を行う 「Platformを活用し開発チームの課題を解決しながら、 Platformの改善にも貢献する架け橋」
  16. 41 まとめ • Platform Engineeringの台頭によって、 SREにも新時代が訪れつつある • メルカリにおける Platform Engineeringの実践を通じ、「認知負荷が大き

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