Slide 1

Slide 1 text

1 もっとSREを広げるための 初学者向け技術研修設計 ⽣まれながらにして最強の⼈はいない GMOペパボ 技術部データ基盤チーム 染⽮健⼈ 2025.01.26 @ SRE Kaigi 2025

Slide 2

Slide 2 text

SRE Kaigi 2025 2

Slide 3

Slide 3 text

開催ありがとうございます & おめでとうございま す!!!!!!!!!!!!!! 3

Slide 4

Slide 4 text

More SRE! さらにSREを広げよう! 4

Slide 5

Slide 5 text

「SREを広げる」には? 5

Slide 6

Slide 6 text

6 ● ソフトウェアが広げる ● ⼈が広げる 「SREを広げる」には?

Slide 7

Slide 7 text

7 ● 監視ツールの導⼊によって信頼性を維持 できる範囲が広がる ● OTelエコシステムの発展によって複数シ ステムのシグナルを標準的に扱える ソフトウェアが「SREを広げる」

Slide 8

Slide 8 text

8 ● ⼈が組織にSLI/SLO運⽤を導⼊する ● ⼈が⼈にSREing技術や思想を伝える ● ⼈がSREのためのソフトウェアを書き、 そのソフトウェアがSREを広げる ⼈が「SREを広げる」

Slide 9

Slide 9 text

9 ● ソフトウェアが広げる ● ⼈が広げる ←このセッションではこちらを扱います 「SREを広げる」には?

Slide 10

Slide 10 text

「SREを広げる⼈」 を広げる 10

Slide 11

Slide 11 text

研修 11

Slide 12

Slide 12 text

12 ● 技術研修を企画する⼈ ● 技術研修を実⾏する⼈ ● 技術研修を受ける⼈ 想定聴衆

Slide 13

Slide 13 text

13 ● 個別ソフトウェアに関するテッキーな話 ● 技術以外の研修の話 ● この付近のランチ情報を教えてください! このセッションで扱わない題材

Slide 14

Slide 14 text

14 今⽇話すこと 1. More SRE! - このセッションで扱う題材の導⼊ - 2. ⾃⼰紹介 3. SREスキル習得の課題 4. GMOペパボの新卒研修 4.1. 概要 4.2. 詳細 4.3. 設計時の考慮事項 5. 新卒研修以外のトレーニング 6. 個⼈的に効果的だった教材 7. まとめ

Slide 15

Slide 15 text

15 今⽇話すこと 1. More SRE! - このセッションで扱う題材の導⼊ - 2. ⾃⼰紹介 3. SREスキル習得の課題 4. GMOペパボの新卒研修 4.1. 概要 4.2. 詳細 4.3. 設計時の考慮事項 5. 新卒研修以外のトレーニング 6. 個⼈的に効果的だった教材 7. まとめ

Slide 16

Slide 16 text

16 ⾃⼰紹介 技術部 データ基盤チーム 2022年 新卒⼊社 染⽮ 健⼈ Someya Kento GMOペパボでSREingをやっています。 ⼤学⽣のときは⼩中⾼⽣への講師業でお⾦をいただいていました。 好きなアザラシはワモンアザラシです。 ● GitHub: @kesompochy ● Twitter : @kesompochy ● 書いた記事: https://tech.pepabo.com/authors/pochy/

Slide 17

Slide 17 text

GMOペパボ 17

Slide 18

Slide 18 text

企業理念 もっとおもしろくできる 18

Slide 19

Slide 19 text

⾃⼰紹介 19 「⼈類のアウトプットを増やす」サービスを複数運営 GMOペパボの事業

Slide 20

Slide 20 text

⾃⼰紹介 20 ● 縦割りの各事業部と 横串の機能別組織がある ● SREsは各事業部と 技術部(横串組織) それぞれにいる GMOペパボの開発組織とSRE

Slide 21

Slide 21 text

21 今⽇話すこと 1. More SRE! - このセッションで扱う題材の導⼊ - 2. ⾃⼰紹介 3. SREスキル習得の課題 4. GMOペパボの新卒研修 4.1. 概要 4.2. 詳細 4.3. 設計時の考慮事項 5. 新卒研修以外のトレーニング 6. 個⼈的に効果的だった教材 7. まとめ

Slide 22

Slide 22 text

SREスキル習得の課題 22 ● SREに求められるスキルの幅広さ ● SREロールの固定化 ● SREingの⾼度化に伴う学習機会の低下 SREスキル習得の課題

