Slide 1

Slide 1 text

˜-:$PSQPSBUJPO 43&ͷΑ͏ʹา͖ɺ 43&ͷΑ͏ʹ໐͘ͱ͖ʹ -*/&Ϡϑʔגࣜձࣾ 4FSWJDF&NCFEEFE43& NBSV ゆるSRE勉強会#6 2024/06/06

Slide 2

Slide 2 text

˜-:$PSQPSBUJPO ࠓ೔෼Ͱ࿩͍ͨ͠ ͨͬͨҰͭͷ͜ͱ

Slide 3

Slide 3 text

˜-:$PSQPSBUJPO 48&TͷࢹքΛҙࣝͯ͠ 43&JOHΛ͢Δͱָ

Slide 4

Slide 4 text

˜-:$PSQPSBUJPO ͜ͷεϥΠυͰ࢖͏༻ޠ SREing Site Reliability Engineering SREプラクティス自体のこと。誰がやるかは関係なし。 SREs Site Reliability Engineers SREingに責任を持つ専門のエンジニアロールのこと。 SWEs Software Engineers SREsと対比した時にサービス開発のエンジニアのこと

Slide 5

Slide 5 text

˜-:$PSQPSBUJPO ͜ͷεϥΠυͰ࢖͏༻ޠ SREing Site Reliability Engineering SREプラクティス自体のこと。誰がやるかは関係なし。 SREs Site Reliability Engineers SREingに責任を持つ専門のエンジニアロールのこと。 SWEs Software Engineers SREsと対比した時にサービス開発のエンジニアのこと 最初の文章を翻訳すると

Slide 6

Slide 6 text

˜-:$PSQPSBUJPO αʔϏε։ൃΤϯδχΞͷ ࢹքΛҙࣝͯ͠ 43&ϓϥΫςΟεΛ࣮ફ͢Δͱָ

Slide 7

Slide 7 text

˜-:$PSQPSBUJPO ʮίϯ΢ΣΠͷ๏ଇʯʮνʔϜϑΝʔετࢥߟʯ ։ൃ૊৫ΛͭͷνʔϜʹ෼ྨɻ ͦΕͧΕͷνʔϜ͕ͲͷΑ͏ʹ࿈ܞ͢Δ͔Λղઆɻ ॻ੶ʮνʔϜτϙϩδʔʯ

Slide 8

Slide 8 text

˜-:$PSQPSBUJPO ॻ੶ʮνʔϜτϙϩδʔʯ༻ޠ Stream Aligned Team ビジネス価値提供の継続的な流れ(ストリーム)を一貫して担当する。 プロダクト・サービスの開発運用がここに含まれる。 Enabling Team Stream Aligned Teamがその時点で持っていない必要な能力を獲得することを支援する。 複数のStream Aligned Teamを横断的に支援する。 Platform Team Stream Aligned Teamが下位サービスの再開発する必要性をなくし、認知負荷を下げるよ うにする。 最も単純なプラットフォームは下位サービスのリンク集のドキュメント。 Complicated Subsystem Team 機械学習や動画エンコーディングなどの特定分野のスペシャリスト。

Slide 9

Slide 9 text

˜-:$PSQPSBUJPO ୅දతͳ43&JOHνʔϜ࣮૷ྫ Embedded SRE SWEsによるSREing Stream Aligned Team 特定プロダクト・サービスの開発運用の中で信頼性を制御する。 サービスのオンコールにも入る。 Enabling SRE Enabling Team Stream Aligned Teamがその時点で持っていない必要な能力を獲得す ることを支援する。 e.g. SLI/SLO, オブザーバビリティ, ポストモーテム Platform SRE Platform Team 信頼性に関連するツールを管理し、as a Serviceとして提供する。 N/A Complicated Subsystem Team 機械学習や動画エンコーディングなどの特定分野のスペシャリス ト。

Slide 10

Slide 10 text

˜-:$PSQPSBUJPO ୅දతͳ43&JOHνʔϜ࣮૷ྫ Embedded SRE SWEsによるSREing Stream Aligned Team 特定プロダクト・サービスの開発運用の中で信頼性を制御する。 Enabling SRE Enabling Team Stream Aligned Teamがその時点で持っていない必要な能力を獲得す ることを支援する。 e.g. SLI/SLO, オブザーバビリティ, ポストモーテム Platform SRE Platform Team 信頼性に関連するツールを管理し、as a Serviceとして提供する。 N/A Complicated Subsystem Team 機械学習や動画エンコーディングなどの特定分野のスペシャリス ト。 先ほどの文章をさらに翻訳すると

Slide 11

Slide 11 text

˜-:$PSQPSBUJPO 4USFBN"MJHOFE5FBNͷࢹքΛҙࣝͯ͠ 4USFBN"MJHOFE5FBNͷ ͍࣋ͬͯͳ͍ඞཁͳೳྗͷ֫ಘΛࢧԉ͢Δͱ &OBCMJOH43&͸ָ

