40000 コンテナを動かす SRE チームに至るまでの道 1/25(土) SRE NEXT 2020 発表資料 #srenext

875 Views

January 29, 20

スライド概要

SRE NEXT 2020 で発表した内容です。ヤフーの Private PaaS SRE チームがどうやって運用し、チームを作ったかを説明します

profile-image

2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

40,000 コンテナを動かすPaaS SRE に ⾄るまでの道 How to become SRE team running 40,000 containers on PaaS 2020年1⽉27⽇ ヤフー株式会社システム統括本部 PaaS 増⽥ 彬 (@go_zen_chu)、伊深晃史、寺⽥ 圭太 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

2.

はじめに 本プレゼンでは主に「SRE の運⽤とマネジメント」を スコープにした話をします 技術⾯については、弊社 Techblog の記事 【40,000コンテナのPrivate PaaSを実現するために必要 だったこと】 https://techblog.yahoo.co.jp/entry/20191222793763/ にて解説しております【宣伝】 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

3.

Agenda 1. ヤフーの Private PaaS とチームについて 2. 信頼性の⼤切さと、安定化の取り組み 3. SRE チームのマネジメント Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

4.

Agenda 1. ヤフーの Private PaaS とチームについて 2. 信頼性の⼤切さと、安定化の取り組み 3. SRE チームのマネジメント Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

5.

ヤフーの Private PaaS について • PaaS とは IaaS • 約 3200 人 Application Application OS, Middleware OS, Middleware HV, Network HV, Network PaaS OSS である Cloud Foundry (CFAR) をベースとし た Pivotal Application Service® (PAS®) を利⽤ $ cf push Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Deploy app

6.

ヤフーの Private PaaS について 規模 • • 2 DC, 16 クラスタ 本番稼働コンテナ数 約 40,000 number of containers in production 45000 40000 35000 30000 25000 20000 15000 10000 5000 0 /08 0 17 /03 0 17 /09 0 18 /04 0 18 /10 0 19 /05 0 19 /12 0 20 /06 6 1 0 2 2 2 2 2 2 2 2 様々な⾔語の App が稼働 (Go, Java, Python, Node, …) Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

7.

ヤフーの Private PaaS について • 提供しているシステム概要 PaaS Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

8.

ヤフーの Private PaaS について • 提供しているシステム概要 Log forwarder PaaS GSLB ServiceBroker Management UI Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Status Dashboard Log Config ServiceBroker Logging PF Monitoring PF

9.

PaaS チームについて ミッション • PaaS を通じて社内の開発効率を圧倒的に 改善する チームメンバー • 24 名 (3チームの LeSS) • • CRE (11名) : カスタマーサクセス SRE (13名) : 信頼性向上 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

10.

Agenda • ヤフーの Private PaaS とチームについて • 信頼性の⼤切さと、安定化の取り組み • SRE チームのマネジメント Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

11.

PaaS の信頼性の⼤切さ PaaS の信頼性がサービスの安定性に直結 • 1 クラスタの Org の数: 180 PaaS クラスタはマルチテナント • 1 つのクラスタの影響が複数のサービスに及ぶ • PaaS の障害はサービスエンジニアにも⼿間を かける Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

12.

Agenda 1. ヤフーの Private PaaS とチームについて 2. 信頼性の⼤切さと、安定化の取り組み 3. SRE チームのマネジメント Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

13.

PaaS運⽤の課題 • 安定化にかけるコストが不透明 • アラートからユーザー影響が判別しにく い • 新規メンバーの教育コストが⾼い Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 13

14.

課題を解決するために⾏ったこと • コスト量 → ユーザーの声を聞く • ユーザー影響判別 → 可視化 • 教育コスト → 障害対応の⼯夫 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 14

15.

ユーザーの声を聞く • NPS(Net Promoter Score)の実施 • 客観的な指標 & 定性的なコメントを分析 • 安定化を望む声が多かった • ユーザーインタビューでさらに深掘り • 指標とユーザーの声を元にステークホル ダーと案件の優先度交渉を実施 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 15

16.

課題を解決するために⾏ったこと • コスト → ユーザーの声を聞く • ユーザー影響判別 → 可視化 • 教育コスト → 障害対応の⼯夫 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 16

17.

ユーザー影響を判別するために • ユーザー影響判別ができない • アラートが細かく影響範囲がわからない • 例︓特定VMのメモリが⾼い • ユーザー影響を元にアラートを出せる ようにしたい Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 17