Slide 23

Slide 23 text

SREスキル習得の課題 23 ● SREsに求められるスキルは多岐に渡る ○ 事業ドメインへの理解 ○ SLI/SLO策定、運⽤ ○ モニタリング, オブザーバビリティエンジニアリング ○ パフォーマンスチューニング ○ ソフトウェアでの運⽤省⼒化 ○ インシデント管理 ○ オンコール対応 ○ セキュリティ ○ etc.. ● どれから習得すべき? SREに求められるスキルの幅広さ

Slide 24

Slide 24 text

SREスキル習得の課題 24 ● 特定の⼈々がロールとして全部やりがち ○ 技術‧知識の暗黙知化 ○ プラクティスが組織に広がりづらい SREロールの固定化

Slide 25

Slide 25 text

SREスキル習得の課題 25

Slide 26

Slide 26 text

SREスキル習得の課題 26 https://suzuri.jp/maruloop/14476923/long-sleeve-t-shirt/s/white

Slide 27

Slide 27 text

27 SREは⽣き様だろ!!

Slide 28

Slide 28 text

SREスキル習得の課題 28 ● いわゆるOJTでは『学習が起こるタイミングが「偶然」に 依存する』 ○ 中原淳(2014). 『研修開発⼊⾨---会社で「教える」、競争優位を「つくる」』. ダイヤモンド社 ● SREが成熟に伴い、簡単な課題が発⽣する確率が下がる ○ いわゆる「good first issue」が枯渇するのでは? ○ かといって、簡単なタスクを残しておくこともできない ○ そのため、基礎的なスキルを実務以外で習得しておく必要が⽣まれる SREスキルの学習機会が少ない

Slide 29

Slide 29 text

SREスキル習得の課題 29 ● SREに求められるスキルの幅広さ ● SREロールの固定化 ● SREingの⾼度化に伴う学習機会の低下 →これらを研修で解決したい SREスキル習得の課題(再掲)

Slide 30

Slide 30 text

30 今⽇話すこと 1. More SRE! - このセッションで扱う題材の導⼊ - 2. ⾃⼰紹介 3. SREスキル習得の課題 4. GMOペパボの新卒研修 4.1. 概要 4.2. 詳細 4.3. 設計時の考慮事項 5. 新卒研修以外のトレーニング 6. 個⼈的に効果的だった教材 7. まとめ

Slide 31

Slide 31 text

GMOペパボの新卒研修 31 GMOペパボでは新卒エンジニアへの技術研修を数ヶ⽉間⾏う ペパボの新卒研修 https://tech.pepabo.com/2024/09/03/2024-engineer-training/ に詳しく説明されています

Slide 32

Slide 32 text

GMOペパボの新卒研修 32 前提として、組織での研修は組織経営に資するために⾏う ● 組織社会化 ● 組織への技術浸透 新卒研修の⽬的

Slide 33

Slide 33 text

GMOペパボの新卒研修 33 「必要となるような知識‧技能‧ 信念を獲得させ、組織適応を果た すプロセス」 中原淳(2021). 『経営学習論: ⼈材育成を科学する』. ⼀般財団法⼈ 東京⼤学出版会 組織社会化 この組織ではkubectlコマンドを 打てる必要があるのか! この組織には『⾮難なきポスト モーテム』⽂化があるのか!

Slide 34

Slide 34 text

GMOペパボの新卒研修 34 ● トロイの⽊⾺ ○ 研修を受けたエンジニアが各現場に送り込まれる ○ 研修で「刷り込み」を受けた新卒エンジニアが 良いプラクティスを広げる ○ https://speakerdeck.com/kentaro/engineer-training-at-pepabo ?slide=30 技術‧⽂化の組織への浸透

Slide 35

Slide 35 text

GMOペパボの事例 35 1. 「コンテナ研修」 2. 「オブザーバビリティ研修」 3. パフォーマンスチューニング実践 ペパボの新卒研修(内容抜粋)

Slide 36

Slide 36 text

GMOペパボの事例 -内容- 36 ● コンテナの基礎知識からk8s、社内 で使われるCI/CDツールまでを習得 する ● 研修⽤に⽴てたk8sクラスタを使⽤ する ● 慣習的に「コンテナ研修」と呼ばれ ている コンテナ研修

Slide 37