Slide 12

Slide 12 text

˜-:$PSQPSBUJPO &OBCMJOH43&͸ɺ 4USFBN"MJHOFE5FBNͷ ࢹքΛҙࣝ͠ͳ͍ͱਏ͍ (逆裏対偶でいう裏)

Slide 13

Slide 13 text

˜-:$PSQPSBUJPO ॻ੶ʮνʔϜτϙϩδʔʯ༻ޠ Stream Aligned Team ビジネス価値提供の継続的な流れ(ストリーム)を一貫して担当する。 プロダクト・サービスの開発運用がここに含まれる。 Enabling Team Stream Aligned Teamがその時点で持っていない必要な能力を獲得することを支援する。 複数のStream Aligned Teamを横断的に支援する。 Platform Team Stream Aligned Teamが下位サービスの再開発する必要性をなくし、認知負荷を下げるよ うにする。 最も単純なプラットフォームは下位サービスのリンク集のドキュメント。 Complicated Subsystem Team 機械学習や動画エンコーディングなどの特定分野のスペシャリスト。

Slide 14

Slide 14 text

˜-:$PSQPSBUJPO • 4USFBN"MJHOFE5FBN͕ • 意: 私たちEnabling teamとは別チームであり、ビジネスストリームに責任を持つチームが • ͦͷ࣌఺Ͱ͍࣋ͬͯͳ͍ • 意: 獲得するのに多かれ少なかれ学習の負荷がかかる • ඞཁͳೳྗΛ • 意: 必要だと認識している、本当に必要な能⼒を ֫ಘ͢Δ͜ͱΛࢧԉ͢Δɻ &OBCMJOH5FBNͷ೉͠͞ “Stream Aligned Teamがその時点で持っていない必要な能力を獲得することを支援する”

Slide 15

Slide 15 text

˜-:$PSQPSBUJPO • 4USFBN"MJHOFE5FBN͕ • 意: 私たちEnabling teamとは別チームであり、ビジネスストリームに責任を持つチームが • ͦͷ࣌఺Ͱ͍࣋ͬͯͳ͍ • 意: 獲得するのに多かれ少なかれ学習の負荷がかかる • ඞཁͳೳྗΛ • 意: 必要だと認識している、本当に必要な能⼒を ֫ಘ͢Δ͜ͱΛࢧԉ͢Δɻ &OBCMJOH5FBNͷ೉͠͞ “Stream Aligned Teamがその時点で持っていない必要な能力を獲得することを支援する”

Slide 16

Slide 16 text

˜-:$PSQPSBUJPO • ྑ͍໰Λࢥ͍ͭ͘͜ͱ͕Ͱ͖Ε͹ɺେ൒ͷ՝୊͸ղܾͰ͖Δ • ղܾࡦΛ஌Βͳ͍ͱɺ໰͍Λࢥ͍ͭ͘͜ͱ͸೉͍͠ ໰୊ղܾͷδϨϯϚ 「私は地球を救うために1時間の時間を与えられたとしたら、 59 分を問題の定義に使い、1分を解決策の策定に使うだろう」

Slide 17

Slide 17 text

˜-:$PSQPSBUJPO • ྑ͍໰Λࢥ͍ͭ͘͜ͱ͕Ͱ͖Ε͹ɺେ൒ͷ՝୊͸ղܾͰ͖Δ • ղܾࡦΛ஌Βͳ͍ͱɺ໰͍Λࢥ͍ͭ͘͜ͱ͸೉͍͠ ʮࠓͷνʔϜͷ՝୊͸ͳΜͰ͔͢ʁ43&νʔϜʹԿΛղܾͯ͠΋Β͍͍ͨͰ͔͢ʁʯ ʮYYYYʯ ˢ͜Ε͕ճ౴Ͱ͖Δ48&TͷνʔϜ͸ɺͦ΋ͦ΋௒༏लɻ ͭ·Γɺ4USFBN"MJHOFE5FBN͕ղܾ͢΂͖՝୊ͩͱೝࣝ͢Δεςοϓ͔Β࢝ΊΔඞཁ͕͋Δɻ ໰୊ղܾͷδϨϯϚ

Slide 18

Slide 18 text

˜-:$PSQPSBUJPO • 4USFBN"MJHOFE5FBN͕ • 意: 私たちEnabling teamとは別チームであり、ビジネスストリームに責任を持つチームが • ͦͷ࣌఺Ͱ͍࣋ͬͯͳ͍ • 意: 獲得するのに多かれ少なかれ学習の負荷がかかる • ඞཁͳೳྗΛ • 意: 必要だと認識している、本当に必要な能⼒を ֫ಘ͢Δ͜ͱΛࢧԉ͢Δɻ &OBCMJOH5FBNͷ೉͠͞ “Stream Aligned Teamがその時点で持っていない必要な能力を獲得することを支援する”