18.

サービス稼働の定義 • サービスマニフェスト • 安定性について守るべき指標をユーザに 共有 • 内容を満たせない場合はPFの障害となる Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 18

19.

障害発⽣を正確に検知する • ⾃動テスト結果をアラートに利⽤する Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 19

20.

障害発⽣を正確に検知する • ユーザー影響が明確なアラートだけを設 定する • ユーザー影響が明確ではないアラートは架電 しないか思い切って削除 • チームメンバーの健康を守る • 深くPFに関わっているエンジニアなら稼 働状況を理解できるようになった Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 20

21.

稼働状況の可視化 SLOダッシュボードを導⼊ • • 稼働状態を⽰すいくつかの重要な指標(SLI)を数値化 • • • アプリケーションへ正常にアクセスができるか アプリケーションが正常にデプロイできるか ログはきちんと送信先のPFへ送れているか • SLOを基準にすることで誰でも対応が必要か判断できるよ うに • このレベルまでくると誰でも稼働状態を把握できるように なる Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 21

22.

SLOダッシュボード Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 22

23.

課題を解決するために⾏ったこと • コスト → ユーザーの声を聞く • ユーザー影響判別 → 可視化 • 教育コスト → アラート対応の⼯夫 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 23

24.

効率的な知識分散のために • メンバーが最も成⻑するタイミングは︖ • • アラート対応 障害対応を実施するメンバーを固定 • • • • Primary, Secondaryの2名体制(週替わり) 担当者はアラート対応のみを⾏う 障害に集中して取り組むタイミングが作れる devチームは開発案件、担当者はアラート対応に集 中できる Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 24

25.

⼤規模障害の振り返りと予⾏練習 • ポストモーテム • 障害の振り返り⼿法の1つ • タイムラインを使って再発防⽌案を検討する • チーム全体で参加することで新規メンバーへ の教育も可能 • ロールプレイ • 各⾃が障害対応を考える機会を設ける Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 25

26.

ロールプレイの例 • 課題︓2クラスタダウンが同時に起こったらどうする︖ • まずは経験の浅いメンバーから考えてもらう • • • 状況確認をするためには何をしたら良い︖ 連絡しなければならない部署はどこ︖ 復旧までにそもそもどんな⼿順が必要︖ ⼀通り出してみた後にベテランのメンバーからフィードバック • • ⼿順はもちろんその背景までを深く理解するようにする Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 26

27.

SREチームのマネジメント • SREチームマネージャ PO ≠ プロダクトオーナー • SREミッション 簡単に利⽤できる • SRE領域に責任を持つ組 織を作る Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. SRE CRE 安⼼して利⽤できる scrum 27

28.

ScrumとSREチーム • ⽬指したチーム • ⾃⼰組織化されたSREチーム • 何故⾃⼰組織化が必要か • 変化する環境に適応し、継続的に安定性 を提供する • チームとして正しい判断をできるように Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 28

29.

ScrumとSREチーム • ⾃⼰組織化が進むとどうなるか • SREとしての責任を持ち • 誰もが⾃動化効率化を提案でき • ⾃ら判断し安定化のための⾏動を取れる チームへ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 29

30.

⾃⼰組織化への道 • マネージャー主導チームから⾃⼰管理型チームへ • ティーチングからコーチングへ • 徐々にコントロールや責任範囲を広げていく • • 失敗を許容し、チームとしての判断を信頼する • • チームからのエピック・ストーリー起案 共通の優先度判断軸としてのSLO 結果に対する振り返りとtryを細かいサイクルで Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 30

31.

これからのPaaS SREチーム • 継続した安定性の提供 • Scrumによる⾃⼰組織化 • 顧客価値の最⼤化 • NPSで利⽤者が求めているものを分析 • SLOベースの優先度判断 • 顧客に最も価値のあるものを提供できるチーム へ︕ • XREチーム化 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 31

32.

詳細はブースにて Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

33.

EOF 注:ネット・プロモーター、ネット・プロモーター・システム、NPS、そしてNPS関連で 使用されている顔文字は、ベイン・アンド・ カンパニー、フレッド・ライクヘルド、サ トメトリックス・システムズの登録商標です。 注:本スライド上に掲載されている社名、製品名、サービス名及びサイト名等は、各社 の商標または登録商標です。 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.