Slide 37 text

GMOペパボの事例 -内容- 37 ● ⼤まかに次の内容 ○ コンテナ技術の基本的な考え方 ○ Linuxカーネルで提供されているプロセス隔離機能やその他コンテナランタイムが利用する機能 ○ runcを直接触ったコンテナの起動 ○ Dockerの使い方、Dockerfileの書き方、本番運用するうえでのプラクティス実践 ○ GitHub Actionsの使い方、社内で実際に利用されている Actionsをもとにしたハンズオン ○ Kubernetesクラスタのアーキテクチャ理解、基本的な Workloads APIハンズオン ○ ArgoCDの使い方 コンテナ研修

Slide 38

Slide 38 text

GMOペパボの事例 -内容- 38 ● モニタリングとオブザーバビリティの必要性と実装技術を習得する ● 「コンテナ研修」で使ったk8s環境の可観測性を向上させ、CUJの観点から⾃⾝の Webアプリケーションを監視する ● https://tech.pepabo.com/2024/07/23/o11y-training-2024/ に詳しく説明されて いる オブザーバビリティ研修

Slide 39

Slide 39 text

GMOペパボの事例 -内容- 39 ● ⼤まかに次の内容 ○ メトリクスを収集、可視化しよう ○ ログを収集、可視化しよう ○ トレースを収集、可視化しよう ○ 監視、アラートを出しよう ○ CUJを設定し、CUJが阻害される障害を即座に検知できるようにしよう ○ ⾃分で壊してその障害を検知できたら、原因をテレメトリーから説明しよう オブザーバビリティ研修

Slide 40

Slide 40 text

GMOペパボの事例 -内容- 40 ● ⼀般社団法⼈⽇本CTO協会が主 催 ● catatsuy/private-isu を使わせ ていただいている ○ https://github.com/catatsuy/private-isu パフォーマンスチューニング実践 https://tech.pepabo.com/2024/02/16/isucon-2023/ に詳しく説明されている

Slide 41

Slide 41 text

41 研修設計時に考慮したこと

Slide 42

Slide 42 text

GMOペパボの事例 -設計- 42 ● 教室で座学を受けるか、実戦を⽣き残って糧を得るか ○ 後者はいわゆる「⾕底に突き落とす」やり⽅ ● 教育⾔説は『この⼆つの間を「揺れる振り⼦」のよう に動き続けてきた』 ○ 中原淳(2014). 『研修開発⼊⾨---会社で「教える」、競争優位を「つくる」』. ダイヤモンド社 ○ ⽬的に応じて取り⼊れたい 座学 vs 実践

Slide 43

Slide 43 text

GMOペパボの事例 -設計- 43 ● 具体的短期的な技能と抽象的⻑期的な技能 ○ たとえば「kubectlでクラスタ操作ができる」と 「k8sがどのような課題を解決するのか説明できる」 ● 両⽅習得したい ○ システムを作り上げるには具体的な技能が必要だし、 システムを時間の経過に耐えさせるには適切な抽象化が必要 How vs Why

Slide 44

Slide 44 text

44 設計具体例

Slide 45

Slide 45 text

GMOペパボの事例 -設計- 45 ● 必要な知識は⽂書化して置いておく ○ 必要になったら参照する⽅式 ○ Dockerfileの例など ● ペパボでは「アウトプットすること」 を重視 ○ 成果物の解説を課題として設定する ■ 右図は実際の成果物解説時に作られた資料の⼀部 ○ ⼈に伝わるように出⼒することで習得が深まる 座学は⼀瞬、ほとんどの時間は実践

Slide 46

Slide 46 text

GMOペパボの事例 -設計- 46 まず技術へのモチベーションを導⼊し、習得した技術に腹落ちさせる 1. 「これから扱う技術の背景」を最初に導⼊する 2. ⼿を動かしてHowを修得する 3. Howを踏まえて再度Whyを問う Why → How → Why

Slide 47

Slide 47 text

GMOペパボの事例 -設計- 47 1. 最初に次のようなケーススタディを提供する (次のスライドから実際に使ったスライドの抜粋) オブザーバビリティ研修の場合

Slide 48

Slide 48 text

ケーススタディ 48 想像してみてください

Slide 49

Slide 49 text

ケーススタディ 49 あなたはエンジニアとして サービスに配属されました

Slide 50

Slide 50 text

ケーススタディ 50 そこで出会うのは