Slide 19

Slide 19 text

˜-:$PSQPSBUJPO #UP#Ͱ͸lιϦϡʔγϣϯ͸ɺ#VSOJOHOFFETΛղܾͰ͖ͳ͚Ε͹ಋೖͰ͖ͳ͍zͱݴΘΕΔ͜ͱ΋͋Δɻ ՝୊ɾχʔζΛೝࣝͯ͠΋ɺ༏ઌ౓ͷؔ܎ͰઌૹΓʹͳ͍ͬͯΔ΋ͷ͸େྔʹ͋Δɻ Ͳ͏΍ͬͯ&OBCMJOH5FBN͕4USFBN"MJHOFE5FBN಺ͷ՝୊ͷ༏ઌ౓Λ্͛Δ͔ʁ #VSOJOHOFFET Burning needsとは 「頭に火がついてるような、今すぐ解決しないとまずい課題」のこと

Slide 20

Slide 20 text

˜-:$PSQPSBUJPO • ো֐΍ࣄނΛᑏࢠʹ࢖ͬͯɺ༧๷΍վળͱͯ͠༏ઌ౓Λ্͛Δ • 障害が発生してから予防策を考えるのではなく、優先度的に今実施できない予防策を予め検討し ておくイメージ • 燃えそうなところにあえて火をつけるのも一つの手段 જࡏతͳΠγϡʔͷ༏ઌ౓ͷ্͛ํ

Slide 21

Slide 21 text

˜-:$PSQPSBUJPO • ো֐΍ࣄނΛᑏࢠʹ࢖ͬͯɺ༧๷΍վળͱͯ͠༏ઌ౓Λ্͛Δ • 障害が発生してから予防策を考えるのではなく、優先度的に今実施できない予防策を予め検討し ておくイメージ • 燃えそうなところにあえて火をつけるのも一つの手段 • ໰୊ΛΠγϡʔͱͯ͠໌֬ʹݴޠԽ͢Δ • イシューをProposalとして文書化して、チームに共有する જࡏతͳΠγϡʔͷ༏ઌ౓ͷ্͛ํ DeNA南場代表取締役会⻑「⾔語化するとその問題がより深刻になって進んでしまう」 引用: Youtube 【南場ガチ1on1】チームにおける『価値が⾼い⼈』とは?!

Slide 22

Slide 22 text

˜-:$PSQPSBUJPO 4USFBN"MJHOFE5FBN಺Ͱͷ &OBCMJOH·Ͱͷεςοϓ これをStream Aligned Teamの外にいるEnabling Teamがサポートする必要がある Stream Aligned Teamの持っているニーズ・イシューに気づく ニーズ・イシューをStream Aligned Team内で言語化する ソリューションを導入する ソリューションを使いこなす

Slide 23

Slide 23 text

˜-:$PSQPSBUJPO 4USFBN"MJHOFE5FBN಺Ͱͷ &OBCMJOH·Ͱͷεςοϓ どれも重要だが、最初の1ステップ目が一番重要でかつ難易度が高い Stream Aligned Teamの持っているニーズ・イシューに気づく ニーズ・イシューをStream Aligned Team内で言語化する ソリューションを導入する ソリューションを使いこなす

Slide 24

Slide 24 text

˜-:$PSQPSBUJPO • ఆظతͳ૬ஊձٞΛ࣋ͯ͹े෼͔ʁ • 一緒に働いてない(e.g. コードレビュー)チームに、会議で背景から説明するのは大変すぎる • これで十分に課題を言語化して説明できるチームは、超優秀 4USFBN"MJHOFE5FBNʹ୅Θͬͯ &OBCMJOH 5FBN͕ϖΠϯϙΠϯτʹؾͮͨ͘Ίʹ SREs サービス SWEs

Slide 25

Slide 25 text

˜-:$PSQPSBUJPO • ఆظతͳ૬ஊձٞΛ࣋ͯ͹े෼͔ʁ • 一緒に働いてない(e.g. コードレビュー)チームに、会議で背景から説明するのは大変すぎる • これで十分に課題を言語化して説明できるチームは、超優秀 4USFBN"MJHOFE5FBNʹ୅Θͬͯ &OBCMJOH 5FBN͕ϖΠϯϙΠϯτʹؾͮͨ͘Ίʹ SREs サービス SWEs 同じチームとして働き、気軽に相談できる関係性の構築が必須

Slide 26

Slide 26 text

˜-:$PSQPSBUJPO ҟͳΔదਖ਼΍໾ׂΛ࣋ͭ฼਌ͱ෕਌͕ɺ Ұॹʹࢠҭͯ͢ΔதͰͷ༷ʑͳށ࿭͍Λॻ͍ͨ ෕਌ࢹ఺ͷΤοηΠɻ ώϯτ͸ҭࣇຊʹɾɾɾʁ

