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

運用技術者組織の設計と運用 / Design and operation of operational engineer organization

運用技術者組織の設計と運用 / Design and operation of operational engineer organization

第12回 インターネットと運用技術シンポジウム(IOTS 2019)~運用管理する人”も”報われるシステムの構築を考える~ にて招待講演を行った際の資料です。

概要: https://www.iot.ipsj.or.jp/symposium/iots2019/
プログラム: https://www.iot.ipsj.or.jp/symposium/iots2019-program/

Takamura Narimichi

December 05, 2019
Tweet

More Decks by Takamura Narimichi

Other Decks in Technology

Transcript

  1. ӡ༻ٕज़ऀ૊৫ͷઃܭͱӡ༻
    ߴଜ ੒ಓʢ@nari_exʣ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex)

    View Slide

  2. ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 2

    View Slide

  3. about:me
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 3

    View Slide

  4. about:me
    • גࣜձࣾϋʔτϏʔπ
    • ιʔγϟϧήʔϜɺeϥʔχϯάɺECɺಈը഑৴ͳͲ༷ʑͳӡ༻Λܦݧ
    • ΤϯδχΞϦϯά૊৫ͷ੹೚ऀͱͯ͠ϚωδϝϯτΛܦݧ
    • ిؾ௨৴େֶ ৘ใཧ޻ֶ෦ֶ࢜ ֶ࢜
    • ଔݚͰ͸ Linux ΧʔωϧʹखΛՃ͑ɺI/O εέδϡʔϥͷվળఏҊΛߦ͏
    • άϩʔϏεܦӦେֶӃ ܦӦݚڀՊܦӦઐ߈ म࢜
    • ܦӦ΍ϚωδϝϯτͷΠϩϋΛֶͿ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 4

    View Slide

  5. ΞδΣϯμ
    • ։ൃɾӡ༻ʹؔ͢ΔύϥμΠϜͷมԽ
    • ӡ༻૊৫ͷઃܭ
    • ӡ༻૊৫ͷӡ༻ͱਐԽ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 5

    View Slide

  6. 1. ։ൃɾӡ༻ʹؔ͢ΔύϥμΠϜͷมԽ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 6

    View Slide

  7. ৘ใγεςϜΛऔΓר͘؀ڥͷٸ଎ͳมԽ
    • ސ٬ͱϢʔβʔͷཁٻมԽ
    • αʔϏεͷେن໛Խ
    • ςΫϊϩδʔͷมԽ
    => ։ൃʙӡ༻ʹ্͓͍ͯهͷมԽʹରԠ͢Δ࢓૊Έ͕ඞཁʹ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 7

    View Slide

  8. ؀ڥͷมԽʹΑͬͯු͖ூΓʹͳͬͨ՝୊
    • 1. ։ൃ૊৫ͱӡ༻૊৫ͷαΠϩԽ
    • 2. ϦϦʔεαΠΫϧͷݶք
    • ཁٻ࢓༷ͷมߋʹ௥ैͮ͠Β͍ैདྷͷ։ൃٕ๏
    • ϞϊϦεΞʔΩςΫνϟʹΑΔେن໛։ൃͷݶք
    • 3. ӡ༻૊৫ͷංେԽ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 8

    View Slide

  9. ՝୊1: ։ൃ૊৫ͱӡ༻૊৫ͷαΠϩԽ
    => ૊৫ؒͷڥքͷมԽ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 9

    View Slide

  10. ૊৫ؒͷڥքͷมԽ: DevOps1 2
    ։ൃ୲౰ऀͱӡ༻୲౰ऀ͕࿈ܞͯ͠ڠྗ͢Δʢ͞Βʹ྆୲౰ऀͷڥ໨΋͍͋·͍ʹ͢Δʣ։ൃख๏
    2 Kharnagy, Devops-toolchain, 2016
    1 John Allspaw, 10+ Deploys per Day: Dev and Ops Cooperation at Flickr, 2009
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 10

    View Slide

  11. ՝୊2: ϦϦʔεαΠΫϧͷݶք
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 11

    View Slide

  12. ཁٻ࢓༷ͷมߋʹ௥ैͮ͠Β͍ैདྷͷ։ൃٕ๏
    => ΞδϟΠϧܕ։ൃͷొ৔
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 12

    View Slide

  13. ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 13

    View Slide

  14. ϞϊϦεΞʔΩςΫνϟʹΑΔେن໛։ൃͷݶք
    => ϚΠΫϩαʔϏεͷొ৔
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 14

    View Slide

  15. ΞʔΩςΫνϟͷมԽ: ϚΠΫϩαʔϏε3ͷొ৔
    3 James Lewis, Microservices, 2014
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 15

    View Slide

  16. ϚΠΫϩαʔϏεͷొ৔
    • ૊৫ύϑΥʔϚϯεͷ࠷େԽ͕໨త
    • େن໛Խͯ͠΋খ͞ͳಠཱͨ͠૊৫ʹΑͬͯܧଓతͳϦϦʔεΛߦ͏͜ͱ
    ͕Ͱ͖Δ
    • ͦͷଞ
    • ো֐఺ͷہॴԽ
    • ։ൃɾӡ༻είʔϓͷݶఆ
    • εέʔϥϏϦςΟͷ࠷దԽ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 16

    View Slide

  17. enabling continuous delivery/deployment 4
    4 The microservice architecture is a means to an end: enabling continuous delivery/deployment, 2017
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 17

    View Slide

  18. Continuous Delivery 5
    5 Melanie Cebula, Developing Kubernetes Services at Airbnb Scale, 2018
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 18

    View Slide

  19. ิ଍: SOA ͷ࣮૷ʹΑΔ૊৫αΠϩͷղফ
    • SOA = αʔϏεࢦ޲ΞʔΩςΫνϟ
    • ϚΠΫϩαʔϏε΋͜ͷΞʔΩςΫνϟͷҰͭ
    • ϞϊϦεΞʔΩςΫνϟͰ͸ɺ໾ׂ෼୲ʹΑ֤ͬͯ૊৫ͷ໨త
    ͸ͦͷ໾ׂʢ։ൃɺӡ༻ͳͲʣͩͬͨ
    • SOA ʹมߋ͢Δ͜ͱͰɺνʔϜ಺ͷ໨త͕౷Ұ͞ΕαΠϩԽ
    ͕ղফ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 19

    View Slide

  20. ิ଍: ίϯ΢ΣΠͷ๏ଇͷԠ༻: ٯίϯ΢ΣΠઓུ
    • ίϯ΢ΣΠͷ๏ଇʢConway’s Lawʣ
    • ʮγεςϜΛઃܭ͢Δ૊৫͸ɺͦͷߏ଄Λͦͬ͘Γ·Ͷͨߏ
    ଄ͷઃܭΛੜΈग़ͯ͠͠·͏ʯ
    • ٯίϯ΢ΣΠઓུʢInverse Conway Maneuverʣ
    • ʮιϑτ΢ΣΞͷߏ଄͕૊৫ͷߏ଄ʹ൓ө͢Δʯ
    => ૊৫ߏ଄ΛΞʔΩςΫνϟ΁ੵۃతʹدͤΔͱ͍͏఺͕ॏཁ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 20

    View Slide

  21. ՝୊3: ӡ༻૊৫ͷංେԽ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 21

    View Slide

  22. SRE: Site Reliability Engineering ͷొ৔
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 22

    View Slide

  23. SRE ͷ஀ੜ
    • DevOps ͱ͸ผͷจ຺Ͱ 2000೥୅ʹ Google ͷࣾ಺χʔζΛຬ
    ͨͨ͢Ίʹੜ·Εͨ
    • ೔ຊͰ͸2015೥લޙ͔Βঃʑʹ޿·Γ͸͡Ίͨ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 23

    View Slide

  24. SRE ͱ͸
    • 2ͭͷݴ༿ͷུޠ
    • Site Reliability EngineeringʢSREʣ
    • ద੾ͳαΠτ৴པੑΛ࣮ݱ͢ΔͨΊͷٕज़ख๏ɾٕज़ྖҬ
    • ఻౷తͳ ops ͱ͸ҰઢΛը͢
    • Site Reliability EngineerʢSREsʣ
    • ্هख๏Λ࣮ݱ͢Δ৬छ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 24

    View Slide

  25. ఻౷తͳ ops
    • جຊతʹख࡞ۀʹཔΔ
    • γεςϜվળͷͨͼʹखॱॻʹखॱ͕௥Ճ͞ΕɺͲΜͲΜ޻਺
    ͕૿͍͑ͯ͘
    • ҆ఆՔಇΛॏࢹ͠ա͗Δ͋·ΓɺੵۃతͳػೳվળΛߦ͓͏ͱ
    ͢Δ Dev ͱରཱ͕ͪ͠
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 25

    View Slide

  26. SRE ͕ੜ·Εͨഎܠ
    • Motivation
    • େن໛ͷෳࡶͳίϯϐϡʔλγεςϜΛӡ༻͢Δͱ͖ɺγεςϜͷ੒௕ɾ֦େʹൺྫͯ͠ӡ༻ܥΤϯδχΞ
    ͷਓ਺͕૿͑Δঢ়ଶΛղফ͍ͨ͠
    • ։ൃνʔϜʢDevʣͱӡ༻νʔϜʢOpsʣͷରཱΛղܾ͍ͨ͠
    • Basic Concepts
    • γεςϜɾମ੍Λιϑτ΢ΣΞΤϯδχΞϦϯάͱͯ͋͠Δ΂͖࢟ʹ͢Δ
    • ૊৫ߏ଄తͳରཱΛͳ͘͢
    • Core Practices
    • ιϑτ΢ΣΞΤϯδχΞʹΑΔ఻౷త ops ͷ࠶ఆٛɾஔ׵
    • ্هͷཤߦɾਪਐɾҡ࣋ʹ͓͍ͯձ͕ࣾ SRE Λࢧ࣋ɾࢧԉ͢Δ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 26

    View Slide

  27. DevOpsʁSREʁ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 27

    View Slide

  28. class SRE implements DevOps6
    • DevOps ͱ͸ؔ܎ͳ͘ SRE ͸ੜ·Ε͕ͨɺ݁Ռతʹ DevOps ͷ఩ֶΛ
    ମݱ͍ͯͨ͠ͱ͍͏ྲྀΕ
    • SRE ͷϓϥΫςΟε͸ DevOps ͷൣғ֎ͷ΋ͷ΋ؚΜͰ͍Δ͕ɺൣғ
    ಺ͷ΋ͷʹ͍ͭͯ͸۩ମతͳख๏͕ఏҊ͞Ε͍ͯΔͱ͍͏࿩
    • ͜ͷؔ܎ੑΛҰݴͰද͢ͱ class SRE implements DevOps
    • DevOps ͱ SRE ͸ڝ߹͢Δख๏Ͱ͸ͳ͘਌͍͠༑ͩͪ
    6 SRE vs. DevOps: competing standards or close friends?
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 28

    View Slide

  29. ิ଍: DevOps ͱ SRE ͷؔ܎ੑ6
    ͨͱ͑͹ DevOps ͷ 5 ͭͷப͸ SRE ͷϓϥΫςΟεͱରԠͤ͞Δ͜ͱ͕Ͱ͖Δ
    DevOps SRE
    Reduce Organization Silos Share ownership
    Accept Failure as Normal SLOs & Blameless PMs
    Implement Gradual Change Reduce costs of failure
    Leverage Tooling & Automation Automate this year's job away
    Measure Everything Measure toil and reliablity
    6 SRE vs. DevOps: competing standards or close friends?
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 29

    View Slide

  30. ҙ༁
    DevOps SRE
    ૊৫ͷαΠϩΛݮΒ͢ ૊৫ؒͰΦʔφʔγοϓΛڞ༗͢Δ
    ΤϥʔͷൃੜΛલఏͱ͢Δ SLO Λఆٛ͠ɺඇ೉Λ൐Θͳ͍ϙετϞ
    ʔςϜΛߦ͏
    ஈ֊తʹมߋ͢Δ ࣦഊ࣌ͷίετΛݮΒ͢
    πʔϧͱࣗಈԽΛ׆༻͢Δ ໨ͷલͷ࢓ࣄͷࣗಈԽΛߦ͏
    શͯΛܭଌ͢Δ τΠϧͱ৴པੑͷܭଌΛߦ͏
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 30

    View Slide

  31. ৘ใγεςϜΛऔΓר͘؀ڥͷٸ଎ͳมԽ΁ͷରԠ
    • ैདྷख๏ɾΞʔΩςΫνϟʹΑΔ૊৫ͷαΠϩԽ
    • => ૊৫ؒͷڥքͷมԽʢڥքΛᐆດԽɺ૊৫໨తͷڞ௨Խʣ
    • ϦϦʔεαΠΫϧͷݶք
    • => ܧଓతσϦόϦΛ࣮ݱ͢Δ։ൃٕ๏ɾΞʔΩςΫνϟΛಋೖ
    • ӡ༻૊৫ͷංେԽ
    • => Site Reliability Engineering ʹΑͬͯ఻౷తͳӡ༻Λ࠶ఆٛ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 31

    View Slide

  32. 2. ӡ༻૊৫ͷઃܭ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 32

    View Slide

  33. ৽ͨͳύϥμΠϜ͸૊৫՝୊ͷສೳༀͰ͸ͳ͍
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 33

    View Slide

  34. Microservices Architecture ΍ DevOps ͱ͍ͬͨύϥμΠϜͰॳظ͔
    Βಈ͍͍ͯΔए͍૊৫΋͋Γ·͕͢ɺैདྷͷ Monolithic
    Architecture ΍ Server Client Model ͰͷچདྷͷγεςϜΞʔΩςΫ
    νϟʹແཧ͕ग़͖ͯͯ΋ɺ࠶ߏஙΛ͢Δʹ͸૊৫Λࢧ͑Δج൫Խ
    ͞Εͯ͠·͕ͬͨނͷ੍໿ʹۤ͠Ή૊৫΋͋Γ·͢ɻ 7
    7 ୈ12ճΠϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ ։࠵झࢫ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 34

    View Slide

  35. ϚΠΫϩαʔϏεͷ೉఺
    • ෼ࢄͨ͠σʔλͷҰ؏ੑ୲อͷ໰୊
    • ෼ࢄͨ͠αʔϏε΍ॲཧͷՄ؍ଌੑͷ໰୊
    • αʔϏε෼ׂڥքͷ໰୊
    • ...
    => ϝϦοτɾσϝϦοτΛצҊͨ݁͠Ռɺ͋͑ͯϚΠΫϩαʔϏ
    εΛ࠾༻͠ͳ͍ͱ͍͏બ୒ࢶ͸े෼͋Γ͏Δ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 35

    View Slide

  36. ΞʔΩςΫνϟɾ૊৫ߏ଄ͷܾఆ൛͕ͳ͍தɺ
    զʑ͸ͲͷΑ͏ʹӡ༻૊৫ΛσβΠϯ͢Ε͹Α͍ͷ͔
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 36

    View Slide

  37. ਓతࢿݯ؅ཧʢHRMʣ͔ΒώϯτΛಘΔ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 37

    View Slide

  38. HRMΛߏ੒͢Δ3ͭͷཁૉ
    • HRઓུ
    • ٻΊΔਓࡐ૾΍૊৫ͷن໛ͳͲΛߟ͑Δ
    • ૊৫ߏ଄
    • ෦໳ɺࢦش໋ྩܥ౷ɺ৬੹ɺݖݶͳͲΛܾΊΔ
    • HRMγεςϜʢࠓճ͸৮Ε·ͤΜʣ
    • ࠾༻ʙୀ৬·Ͱͷ੍౓Λઃܭɾӡ༻͢Δ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 38

    View Slide

  39. ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 39

    View Slide

  40. HR ઓུͷ࣮ફ
    • ӡ༻ٕज़ऀ͕ͦΕͧΕݸਓͱͯ͠Ͳ͏͋Δ΂͖͔Λ໌֬ʹ͢Δ
    • ૊৫શମͷจԽৢ੒ɺҙࢥ౷Ұʹͭͳ͕Δ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 40

    View Slide

  41. ͋Δ΂͖࢟ͷ໌จԽ: ϋʔτϏʔπࣾͷྫ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 41

    View Slide

  42. ͋Δ΂͖࢟ͷ໌จԽ: ϋʔτϏʔπࣾͷྫ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 42

    View Slide

  43. ૊৫ߏ଄
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 43

    View Slide

  44. ͜Ε·ͰͷύϥμΠϜ͔Βͷ஌ݟΛநग़͢Δ
    • ։ൃٕ๏ͷมભ͔Βͷֶͼ
    • ࡉ͔͍αΠΫϧΛܧଓతʹߦ͏࢓૊Έ͕ඞཁ
    • νʔϜͱ͍͏୯ҐͰͷ׆ಈ͕ϕετϓϥΫςΟε
    • ϞϊϦε͔ΒϚΠΫϩαʔϏε΁ͷมભ͔Βͷֶͼ
    • ੹೚ൣғͷڞ௨Խɺ࠷దԽ ʹΑͬͯαΠϩԽΛ๷͙
    • ڥքΛࡉ෼Խ͢Δ ͜ͱͰεέʔϥϏϦςΟΛอͭ
    • ιϑτ΢ΣΞͷڥքͱ૊৫ͷڥքΛҙࣝతʹἧ͑Δ ͜ͱͰύϑΥʔϚϯε͸޲্͢Δ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 44

    View Slide

  45. ૊৫࿦͔ΒώϯτΛಘΔ
    ૊৫ͷఆٛ: 2ਓҎ্ͷਓʑͷɺҙࣝతʹௐ੔͞Εͨॾ׆ಈɺॾྗͷମܥ8
    όʔφʔυͷ૊৫࿦ʹ͓͚Δ૊৫ͷఆ͔ٛΒಘΒΕͨॏཁͳؚҙ͸ҎԼͷ௨Γɻ
    • ૊৫Λߏ੒͢Δཁૉ͸ɺਓؒͦͷ΋ͷͰ͸ͳ͘ɺਓ͕ؒఏڙ͢Δ׆ಈ΍ྗͰ
    ͋Δ͜ͱ
    • ૊৫Λߏ੒͢Δॾ׆ಈɾॾྗ͸ɺମܥʢγεςϜʣͱͯ͠ޓ͍ʹ૬ޓ࡞
    ༻Λ΋ͭ͜ͱ
    8 Barnard, ܦӦऀͷ໾ׂ, 1938
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 45

    View Slide

  46. ૊৫ͷઃܭͱ͸
    όʔφʔυͷఆٛʹରͯ͠৘ใγεςϜͱ͍͏จ຺ͷ௥Ճͯ͠࠶ఆٛ
    • ૊৫ͱ͸
    • ਓͱٕज़ͷ૬ޓ࡞༻ʹΑͬͯܗ੒͞ΕΔΤίγεςϜ
    • ૊৫ͷઃܭͱ͸
    • ʢগͳ͘ͱ΋ʣ૊৫ͷαΠζɺ഑ஔɺڥքʢ੹೚ൣғʣɺ͓Α
    ͼ૬ޓ࡞༻ΛܾΊΔ͜ͱ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 46

    View Slide

  47. ૊৫ͷαΠζ
    • νʔϜͱ͍͏୯ҐΛ࠾༻
    • αΠζ͸ɺ7ʙ9ਓνʔϜͷू߹ମͱͯ͠ߏ੒͢Δ
    • μϯόʔ਺9Λϕʔεͱͨ͠ߟ͑ํ
    9 Dunbar's number, Dunbar, R. I. M. (1992)
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 47

    View Slide

  48. ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 48

    View Slide

  49. ڥքͷछྨ
    Ұൠతͳ૊৫ਤͷఆٛҎ֎ʹ΋׆ಈൣғ͝ͱʹఆٛ͞ΕΔ2ͭͷڥք͕͋Δ10
    ૊৫ͷू߹ମͷύϑΥʔϚϯε͸ୈೋɺୈࡾͷڥքΛ͍͔ʹίϯτϩʔϧ͢Δ͔͕
    ॏཁͱͳΔ11
    1. ୈҰڥք: ݫີͳʮ૊৫ʯ֓೦ʹ΋ͱͮ͘ڥք
    2. ୈೋڥք: υϝΠϯͱͯ͠ͷڥք
    3. ୈࡾڥք: ҙࣝతௐ੔ͷٴͿൣғͱͯ͠ͷڥք
    11 Niels Pflaeging, Organize for Complexity, 2014
    10 ܂ాߞଠ࿠ɾాඌխ෉, "૊৫࿦", 2010
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 49

    View Slide

  50. ૊৫ͷڥք
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 50

    View Slide

  51. Team Topologies12
    • Organizing business and technology
    team for fast flow.
    • 2019/09/17 ʹग़൛͞Εͨຊ
    12 Team Topology, Matthew SkeltonɾManuel Pais, 2019
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 51

    View Slide

  52. Team Topologies ͷ֓ཁ
    • ૊৫ઃܭͷͨΊͷڧྗͳςϯϓϨʔτΛఏҊ
    • 4ͭͷνʔϜλΠϓͱ3ͭͷ૬ޓ࡞༻λΠϓ
    • → ڥքͱ૬ޓ࡞༻ͷσβΠϯʹ໾ཱͭ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 52

    View Slide

  53. 4ͭͷνʔϜλΠϓ
    Stream-Aligned Team ͸૊৫ͷओཁͳνʔϜλΠϓͰ͋ΓɺଞͷνʔϜ͸ɺStream-Aligned Team ͷෛ୲Λܰݮ͢Δ
    • Stream-AlignedʢSAʣ Team
    • ୯Ұͷ੡඼·ͨ͸αʔϏεɺ୯Ұͷػೳηοτɺ·ͨ͸୯ҰͷϢʔβʔϖϧιφͷ࡞ۀϑϩʔΛ୲౰͢Δ
    • Enabling Team
    • ಛఆͷٕज़·ͨ͸੡඼؅ཧ෼໺ͰɺStream-Aligned Team ʹෆ଍͍ͯ͠ΔػೳΛ֫ಘͰ͖ΔΑ͏ʹࢧԉ͢Δ
    • ex. Infrastructure-as-Code enablement team
    • Complicated-Subsystem Team
    • ෳࡶͳαϒγεςϜΛར༻͢Δ Stream-Aligned Team ͷࢧԉΛ୲౰͢Δ
    • ex. ϏσΦॲཧίʔσοΫɺ਺ֶϞσϧɺϦΞϧλΠϜऔҾௐ੔ΞϧΰϦζϜɺۚ༥αʔϏεͷτϥϯβΫγϣϯใࠂγεςϜ...
    • Platform Team
    • ηϧϑαʔϏεAPIɺπʔϧɺαʔϏεɺ஌ࣝɺαϙʔτͷج൫Λ୲౰͢Δ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 53

    View Slide

  54. Stream-Aligned Team ʹඞཁͳػೳηοτ
    • Application security
    • Commercial and operational viability analysis
    • Design and architecture
    • Development and coding
    • Infrastructure and operability
    • Metrics and monitoring
    • Product management and ownership
    • Testing and quality assurance
    • User experience (UX)
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 54

    View Slide

  55. 3ͭͷ૬ޓ࡞༻ͷλΠϓ
    • Collaboration
    • ผͷνʔϜͱۓີʹ࿈ܞ͢Δ
    • X-as-a-Service
    • ࠷খݶͷίϥϘϨʔγϣϯͰԿ͔Λফඅ·ͨ͸ఏڙ͢Δ
    • Facilitating
    • ଞͷνʔϜΛࢧԉʢ·ͨ͸ࢧԉʣͯ͠ো֐Λղফ͢Δ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 55

    View Slide

  56. ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 56

    View Slide

  57. νʔϜؒʹ͓͚Δ૬ޓ࡞༻ͷଳҬ੍ޚ12
    12 Team Topology, Matthew SkeltonɾManuel Pais, 2019
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 57

    View Slide

  58. ࣮૷ྫ 12
    12 Team Topology, Matthew SkeltonɾManuel Pais, 2019
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 58

    View Slide

  59. ӡ༻૊৫ͷઃܭྫ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 59

    View Slide

  60. Microservices + SRE: ڥքͱ૬
    ޓ࡞༻
    • ֤ϚΠΫϩαʔϏεͷڥքΛ Stream-Aligned
    Team ͷڥքͱͯ͠ѻ͏
    • খن໛ͳαʔϏεͷӡ༻੹೚͸֤αʔϏενʔ
    Ϝɺେن໛ͳαʔϏεͷӡ༻͸SREνʔϜͱ͢Δ
    • SRE νʔϜ͸1ͭҎ্ͷϚΠΫϩαʔϏενʔϜ
    ͱڧ͍ؔ܎Λ࣋ͭ
    • SRE νʔϜͰͷࢧԉ͕ෆཁͳ৔߹͸ɺϚΠΫ
    ϩαʔϏενʔϜ͕ SREs Λॴ༗͢Δ͜ͱ͕
    ͋Δ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 60

    View Slide

  61. ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 61

    View Slide

  62. Microservices + SRE: ੹೚ൣғͷӡ༻
    • ։ൃνʔϜɾαʔϏενʔϜ͕։ൃͨ͠ιϑτ΢ΣΞΛ SRE ͕
    αϙʔτ͢Δ/͠ͳ͍Λ൑அ͢ΔͨΊͷਫ४Λ༧Ίنఆ͠ɺα
    ϙʔτࠔ೉ͳ৔߹ʹӡ༻੹೚ΛαʔϏενʔϜʹ໭͢
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 62

    View Slide

  63. Microservices + SRE: ίϥϘϨʔγϣϯίετͷ௿ݮ
    • ϓϥοτϑΥʔϜνʔϜ͸ɺηϧϑαʔϏεԽΛ࣮ݱ͢Δ͜ͱ
    ͰɺX-as-a-Service ʹΑΔ૬ޓ࡞༻Λߦ͏
    • ίϥϘϨʔγϣϯίετͷ࠷খԽ͕Ͱ͖Δ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 63

    View Slide

  64. ૊৫ͷઃܭͷ·ͱΊ
    • HRM ͷϑϨʔϜϫʔΫʹج͍ͮͯਐΊΔ
    • HRઓུɺ૊৫ߏ଄ɺHRMγεςϜ
    • ૊৫ߏ଄ͷઃܭͰ͸ҎԼ4఺Λఆٛ͢Δ
    • ૊৫ͷαΠζɺ഑ஔɺڥքɺ૬ޓ࡞༻
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 64

    View Slide

  65. 3. ӡ༻૊৫ͷӡ༻
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 65

    View Slide

  66. ఻౷తͳӡ༻૊৫
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 66

    View Slide

  67. ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 67

    View Slide

  68. ఻౷తͳ૊৫ʹ͓͚Δτϙϩδͷબ୒
    • ఻౷తͳ૊৫Ͱ͸ɺCollaborationʢಛʹߴίετʣ΍ Platform-
    as-a-Service ͱ͍͏τϙϩδΛબ୒͢Δඞཁ͕͋Δ
    • ఻౷తͳ૊৫͸؆қͳίϥϘϨʔγϣϯ΋೉͍͠΄ͲʹαΠϩ
    Խ͍ͯ͠Δ৔߹͕͋Δ
    • ࠓճ͸͜ͷέʔεΛର৅ʹஈ֊తͳνʔϜͮ͘ΓΛߟ͑Δ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 68

    View Slide

  69. ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 69

    View Slide

  70. ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 70

    View Slide

  71. ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 71

    View Slide

  72. ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 72

    View Slide

  73. ӡ༻૊৫ͷӡ༻
    • ӡ༻ʹऴΘΓ͸ͳ͍
    • ৽ٕज़ɺ৽ύϥμΠϜͳͲɺ؀ڥͷมԽʹ௥ै͢ΔͨΊͷ࢓૊Έ͕ඞ
    ཁʹͳΔ
    • ex. ૬ޓ࡞༻ͷλΠϓมߋɺνʔϜͷ࠶ฤɺੵۃతͳ Enabling νʔ
    Ϝͷߏங
    • X-as-a-Service ԽʹΑͬͯෆཁͳίϥϘϨʔγϣϯΛऔΓআ͘͜ͱ͸
    ύϑΥʔϚϯε޲্ͷΧΪͱͳΔ
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 73

    View Slide

  74. X-as-a-Service ԽͷՌͯ
    • X-as-a-Service ԽʢνʔϜAPIԽʣΛ௥ٻͨ͠ઌʹӡ༻ʹ͓͚Δσδλ
    ϧτϥϯεϑΥʔϝʔγϣϯʢDXʣͷੈք͕͋Δ
    • DXͷੈքʹ͓͚Δӡ༻ٕज़ऀͷՁ஋͸ɺਓ΍ػցͱ Collaboration ͠
    ͳ͕Βຊ࣭తͳ՝୊Λղܾ͢Δ͜ͱʢAPIԽͰ͖ͳ͍͜ͱʣʹऩଋ͢
    Δ
    • ݪҼΑΓࠜڌɺ༧ଌΑΓఏҊɺࣄ࣮ΑΓ݁࿦
    • ӡ༻ٕज़ऀ͕շదʹΤϯδχΞϦϯάΛߦ͏͜ͱ͕Ͱ͖Δੈքઢ΁
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 74

    View Slide

  75. ࣋ଓతʹਐԽ͢Δ૊৫Λ໨ࢦͯ͠
    • ਐԽͷτϦΨʔͷݕ஌ख๏ͷ໛ࡧ
    • ex. ૊৫ؒͷ૬ޓ࡞༻ʹ͓͚Δ Observability ͷ௥ٻͱ૬ޓ࡞
    ༻ͷมߋΛ൑அ͢ΔͨΊͷ͖͍͠஋ͷݕ౼
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 75

    View Slide

  76. ·ͱΊ
    • ։ൃɾӡ༻ʹؔ͢ΔύϥμΠϜͷมԽΛ͓͞Β͍
    • ૊৫ύϑΥʔϚϯεΛ࠷େԽ͢ΔͨΊʹ༷ʑͳٕ๏ɾΞʔΩςΫνϟ͕ొ

    • ύϥμΠϜɺHRM΍૊৫࿦ͷ஌ݟΛݩʹӡ༻૊৫ͷઃܭɾӡ༻Λߟ࡯
    • αΠζɺ഑ஔɺڥքɺ૬ޓ࡞༻͕૊৫ઃܭͷ؊
    • ϚΠΫϩαʔϏε+SREɺ఻౷తͳ૊৫Ͱͷద༻ྫΛ঺հ
    • ӡ༻ʹ͓͚Δ DX ʹର͢Δߟ࡯ͱ࣋ଓతʹਐԽ͢Δ૊৫ʹ͓͚Δ՝୊Λڞ༗
    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 76

    View Slide