Slide 51

Slide 51 text

ケーススタディ 51 社外公開用マスク 実際に動いているサービスの 詳細な構成図 「複数のシステムが複雑に絡み合っている」 ということを伝えたい。

Slide 52

Slide 52 text

ケーススタディ 52 巨⼤で⼊り組んでいて変化しつづける建築物 サグラダ‧ファミリア

Slide 53

Slide 53 text

ケーススタディ 53 あっアラートが鳴った!

Slide 54

Slide 54 text

ケーススタディ 54 経験豊富な先輩は直感で対処している

Slide 55

Slide 55 text

ケーススタディ 55 「このアラートが出たときは あの辺を再起動したら直りがち」

Slide 56

Slide 56 text

ケーススタディ 56 あなた「なるほど(わからん)」

Slide 57

Slide 57 text

ケーススタディ 57 先輩、退職

Slide 58

Slide 58 text

ケーススタディ 58 エンジニアの寿命はシステムの寿命より短い

Slide 59

Slide 59 text

ケーススタディ 59 あっまたアラートが鳴った!

Slide 60

Slide 60 text

ケーススタディ 60 あなたには先輩のような勘は備わっていない ドキュメントは更新されていない テレメトリーは収集されていない

Slide 61

Slide 61 text

ケーススタディ 61 さあ、どうする?

Slide 62

Slide 62 text

ケーススタディ 62 (ケーススタディ終わり)

Slide 63

Slide 63 text

GMOペパボの事例 -設計- 63 2. ケーススタディ後に、詳細な技術の習得に⼊る 3. 最終成果物は 「⾃⾝のサービスを壊したらそれが検知されて、収集して いるシグナルから原因の切り分けができる様⼦の実況」 オブザーバビリティ研修の場合

Slide 64

Slide 64 text

64 研修効果

Slide 65

Slide 65 text

GMOペパボの事例 -レポーティング- 65 アンケートとヒアリングから得られた感想から効果を推測 ● 技術(How)習得 ○ 「パフォーマンスチューニング実践でテレメトリー収集のために⼿を動かせた」 ○ 「実務で障害対応に初めて⼊った際も監視ツールを活⽤できた」 ○ 「コンテナ研修ではコンテナ間疎通のトラシューで苦しんだ」 ● 思想(Why)習得 ○ 「SLI, SLOから監視ポイントを考えることができた」 得られた効果

Slide 66

Slide 66 text

GMOペパボの事例 -レポーティング- 66 ● 座学と実践のバランス ○ ⽣成AIサービスでどうにかなるはずと思い、実践を多めにした ○ 「Grafanaの使い⽅に⼾惑った」という感想を得られた ■ 暗黙知を減らす⽬的のはずが、暗黙的に察する場を提供してしまった ■ コマンドやクエリの⽣成は得意だが、GUIの操作指⽰は不得意であることを失念していた ● 実践時間の⾒積もりが難しい ○ 「もうちょっとやりたかった」 ■ ⽤意した実践課題量に対して時間(2.5⽇)が少なかった 得られた課題

Slide 67

Slide 67 text

67 今⽇話すこと 1. More SRE! - このセッションで扱う題材の導⼊ - 2. ⾃⼰紹介 3. SREスキル習得の課題 4. GMOペパボの新卒研修 4.1. 概要 4.2. 詳細 4.3. 設計時の考慮事項 5. 新卒研修以外のトレーニング 6. 個⼈的に効果的だった教材 7. まとめ

Slide 68

Slide 68 text

新卒研修以外のトレーニング 68 オンボーディング時のトレーニング ペパボのSREチームでよく⾏われるトレーニング ● ツールのハンズオン ● ポストモーテム ● プレモーテム

Slide 69

Slide 69 text

新卒研修以外のトレーニング 69 ● 検証環境でkubectlを叩いてみる、など ○ 実務で必要になるツールの導入 ○ 認証情報の取得などサービスごとに独特なものを 同期的にやりとりすることで素早く解決する ○ 音声で会話しながらSlackでコマンドをやりとりする ■ コマンドをコピペできるので便利 ● →は検証環境を作って壊してみるハンズオ ンをやった時のログの一部 ○ 案の定認証でつまづいた ハンズオン

Slide 70

Slide 70 text

