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/

Ed424b1e857828ce69b0fdf4c3291d2e?s=128

Takamura Narimichi

December 05, 2019
Tweet

Transcript

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

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

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

  4. about:me • גࣜձࣾϋʔτϏʔπ • ιʔγϟϧήʔϜɺeϥʔχϯάɺECɺಈը഑৴ͳͲ༷ʑͳӡ༻Λܦݧ • ΤϯδχΞϦϯά૊৫ͷ੹೚ऀͱͯ͠ϚωδϝϯτΛܦݧ • ిؾ௨৴େֶ ৘ใཧ޻ֶ෦ֶ࢜

    ֶ࢜ • ଔݚͰ͸ Linux ΧʔωϧʹखΛՃ͑ɺI/O εέδϡʔϥͷվળఏҊΛߦ͏ • άϩʔϏεܦӦେֶӃ ܦӦݚڀՊܦӦઐ߈ म࢜ • ܦӦ΍ϚωδϝϯτͷΠϩϋΛֶͿ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 4
  5. ΞδΣϯμ • ։ൃɾӡ༻ʹؔ͢ΔύϥμΠϜͷมԽ • ӡ༻૊৫ͷઃܭ • ӡ༻૊৫ͷӡ༻ͱਐԽ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05)

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

  7. ৘ใγεςϜΛऔΓר͘؀ڥͷٸ଎ͳมԽ • ސ٬ͱϢʔβʔͷཁٻมԽ • αʔϏεͷେن໛Խ • ςΫϊϩδʔͷมԽ => ։ൃʙӡ༻ʹ্͓͍ͯهͷมԽʹରԠ͢Δ࢓૊Έ͕ඞཁʹ ୈ12ճ

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

    ϞϊϦεΞʔΩςΫνϟʹΑΔେن໛։ൃͷݶք • 3. ӡ༻૊৫ͷංେԽ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 8
  9. ՝୊1: ։ൃ૊৫ͱӡ༻૊৫ͷαΠϩԽ => ૊৫ؒͷڥքͷมԽ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi

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

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

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

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

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

    | Takamura Narimichi (@nari_ex) 15
  16. ϚΠΫϩαʔϏεͷొ৔ • ૊৫ύϑΥʔϚϯεͷ࠷େԽ͕໨త • େن໛Խͯ͠΋খ͞ͳಠཱͨ͠૊৫ʹΑͬͯܧଓతͳϦϦʔεΛߦ͏͜ͱ ͕Ͱ͖Δ • ͦͷଞ • ো֐఺ͷہॴԽ

    • ։ൃɾӡ༻είʔϓͷݶఆ • εέʔϥϏϦςΟͷ࠷దԽ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 16
  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
  18. Continuous Delivery 5 5 Melanie Cebula, Developing Kubernetes Services at

    Airbnb Scale, 2018 ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 18
  19. ิ଍: SOA ͷ࣮૷ʹΑΔ૊৫αΠϩͷղফ • SOA = αʔϏεࢦ޲ΞʔΩςΫνϟ • ϚΠΫϩαʔϏε΋͜ͷΞʔΩςΫνϟͷҰͭ •

    ϞϊϦεΞʔΩςΫνϟͰ͸ɺ໾ׂ෼୲ʹΑ֤ͬͯ૊৫ͷ໨త ͸ͦͷ໾ׂʢ։ൃɺӡ༻ͳͲʣͩͬͨ • SOA ʹมߋ͢Δ͜ͱͰɺνʔϜ಺ͷ໨త͕౷Ұ͞ΕαΠϩԽ ͕ղফ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 19
  20. ิ଍: ίϯ΢ΣΠͷ๏ଇͷԠ༻: ٯίϯ΢ΣΠઓུ • ίϯ΢ΣΠͷ๏ଇʢConway’s Lawʣ • ʮγεςϜΛઃܭ͢Δ૊৫͸ɺͦͷߏ଄Λͦͬ͘Γ·Ͷͨߏ ଄ͷઃܭΛੜΈग़ͯ͠͠·͏ʯ •

    ٯίϯ΢ΣΠઓུʢInverse Conway Maneuverʣ • ʮιϑτ΢ΣΞͷߏ଄͕૊৫ͷߏ଄ʹ൓ө͢Δʯ => ૊৫ߏ଄ΛΞʔΩςΫνϟ΁ੵۃతʹدͤΔͱ͍͏఺͕ॏཁ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 20
  21. ՝୊3: ӡ༻૊৫ͷංେԽ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 21

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

    Narimichi (@nari_ex) 22
  23. SRE ͷ஀ੜ • DevOps ͱ͸ผͷจ຺Ͱ 2000೥୅ʹ Google ͷࣾ಺χʔζΛຬ ͨͨ͢Ίʹੜ·Εͨ •

    ೔ຊͰ͸2015೥લޙ͔Βঃʑʹ޿·Γ͸͡Ίͨ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 23
  24. SRE ͱ͸ • 2ͭͷݴ༿ͷུޠ • Site Reliability EngineeringʢSREʣ • ద੾ͳαΠτ৴པੑΛ࣮ݱ͢ΔͨΊͷٕज़ख๏ɾٕज़ྖҬ

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

    Dev ͱରཱ͕ͪ͠ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 25
  26. SRE ͕ੜ·Εͨഎܠ • Motivation • େن໛ͷෳࡶͳίϯϐϡʔλγεςϜΛӡ༻͢Δͱ͖ɺγεςϜͷ੒௕ɾ֦େʹൺྫͯ͠ӡ༻ܥΤϯδχΞ ͷਓ਺͕૿͑Δঢ়ଶΛղফ͍ͨ͠ • ։ൃνʔϜʢDevʣͱӡ༻νʔϜʢOpsʣͷରཱΛղܾ͍ͨ͠ •

    Basic Concepts • γεςϜɾମ੍Λιϑτ΢ΣΞΤϯδχΞϦϯάͱͯ͋͠Δ΂͖࢟ʹ͢Δ • ૊৫ߏ଄తͳରཱΛͳ͘͢ • Core Practices • ιϑτ΢ΣΞΤϯδχΞʹΑΔ఻౷త ops ͷ࠶ఆٛɾஔ׵ • ্هͷཤߦɾਪਐɾҡ࣋ʹ͓͍ͯձ͕ࣾ SRE Λࢧ࣋ɾࢧԉ͢Δ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 26
  27. DevOpsʁSREʁ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 27

  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
  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
  30. ҙ༁ DevOps SRE ૊৫ͷαΠϩΛݮΒ͢ ૊৫ؒͰΦʔφʔγοϓΛڞ༗͢Δ ΤϥʔͷൃੜΛલఏͱ͢Δ SLO Λఆٛ͠ɺඇ೉Λ൐Θͳ͍ϙετϞ ʔςϜΛߦ͏ ஈ֊తʹมߋ͢Δ

    ࣦഊ࣌ͷίετΛݮΒ͢ πʔϧͱࣗಈԽΛ׆༻͢Δ ໨ͷલͷ࢓ࣄͷࣗಈԽΛߦ͏ શͯΛܭଌ͢Δ τΠϧͱ৴པੑͷܭଌΛߦ͏ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 30
  31. ৘ใγεςϜΛऔΓר͘؀ڥͷٸ଎ͳมԽ΁ͷରԠ • ैདྷख๏ɾΞʔΩςΫνϟʹΑΔ૊৫ͷαΠϩԽ • => ૊৫ؒͷڥքͷมԽʢڥքΛᐆດԽɺ૊৫໨తͷڞ௨Խʣ • ϦϦʔεαΠΫϧͷݶք • =>

    ܧଓతσϦόϦΛ࣮ݱ͢Δ։ൃٕ๏ɾΞʔΩςΫνϟΛಋೖ • ӡ༻૊৫ͷංେԽ • => Site Reliability Engineering ʹΑͬͯ఻౷తͳӡ༻Λ࠶ఆٛ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 31
  32. 2. ӡ༻૊৫ͷઃܭ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 32

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

  34. Microservices Architecture ΍ DevOps ͱ͍ͬͨύϥμΠϜͰॳظ͔ Βಈ͍͍ͯΔए͍૊৫΋͋Γ·͕͢ɺैདྷͷ Monolithic Architecture ΍ Server

    Client Model ͰͷچདྷͷγεςϜΞʔΩςΫ νϟʹແཧ͕ग़͖ͯͯ΋ɺ࠶ߏஙΛ͢Δʹ͸૊৫Λࢧ͑Δج൫Խ ͞Εͯ͠·͕ͬͨނͷ੍໿ʹۤ͠Ή૊৫΋͋Γ·͢ɻ 7 7 ୈ12ճΠϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ ։࠵झࢫ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 34
  35. ϚΠΫϩαʔϏεͷ೉఺ • ෼ࢄͨ͠σʔλͷҰ؏ੑ୲อͷ໰୊ • ෼ࢄͨ͠αʔϏε΍ॲཧͷՄ؍ଌੑͷ໰୊ • αʔϏε෼ׂڥքͷ໰୊ • ... =>

    ϝϦοτɾσϝϦοτΛצҊͨ݁͠Ռɺ͋͑ͯϚΠΫϩαʔϏ εΛ࠾༻͠ͳ͍ͱ͍͏બ୒ࢶ͸े෼͋Γ͏Δ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 35
  36. ΞʔΩςΫνϟɾ૊৫ߏ଄ͷܾఆ൛͕ͳ͍தɺ զʑ͸ͲͷΑ͏ʹӡ༻૊৫ΛσβΠϯ͢Ε͹Α͍ͷ͔ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 36

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

  38. HRMΛߏ੒͢Δ3ͭͷཁૉ • HRઓུ • ٻΊΔਓࡐ૾΍૊৫ͷن໛ͳͲΛߟ͑Δ • ૊৫ߏ଄ • ෦໳ɺࢦش໋ྩܥ౷ɺ৬੹ɺݖݶͳͲΛܾΊΔ •

    HRMγεςϜʢࠓճ͸৮Ε·ͤΜʣ • ࠾༻ʙୀ৬·Ͱͷ੍౓Λઃܭɾӡ༻͢Δ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 38
  39. ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 39

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

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

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

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

  44. ͜Ε·ͰͷύϥμΠϜ͔Βͷ஌ݟΛநग़͢Δ • ։ൃٕ๏ͷมભ͔Βͷֶͼ • ࡉ͔͍αΠΫϧΛܧଓతʹߦ͏࢓૊Έ͕ඞཁ • νʔϜͱ͍͏୯ҐͰͷ׆ಈ͕ϕετϓϥΫςΟε • ϞϊϦε͔ΒϚΠΫϩαʔϏε΁ͷมભ͔Βͷֶͼ •

    ੹೚ൣғͷڞ௨Խɺ࠷దԽ ʹΑͬͯαΠϩԽΛ๷͙ • ڥքΛࡉ෼Խ͢Δ ͜ͱͰεέʔϥϏϦςΟΛอͭ • ιϑτ΢ΣΞͷڥքͱ૊৫ͷڥքΛҙࣝతʹἧ͑Δ ͜ͱͰύϑΥʔϚϯε͸޲্͢Δ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 44
  45. ૊৫࿦͔ΒώϯτΛಘΔ ૊৫ͷఆٛ: 2ਓҎ্ͷਓʑͷɺҙࣝతʹௐ੔͞Εͨॾ׆ಈɺॾྗͷମܥ8 όʔφʔυͷ૊৫࿦ʹ͓͚Δ૊৫ͷఆ͔ٛΒಘΒΕͨॏཁͳؚҙ͸ҎԼͷ௨Γɻ • ૊৫Λߏ੒͢Δཁૉ͸ɺਓؒͦͷ΋ͷͰ͸ͳ͘ɺਓ͕ؒఏڙ͢Δ׆ಈ΍ྗͰ ͋Δ͜ͱ • ૊৫Λߏ੒͢Δॾ׆ಈɾॾྗ͸ɺମܥʢγεςϜʣͱͯ͠ޓ͍ʹ૬ޓ࡞ ༻Λ΋ͭ͜ͱ

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

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

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

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

  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
  52. Team Topologies ͷ֓ཁ • ૊৫ઃܭͷͨΊͷڧྗͳςϯϓϨʔτΛఏҊ • 4ͭͷνʔϜλΠϓͱ3ͭͷ૬ޓ࡞༻λΠϓ • → ڥքͱ૬ޓ࡞༻ͷσβΠϯʹ໾ཱͭ

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

    Facilitating • ଞͷνʔϜΛࢧԉʢ·ͨ͸ࢧԉʣͯ͠ো֐Λղফ͢Δ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 55
  56. ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 56

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

    (2019/12/05) | Takamura Narimichi (@nari_ex) 57
  58. ࣮૷ྫ 12 12 Team Topology, Matthew SkeltonɾManuel Pais, 2019 ୈ12ճ

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

  60. Microservices + SRE: ڥքͱ૬ ޓ࡞༻ • ֤ϚΠΫϩαʔϏεͷڥքΛ Stream-Aligned Team ͷڥքͱͯ͠ѻ͏

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

  62. Microservices + SRE: ੹೚ൣғͷӡ༻ • ։ൃνʔϜɾαʔϏενʔϜ͕։ൃͨ͠ιϑτ΢ΣΞΛ SRE ͕ αϙʔτ͢Δ/͠ͳ͍Λ൑அ͢ΔͨΊͷਫ४Λ༧Ίنఆ͠ɺα ϙʔτࠔ೉ͳ৔߹ʹӡ༻੹೚ΛαʔϏενʔϜʹ໭͢

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

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

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

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

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

  68. ఻౷తͳ૊৫ʹ͓͚Δτϙϩδͷબ୒ • ఻౷తͳ૊৫Ͱ͸ɺCollaborationʢಛʹߴίετʣ΍ Platform- as-a-Service ͱ͍͏τϙϩδΛબ୒͢Δඞཁ͕͋Δ • ఻౷తͳ૊৫͸؆қͳίϥϘϨʔγϣϯ΋೉͍͠΄ͲʹαΠϩ Խ͍ͯ͠Δ৔߹͕͋Δ •

    ࠓճ͸͜ͷέʔεΛର৅ʹஈ֊తͳνʔϜͮ͘ΓΛߟ͑Δ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 68
  69. ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 69

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

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

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

  73. ӡ༻૊৫ͷӡ༻ • ӡ༻ʹऴΘΓ͸ͳ͍ • ৽ٕज़ɺ৽ύϥμΠϜͳͲɺ؀ڥͷมԽʹ௥ै͢ΔͨΊͷ࢓૊Έ͕ඞ ཁʹͳΔ • ex. ૬ޓ࡞༻ͷλΠϓมߋɺνʔϜͷ࠶ฤɺੵۃతͳ Enabling

    νʔ Ϝͷߏங • X-as-a-Service ԽʹΑͬͯෆཁͳίϥϘϨʔγϣϯΛऔΓআ͘͜ͱ͸ ύϑΥʔϚϯε޲্ͷΧΪͱͳΔ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 73
  74. X-as-a-Service ԽͷՌͯ • X-as-a-Service ԽʢνʔϜAPIԽʣΛ௥ٻͨ͠ઌʹӡ༻ʹ͓͚Δσδλ ϧτϥϯεϑΥʔϝʔγϣϯʢDXʣͷੈք͕͋Δ • DXͷੈքʹ͓͚Δӡ༻ٕज़ऀͷՁ஋͸ɺਓ΍ػցͱ Collaboration ͠

    ͳ͕Βຊ࣭తͳ՝୊Λղܾ͢Δ͜ͱʢAPIԽͰ͖ͳ͍͜ͱʣʹऩଋ͢ Δ • ݪҼΑΓࠜڌɺ༧ଌΑΓఏҊɺࣄ࣮ΑΓ݁࿦ • ӡ༻ٕज़ऀ͕շదʹΤϯδχΞϦϯάΛߦ͏͜ͱ͕Ͱ͖Δੈքઢ΁ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 74
  75. ࣋ଓతʹਐԽ͢Δ૊৫Λ໨ࢦͯ͠ • ਐԽͷτϦΨʔͷݕ஌ख๏ͷ໛ࡧ • ex. ૊৫ؒͷ૬ޓ࡞༻ʹ͓͚Δ Observability ͷ௥ٻͱ૬ޓ࡞ ༻ͷมߋΛ൑அ͢ΔͨΊͷ͖͍͠஋ͷݕ౼ ୈ12ճ

    Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 75
  76. ·ͱΊ • ։ൃɾӡ༻ʹؔ͢ΔύϥμΠϜͷมԽΛ͓͞Β͍ • ૊৫ύϑΥʔϚϯεΛ࠷େԽ͢ΔͨΊʹ༷ʑͳٕ๏ɾΞʔΩςΫνϟ͕ొ ৔ • ύϥμΠϜɺHRM΍૊৫࿦ͷ஌ݟΛݩʹӡ༻૊৫ͷઃܭɾӡ༻Λߟ࡯ • αΠζɺ഑ஔɺڥքɺ૬ޓ࡞༻͕૊৫ઃܭͷ؊

    • ϚΠΫϩαʔϏε+SREɺ఻౷తͳ૊৫Ͱͷద༻ྫΛ঺հ • ӡ༻ʹ͓͚Δ DX ʹର͢Δߟ࡯ͱ࣋ଓతʹਐԽ͢Δ૊৫ʹ͓͚Δ՝୊Λڞ༗ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 76