運用技術者組織の設計と運用 / 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/

C236ca44c4fc873f80f97b5cf8a775df?s=128

Takamura Narimichi

December 05, 2019
Tweet

Transcript

  1. ӡ༻ٕज़ऀ૊৫ͷઃܭͱӡ༻ גࣜձࣾϋʔτϏʔπ औక໾ VP of Engineering ߴଜ ੒ಓʢ@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. ϋʔτϏʔπ͕ࢧ͑ΔγεςϜྫ • WebαΠτ • ϝσΟΞαΠτɺ৘ใܝࡌαΠτɺෆಈ࢈෺݅ݕࡧαΠτɺίʔϙϨʔτ αΠτɺECαΠτɺϒϥϯυαΠτɺϚʔνϟϯμΠδϯάαΠτͳͲ • اۀγεςϜ • ࣾ಺ػؔγεςϜɺԾ૝௨՟γεςϜɺϚʔέςΟϯάΦʔτϝʔγϣϯ

    πʔϧɺ์ૹγεςϜɺιʔγϟϧήʔϜɺϝʔϧ഑৴αʔϏεɺෆਖ਼ݕ ஌αʔϏεɺνϟοτγεςϜͳͲ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 6
  7. ΞδΣϯμ • ։ൃɾӡ༻ʹؔ͢ΔύϥμΠϜͷมԽ • ӡ༻૊৫ͷઃܭ • ӡ༻૊৫ͷӡ༻ͱਐԽ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05)

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

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

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

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

    (@nari_ex) 11
  12. ૊৫ؒͷڥքͷมԽ: DevOps1 2 ։ൃ୲౰ऀͱӡ༻୲౰ऀ͕࿈ܞͯ͠ڠྗ͢Δʢ͞Βʹ྆୲౰ऀͷڥ໨΋͍͋·͍ʹ͢Δʣ։ൃख๏ 2 Kharnagy, Devops-toolchain, 2016 1 John

    Allspaw, 10+ Deploys per Day: Dev and Ops Coopera9on at Flickr, 2009 ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 12
  13. ՝୊2: ϦϦʔεαΠΫϧͷݶք ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 13

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

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

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

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

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

    • ։ൃɾӡ༻είʔϓͷݶఆ • εέʔϥϏϦςΟͷ࠷దԽ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 18
  19. enabling con+nuous delivery/deployment 4 4 The microservice architecture is a

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

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

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

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

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

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

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

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

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

  29. class SRE implements DevOps6 • DevOps ͱ͸ؔ܎ͳ͘ SRE ͸ੜ·Ε͕ͨɺ݁Ռతʹ DevOps

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

    SRE ͷϓϥΫςΟεͱରԠͤ͞Δ͜ͱ͕Ͱ͖Δ DevOps SRE Reduce Organiza.on Silos Share ownership Accept Failure as Normal SLOs & Blameless PMs Implement Gradual Change Reduce costs of failure Leverage Tooling & Automa.on Automate this year's job away Measure Everything Measure toil and reliablity 6 SRE vs. DevOps: compe1ng standards or close friends? ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 30
  31. ҙ༁ DevOps SRE ૊৫ͷαΠϩΛݮΒ͢ ʢ૊৫ؒͰʣॴ༗ݖΛڞ༗͢Δ ΤϥʔͷൃੜΛલఏͱ͢Δ SLO Λఆٛ͠ɺඇ೉Λ൐Θͳ͍ϙετϞ ʔςϜΛߦ͏ ஈ֊తʹมߋ͢Δ

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

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

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

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

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

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

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

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

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

  41. HR ઓུͷ࣮ફ • ӡ༻ٕज़ऀ͕ͦΕͧΕݸਓͱͯ͠Ͳ͏͋Δ΂͖͔Λ໌֬ʹ͢Δ • ૊৫શମͷจԽৢ੒ɺҙࢥ౷Ұʹͭͳ͕Δ ୈ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. ͜Ε·ͰͷύϥμΠϜ͔Βͷ஌ݟΛநग़͢Δ • ։ൃٕ๏ͷมભ͔Βͷֶͼ • ࡉ͔͍αΠΫϧΛܧଓతʹߦ͏࢓૊Έ͕ඞཁ • νʔϜͱ͍͏୯ҐͰͷ׆ಈ͕ϕετϓϥΫςΟε • ϞϊϦε͔ΒϚΠΫϩαʔϏε΁ͷมભ͔Βͷֶͼ •

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

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

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

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

  50. ڥքͷछྨ Ұൠతͳ૊৫ਤͷఆٛҎ֎ʹ΋׆ಈൣғ͝ͱʹఆٛ͞ΕΔ2ͭͷڥք͕͋Δ10 ૊৫ͷू߹ମͷύϑΥʔϚϯε͸ୈೋɺୈࡾͷڥքΛ͍͔ʹίϯτϩʔϧ͢Δ͔͕ॏ ཁͱͳΔ11 1. ୈҰڥք: ݫີͳʮ૊৫ʯ֓೦ʹ΋ͱͮ͘ڥք 2. ୈೋڥք: υϝΠϯͱͯ͠ͷڥք

    3. ୈࡾڥք: ҙࣝతௐ੔ͷٴͿൣғͱͯ͠ͷڥք 11 Niels Pflaeging, Organize for Complexity, 2014 10 ܂ాߞଠ࿠ɾాඌխ෉, "૊৫࿦", 2010 ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 50
  51. ૊৫ͷڥք ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 51

  52. Team Topologies12 • Organizing business and technology team for fast

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

    ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 53
  54. 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. ϏσΦॲཧίʔσοΫɺ਺ֶϞσϧɺϦΞϧλΠϜऔҾௐ੔ΞϧΰϦζϜɺۚ༥αʔϏεͷτϥϯβΫγϣϯใࠂγεςϜ... • Pla:orm Team • ηϧϑαʔϏεAPIɺπʔϧɺαʔϏεɺ஌ࣝɺαϙʔτͷج൫Λ୲౰͢Δ ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 54
  55. Stream-Aligned Team ʹඞཁͳػೳηοτ • Applica(on security • Commercial and opera(onal

    viability analysis • Design and architecture • Development and coding • Infrastructure and operability • Metrics and monitoring • Product management and ownership • Tes(ng and quality assurance • User experience (UX) ୈ12ճ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (2019/12/05) | Takamura Narimichi (@nari_ex) 55
  56. 3ͭͷ૬ޓ࡞༻ͷλΠϓ • Collabora(on • ผͷνʔϜͱۓີʹ࿈ܞ͢Δ • X-as-a-Service • ࠷খݶͷίϥϘϨʔγϣϯͰԿ͔Λফඅ·ͨ͸ఏڙ͢Δ •

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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