新卒研修以外のトレーニング 70 ● 障害対応後は、オンボーディング者が システムへの理解を深めるチャンス ○ 「なぜここでこの対応をしたの?」と聞いたり ○ チャットログからコマンドを シャドウイングしたり ポストモーテム ポストモーテムを含むペパボのインシデント管理については https://speakerdeck.com/hiboma/insidentoresuponsuwozi-don g-hua-dezhi-yuan-suru-slack-bot-deren-ji-ti-nasekiyuriteidui-c e-woshi-xian-suru に詳しく説明されている

Slide 71

Slide 71 text

新卒研修以外のトレーニング 71 ここでは「障害を想定して対応を考えてみる」作業を指す 1. チーム内で出題者と回答者に分かれる 2. 出題者が、担当サービスに起きうる障害事象を伝える ● 過去のポストモーテムから題材を持ってくることもある 3. 回答者が、その障害が起きたときに取るべき行動を考えて述べる プレモーテム

Slide 72

Slide 72 text

72 今⽇話すこと 1. More SRE! - このセッションで扱う題材の導⼊ - 2. ⾃⼰紹介 3. SREスキル習得の課題 4. GMOペパボの新卒研修 4.1. 概要 4.2. 詳細 4.3. 設計時の考慮事項 5. 新卒研修以外のトレーニング 6. 個⼈的に効果的だった教材 7. まとめ

Slide 73

Slide 73 text

個⼈的に効果的だった教材 73 個⼈的に効果的だった教材 今後に研修として導⼊したいと考えている ● 書籍『SRE サイトリライアビリティエンジニアリングが”ザック リ” 「すっきり」 分かる本』 ● ワークショップ『the Art of SLOs』 ● ミニPCを買って⾃宅にサーバーを⽴てる

Slide 74

Slide 74 text

個⼈的に効果的だった教材 74 書籍 株式会社GGトップ『SRE サイトリライアビリティエンジニアリングが”ザックリ” 「すっき り」 分かる本: Googleが実践している新DevOps⽅法論』 ● いわゆる「SRE本」をやさしくしたような内容 ● ページ数は多くないので業務時間中に通読できる ● 新卒⼊社時にSREの考え⽅を⾃分に導⼊するのに 助かった

Slide 75

Slide 75 text

個⼈的に効果的だった教材 75 ワークショップ『the Art of SLOs』 ● SLI, SLOを策定する演習がメインのワークショップ ● Googleによって資料が公開されている ○ ライセンスは「クリエイティブ‧コモンズ CC-BY-4.0 ライセンス」 ○ https://sre.google/intl/ALL_jp/resources/practices-and-processes/art-of-slos/ ● 私はワークショップを受けていないが、資料を通読することで SLI/SLO運⽤が実践できた気持ちになれた

Slide 76

Slide 76 text

個⼈的に効果的だった教材 76 ⾃宅サーバー ● 「ミニPCおすすめだよ〜」と社内の先輩に⾔われたので買った ● 次の作業をやった ○ すでに⼊っているWindowsを消し⾶ばしてUbuntuを⼊れる ○ ネットワークにつないで他の端末からsshできるようにする ○ nginxを⽴てたりして遊ぶ ○ いつの間にかミニPCが⾃宅で繁殖していたのでk8sクラスタにした ● やはり実践は強⼒ ● 同じような経験が社内研修でできないかを考えている...

Slide 77

Slide 77 text

77 今⽇話すこと 1. More SRE! - このセッションで扱う題材の導⼊ - 2. ⾃⼰紹介 3. SREスキル習得の課題 4. GMOペパボの新卒研修 4.1. 概要 4.2. 詳細 4.3. 設計時の考慮事項 5. 新卒研修以外のトレーニング 6. 個⼈的に効果的だった教材 7. まとめ

Slide 78

Slide 78 text

まとめ 78 ● 組織の課題を解決する⼀⼿法として研修をする ● GMOペパボでは「SREを広げる」ために新卒研修や オンボーディングでトレーニングを実施している ● 知識と経験、HowとWhyを意識して研修設計したい まとめ

Slide 79

Slide 79 text

79 Thank you!

Slide 80

Slide 80 text

参考⽂献 80 ● 中原淳(2014). 『研修開発⼊⾨---会社で「教える」、競争優位を「つくる」』. ダイヤモンド社 ● 中原淳(2021). 『経営学習論: ⼈材育成を科学する』. ⼀般財団法⼈ 東京⼤学出版会 参考にした書籍