Slide 27

Slide 27 text

˜-:$PSQPSBUJPO Ұॹʹ͍Δ͸ͣͳͷʹɺ൴Β͕ԿΛݟ͍ͯΔ͔ͱ͍͏ͱʜ ฼਌ͱ੺ͪΌΜͷࢹք 引用: ヨチヨチ父 ヨシタケシンスケ

Slide 28

Slide 28 text

˜-:$PSQPSBUJPO ෕਌ͷࢹքʹ͸ৗʹೋਓ͕͍Δɻ ෕਌ࢹ఺ʮҰॹʹҭࣇΛ͍ͯ͠Δʯ ฼਌ࢹ఺ʮࢲ͕ҭࣇΛ͍ͯ͠Δʯ ͜ͷখ͞ͳೝࣝͷᴥᴪ͕ࢸΔॴͰൃੜ͍ͯ͠Δɻ ฼਌͕ѱ͍ͱ͔Ͱ͸ͳ͘ɺ͜Ε͸࢓ํ͕ͳ͍ɻ ෕਌ͷࢹ఺Ͱ͸Ұॹʹ͍Δͷʹʜ 引用: ヨチヨチ父 ヨシタケシンスケ

Slide 29

Slide 29 text

˜-:$PSQPSBUJPO 48&Tͷࢹք ママの視界に「パパと赤ちゃん」がセットで入ると、 ママにとって、パパの「イクメン感」「家族の一員感」がアップ。 パパはなるべく「ママの視界に入り込む立ち位置」を心がけましょう。 引用: ヨチヨチ父 ヨシタケシンスケ

Slide 30

Slide 30 text

˜-:$PSQPSBUJPO ࢲ͕ͨͪͨͲΓண͍ͨ&OBCMJOH5FBN खஈͱͯ͠ͷ&NCFEEFE Embedded SRE SWEsによるSREing Stream Aligned Team 特定プロダクト・サービスの開発運用の中で信頼性を制御する。 Enabling SRE Enabling Team Stream Aligned Teamがその時点で持っていない必要な能力を獲得す ることを支援する。 e.g. SLI/SLO, オブザーバビリティ, ポストモーテム Platform SRE Platform Team 信頼性に関連するツールを管理し、as a Serviceとして提供する。 N/A Complicated Subsystem Team 機械学習や動画エンコーディングなどの特定分野のスペシャリス ト。 よくある言い換え: 「Enabling Teamは常に現場にいる必要がある」 「Enabling Teamは“象牙の塔”を避けよう」 「“あなたたちわたしたち”を避けよう」

Slide 31

Slide 31 text

˜-:$PSQPSBUJPO 4USFBN"MJHOFE5FBNͷࢹք಺Ͱ׆ಈ͢ΔΑ͏ʹҙࣝͭͭ͠ &OBCMJOHͷखஈͱͯ͠ͷ&NCFEEFEΛߦ͏ͱ 4USFBN"MJHOFE5FBN͕਎ۙʹײͯ͘͡ΕΔΑ͏ʹͳΔɻ ͢Δͱɺ&OBCMJOH 43&͸ΧδϡΞϧͳ૬ஊΛड͚ΒΕͨΓ খ͞ͳϖΠϯϙΠϯτΛर͍΍͘͢ͳΔ͜ͱͰ 4USFBN"MJHOFE5FBN͕·ͩ࣋ͬͯͳ͍͕ඞཁͳೳྗͷ ൃݟɾݴޠԽɾղܾΛࢧԉ͠΍͘͢ͳָͬͯɻ

Slide 32

Slide 32 text

˜-:$PSQPSBUJPO 48&TͷࢹքΛҙࣝͯ͠ 43&JOHΛ͢Δͱָ

Slide 33

Slide 33 text

˜-:$PSQPSBUJPO 4USFBN"MJHOFE5FBNͷࢹք಺Ͱ׆ಈ͢ΔΑ͏ʹҙࣝͭͭ͠ &OBCMJOHͷखஈͱͯ͠ͷ&NCFEEFEΛߦ͏ͱ 4USFBN"MJHOFE5FBN͕਎ۙʹײͯ͘͡ΕΔΑ͏ʹͳΔɻ ͢Δͱɺ&OBCMJOH 43&͸ΧδϡΞϧͳ૬ஊΛड͚ΒΕͨΓ খ͞ͳϖΠϯϙΠϯτΛर͍΍͘͢ͳΔ͜ͱͰ 4USFBN"MJHOFE5FBN͕·ͩ࣋ͬͯͳ͍͕ඞཁͳೳྗͷ ൃݟɾݴޠԽɾղܾΛࢧԉ͠΍͘͢ͳָͬͯɻ