DevOps導入指南 ~基本編~

DevOps導入指南 ~基本編~

2020年度リクルート新人ブートキャンプ エンジニアコースの講義資料です

Eea9a05e6e222a3d50c73f54a49fadf4?s=128

Recruit Technologies

August 21, 2020
Tweet

Transcript

  1. © 2020, Recruit Technologies Co., Ltd. All rights reserved. Ϋϥ΢υΞʔΩςΫτ(

    ౻ݪ ྋഅ %FW0QTಋೖࢦೆ ʙجຊฤʙ ೥ ౓ ൛
  2. ߨࢣ঺հ ౻ݪ ྋഅ גࣜձࣾϦΫϧʔτ ŲƅƁŦƄŞŪ౷ׅຊ෦ŲƅƁŦƄŞŪ։ൃ౷ׅࣨ ŚƃŢƄŬŗžƃŞƄࣨŲƅƁŦƄŞũŎűƄũŎŚƃŢƄŬŗžƃŞƄ෦ ŞŽřŪƄŗŖŝũŞŪŞƄſŖŲƅ ܦྺ ʙ೥ Ϣʔβܥ4JFSʹͯ3%

    ʙ ϦΫϧʔτςΫϊϩδʔζʹೖࣾ ओͳ׆ಈ ࣾ֎ؚΉ • ίϯςφɾύϒϦοΫΫϥ΢υܥςΫϊϩδʔͷࣄۀ૷ண • ίϛϡχςΟɾΧϯϑΝϨϯεӡӦ 3BODIFS+1ίΞϝϯόʔɾ$MPVE/BUJWF%BZT5PLZPηογϣϯεϐʔΧʔ ӡӦελοϑ • ॻ੶ࣥචɾ࿈ࡌɾొஃͳͲ • 3BODIFSʹΑΔ,VCFSOFUFT׆༻׬શΨΠυ ΠϯϓϨε • !*5ઌߦࣄྫʹֶͿ,VCFSOFUFTاۀ׆༻ͷݱ࣮ɾίϯςφϕʔεͷ$*$%ຊ൪ࣄྫେղ๤  • 5IJOL*5 ϚϧνΫϥ΢υ࣌୅ͷ࠷ڧίϯϏ 3BODIFSʹΑΔ,VCFSOFUFT׆༻ΨΠυ • 
  3. ΋͏গ͠ߨࢣͷུྺ 4 2011/3 BDfB]^d7C\GRV 2011/4  )1ZSIerRV= 0 / +ZR&D

     1$/(1/eb_<`8/F9IH 0O2L6IH 2016/1  ,-1.19S 0:JM[@Q(Qass) 0;T1NX/NXIH Raico, Fleet, '@Q,,HRTech(ATS, EMS, KOT), *! "Lite, Simpos 0MANTONX & /53  53g KY?W baEU(@IT/ThinkIt) #/PA(CloudNativeDays ) %( c>(Rancher JP) 
  4. l %FW0QTͬͯԿʁ l %FW0QTͱ͸ l %FW0QTͷཱ֬ʹ໾ཱͭςΫϊϩδʔ l %FW0QTͷཱ֬ʹඞཁͳจԽతಛੑ l %FW0QTಋೖࢦೆ

    ʙٕज़ฤʙ ΞδΣϯμ
  5. DevOps?

  6. γεςϜͷ։ൃ૊৫ Ҏ߱%FW ͱ ӡ༻૊৫ Ҏ߱0QT Ͱରཱ͋͠͏ͷͰ͸ͳ͘ɺ ڠௐ ৔߹ʹΑͬͯ͸༥߹ ͠ͳ͕ΒϏδωε໨తΛ ୡ੒͢ΔͨΊͷߟ͑ํɺ૊৫తͳจԽ

    %FW0QTͬͯԿʁ Dev Ops Dev Ops  DevOps   DevOps
  7. %FW0QTΛ࣮ફͰ͖͍ͯΔاۀ WT %FW0QTΛ࣮ફͰ͖͍ͯͳ͍اۀ %FW0QTΛ࣮ફͰ͖ͨ࣌ͷޮՌ

  8. %FW0QTΛ࣮ફͰ͖͍ͯΔاۀ WT %FW0QTΛ࣮ફͰ͖͍ͯͳ͍اۀ %FW0QTΛ࣮ફͰ͖ͨ࣌ͷޮՌ  &    

       " $!% # DevOpsLean  
  9. %FW0QTΛ࣮ફͰ͖͍ͯΔاۀ WT %FW0QTΛ࣮ફͰ͖͍ͯͳ͍اۀ %FW0QTΛ࣮ફͰ͖ͨ࣌ͷޮՌ  &    

         " $!%  #  DevOpsLean  
  10.    %FW0QTΛ࣮ફͰ͖͍ͯΔاۀ WT %FW0QTΛ࣮ફͰ͖͍ͯͳ͍اۀ %FW0QTΛ࣮ફͰ͖ͨ࣌ͷޮՌ  & 

            " $!%  #  DevOpsLean 
  11.         %FW0QTΛ࣮ફͰ͖͍ͯΔاۀ WT

    %FW0QTΛ࣮ફͰ͖͍ͯͳ͍اۀ %FW0QTΛ࣮ફͰ͖ͨ࣌ͷޮՌ  &          " $!%  #  DevOpsLean  
  12. %FW0QTΛ࣮ફͰ͖͍ͯΔاۀ WT %FW0QTΛ࣮ફͰ͖͍ͯͳ͍اۀ ҎԼͷ؍఺Ͱ ༗ҙͳ͕ࠩ͋ͬͨ %FW0QTΛ࣮ફͰ͖ͨ࣌ͷޮՌ    

     
  13. %FW0QTΛ࣮ફͰ͖͍ͯΔاۀ WT %FW0QTΛ࣮ફͰ͖͍ͯͳ͍اۀ ҎԼͷ؍఺Ͱ ༗ҙͳ͕ࠩ͋ͬͨ %FW0QTΛ࣮ફͰ͖ͨ࣌ͷޮՌ    

      
  14. %FW0QTΛ࣮ફͰ͖ͨ৔߹ɺҎԼ͕࣮ݱͰ͖Δ %FW0QTΛ࣮ફͨ͠৔߹ͷҰൠతͳޮՌ   

  15. %FW0QTΛ࣮ફͰ͖ͨ৔߹ɺҎԼ͕࣮ݱͰ͖Δ %FW0QTΛ࣮ફͨ͠৔߹ͷҰൠతͳޮՌ "  !     

  16. DevOps

  17. ຊ֨తʹޠΒΕΔ͜ͱ͕૿͑ͨͷ͸ࣸਅڞ༗αʔϏεͷGMJDLS͕ ೥ͷ03FJMMZ7FMPDJUZΧϯϑΝϨϯεͰߦͳͬͯൃදҎ߱ %FW0QTͷྺ࢙ ݪ఺ https://www.slideshare.net/jallspaw/10-deploys-per-day- dev-and-ops-cooperation-at-flickr

  18. ຊ֨తʹޠΒΕΔ͜ͱ͕૿͑ͨͷ͸ࣸਅڞ༗αʔϏεͷGMJDLS͕ ೥ͷ03FJMMZ7FMPDJUZΧϯϑΝϨϯεͰߦͳͬͯൃදҎ߱ %FW0QTͷྺ࢙ ݪ఺ https://www.slideshare.net/jallspaw/10-deploys-per-day- dev-and-ops-cooperation-at-flickr    

    
  19. Ops  ! Dev     Dev 

       Ops     %FWͱ0QTͷରཱ Dev Ops
  20. ҉໧తʹ࡮Γࠐ·Ε֤ͨϩʔϧͷ੹຿ͷҧ͍ʹىҼ ͳͥରཱ͕ى͜Δͷ͔ Dev/! )+.0  "  #*  Ops/!

    %&-', "1$2 #*3(   2
  21. ҉໧తʹ࡮Γࠐ·Ε֤ͨϩʔϧͷ੹຿ͷҧ͍ʹىҼ ͳͥରཱ͕ى͜Δͷ͔ DevK3 ?BIL2 & %!5-. 6@2  OpsK3 !#(9:H/;D

    & %!5-M8N 6@O<  N  A GE4 !"',+)*$JC & & %!=10F>7
  22. େ໨తΛୡ੒͢Δ֬཰ΛߴΊΔʹ͸ %FWͱ0QTͷରཱΛղফ͢Δඞཁ͕͋Δ ରཱΛղফ͢ΔͨΊʹ ①  ②    

    
  23.    

  24. େ໨తΛୡ੒͢Δ֬཰ΛߴΊΔʹ͸ %FWͱ0QTͷରཱΛղফ͢Δඞཁ͕͋Δ ରཱΛղফ͢ΔͨΊʹ ①  ②   

  25. ຊདྷ໨ࢦ͍ͨ͠ͷ͸૊৫ͱͯ͠ͷจԽͷཱ֬ ςΫϊϩδʔ͸ͦͷ࣮ݱΛࢧԉ͢ΔͨΊͷ࢓૊Έ %FW0QTʹ͓͚ΔςΫϊϩδʔͷཱͪҐஔ

  26. શ һ ׬ ᘳ ௒ ਓ શһ͕௒ਓͰ͋Δඞཁ͕͋Δ ςΫϊϩδʔ͕ͳ͍৔߹ 

  27. ଟ छ ଟ ༷ શ һ ׬ ᘳ ௒ ਓ

    શһ͕௒ਓͰ͋Δඞཁ͕͋Δ ͦΕ͸ɺ͋Γ͑ͳ͍ͷͰςΫϊϩδʔͷྗΛआΓΔ ςΫϊϩδʔ͕ͳ͍৔߹      (   )
  28. ओʹ࣠ ςΫϊϩδʔͰओʹॿ͚Δࣄฑ

  29. ①   (    ) ओʹ࣠ ςΫϊϩδʔͰओʹॿ͚Δࣄฑ

  30. ②  (("-  %) ①  #) ., ($!

    0*/ &'1+) ओʹ࣠ ςΫϊϩδʔͰओʹॿ͚Δࣄฑ
  31. େ͖͘෼͚ͯͭͷςΫϊϩδʔ͕%FW0QTจԽͷཱ֬Λࢧ ԉ͢ΔͱݴΘΕ͍ͯΔɻ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ %"# !$     

         !$     
  32. େ͖͘෼͚ͯͭͷςΫϊϩδʔ͕%FW0QTจԽͷཱ֬Λࢧ ԉ͢ΔͱݴΘΕ͍ͯΔɻ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ %"# !$     

         !$     
  33. ίʔυ͔ΒΠϯϑϥؚΊͨ؀ڥߏஙΛࣗಈతʹ࣮ࢪͰ͖Δ Α͏ʹ͢Δ͜ͱ ࣗಈԽ͞ΕͨΠϯϑϥ     

  34. ͢ͰʹϨΠϠʔ͝ͱʹ༷ʑͳςΫϊϩδʔ͕ଘࡏ͢Δ

  35. ࣮֬ʹޡΓͳ͘୯७࡞ۀΛਓؒ͸͜ͳ͢͜ͱ͕Ͱ͖Δ͔ʁ ͳͥࣗಈԽ͞ΕͨΠϯϑϥ͕ඞཁ͔ʁ

  36. ࣮֬ʹޡΓͳ͘୯७࡞ۀΛਓؒ͸͜ͳ͢͜ͱ͕Ͱ͖Δ͔ʁ ୆ͷԾ૝ϚγϯΛखಈͰߏஙɾςετ͢Δɻ ਓؒ͸࣮֬ʹޡΓͳ࣮͘ߦͰ͖Δ͔ʁ ͳͥࣗಈԽ͞ΕͨΠϯϑϥ͕ඞཁ͔ʁ

  37. ࣮֬ʹޡΓͳ͘୯७࡞ۀΛਓؒ͸͜ͳ͢͜ͱ͕Ͱ͖Δ͔ʁ ୆ͷԾ૝ϚγϯΛखಈͰߏஙɾςετ͢Δɻ ਓؒ͸࣮֬ʹޡΓͳ࣮͘ߦͰ͖Δ͔ʁ ͳͥࣗಈԽ͞ΕͨΠϯϑϥ͕ඞཁ͔ʁ 

  38. ਓؒ͸୯७࡞ۀΛޡΓͳ࣮֬͘ʹ࣮ߦ͢Δʹ͸ෆ҆ఆ͗͢Δ ͳͥࣗಈԽ͞ΕͨΠϯϑϥ͕ඞཁ͔        

    ! 
  39. ਓؒ͸୯७࡞ۀΛޡΓͳ࣮֬͘ʹ࣮ߦ͢Δʹ͸ෆ҆ఆ͗͢Δ ͳͥࣗಈԽ͞ΕͨΠϯϑϥ͕ඞཁ͔ -1# ! &8( 352 4  .% $*

    +/ 9 ), + '7" 60+   7   
  40. ୯७ͳ܁Γฦ͠࡞ۀ͕ಘҙ େྔ୯७࡞ۀʹ͓͚Δܭࢉػ

  41. ୯७ͳ܁Γฦ͠࡞ۀ͕ಘҙ େྔ୯७࡞ۀʹ͓͚Δܭࢉػ        

  42. ୯७ͳ܁Γฦ͠࡞ۀ͕ಘҙ େྔ୯७࡞ۀʹ͓͚Δܭࢉػ    $  # " 

    or "  !%
  43. େྔͷ୯७࡞ۀ͸ ܭࢉػʹ೚ͤͨํ͕దࡐదॴ ͦͷͨΊͷπʔϧ΋ग़ଗ͍ͭͭ͋Δ େྔ୯७࡞ۀ͸ܭࢉػʹ೚ͤΔ

  44. େ͖͘෼͚ͯͭͷςΫϊϩδʔ͕%FW0QTจԽͷཱ֬Λࢧ ԉ͢ΔͱݴΘΕ͍ͯΔɻ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ %"# !$     

         !$     
  45. ίʔυΛίʔυϦϙδτϦͰ؅ཧ͢Δ ڞ༗͞Εͨόʔδϣϯίϯτϩʔϧ

  46. ίʔυΛίʔυϦϙδτϦͰ؅ཧ͢Δ ڞ༗͞Εͨόʔδϣϯίϯτϩʔϧ

  47. ίʔυΛίʔυϦϙδτϦͰ؅ཧ͢Δ ڞ༗͞Εͨόʔδϣϯίϯτϩʔϧ  =      

  48. l %PDLFSGJMF l ,VCFSOFUFTͷϚχϑΣετ l "OTJCMFͷQMBZCPPL l 5FSSBGPSNͷUGϑΝΠϧɾUGWBSTϑΝΠϧ l $*$%ͷύΠϓϥΠϯఆٛϑΝΠϧ

    ͳͲ Πϯϑϥίʔυ
  49. ؀ڥ͝ͱʹσϓϩΠ͞Ε͍ͯΔ ΞϓϦέʔγϣϯ΍֤छߏ੒Λ೺Ѳ͢ΔͨΊ ͳͥڞ༗͞Εͨόʔδϣϯίϯτϩʔϧ͕ඞཁ͔

  50. શһ͕͍࣋ͬͯΔίʔυ͸όϥόϥ ݹ͔ͬͨΓ৽͔ͬͨ͠Γ ڞ༗͞Εͨόʔδϣϯίϯτϩʔϧ͕ͳ͍ঢ়گΛߟ͑Δ     ࣟ ࣠ ࣡

    ࣢ ࣣ ࣕ ࣖ ࣗ ࣘ ŋŏ                
  51. શһ͕͍࣋ͬͯΔίʔυ͸όϥόϥ ݹ͔ͬͨΓ৽͔ͬͨ͠Γ ڞ༗͞Εͨόʔδϣϯίϯτϩʔϧ͕ͳ͍ঢ়گΛߟ͑Δ     ࣟ ࣠ ࣡

    ࣢ ࣣ ࣕ ࣖ ࣗ ࣘ ŋŏ                      
  52. શһ͕͍࣋ͬͯΔίʔυ͸όϥόϥ ݹ͔ͬͨΓ৽͔ͬͨ͠Γ ڞ༗͞Εͨόʔδϣϯίϯτϩʔϧ͕ͳ͍ঢ়گΛߟ͑Δ     ࣟ ࣠ ࣡

    ࣢ ࣣ ࣕ ࣖ ࣗ ࣘ ŋŏ                      ʊਓਓਓਓਓਓਓਓʊ ʼ ໿ଋ͞Εͨࢮ ʻ ʉY^Y^Y^Y^Y^Y^Y ʉ       
  53. Ͳͷίʔυ͕࠷৽ͳͷ͔ຊ൪؀ڥͰಈ͍͍ͯΔͷ͔Λ೺ѲͰ͖Δ ڞ༗͞Εͨόʔδϣϯίϯτϩʔϧ͕͋Ε͹   มߋ಺༰ Λू໿ σϓϩΠ

  54. ڞ༗͞Ε͍ͯͳ͍όʔδϣϯίϯτϩʔϧ͸ ద੾ͳίϛϡχέʔγϣϯ΍ɺো֐ରԠΛ્֐͢Δ Ξϯνύλʔϯ ڞ༗͞Εͳ͍όʔδϣϯίϯτϩʔϧ    Ops Dev 

        ) (
  55. γεςϜΛߏ੒͢Δίʔυ͸ શͯޓ͍ʹݟ͑Δ৔ॴʹ഑ஔ͠ɺڞ༗͢Δ Ξϯνύλʔϯ ڞ༗͞Εͳ͍όʔδϣϯίϯτϩʔϧ   Ops Dev

  56. γεςϜΛߏ੒͢Δίʔυ͸ શͯޓ͍ʹݟ͑Δ৔ॴʹ഑ஔ͠ɺڞ༗͢Δ Ξϯνύλʔϯ ڞ༗͞Εͳ͍όʔδϣϯίϯτϩʔϧ   Ops Dev  

     (Single source of truth )
  57. ؀ڥʹͲͷ࣌఺ͷίʔυ͕σϓϩΠ͞Ε͍ͯΔ͔ɺ ͦͷίʔυΛϝϯόʔશһ͕ಉ͡Α͏ʹӾཡͰ͖Δ͜ͱ͕ ίϛϡχέʔγϣϯΛԁ׈ʹ͢Δͱͱ΋ʹɺ ໰୊ൃੜ࣌ͷղܾ·Ͱͷ࣌ؒ .553 Λ୹ॖ͢Δ ڞ༗͞Εͨόʔδϣϯίϯτϩʔϧ·ͱΊ

  58. େ͖͘෼͚ͯͭͷςΫϊϩδʔ͕%FW0QTจԽͷཱ֬Λࢧ ԉ͢ΔͱݴΘΕ͍ͯΔɻ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ %"# !$     

         !$     
  59. ϏϧυͱσϓϩΠʹ͍ͭͯπʔϧΛ׆༻ͯ͠ ՄೳͳݶΓγϯϓϧͳϓϩηε Ͱࣗಈ࣮ߦͰ͖ΔΑ͏ʹ͢Δ͜ͱ ϫϯεςοϓϏϧυͱσϓϩΠ

  60. ϫϯεςοϓϏϧυͱσϓϩΠͰ࣮ݱ͍ͨ͜͠ͱ ② (")! 0  $.'-   ③ %

      # *+   ①  /' ,&  
  61. ϫϯεςοϓϏϧυͱσϓϩΠͷ༗ແʹΑΔࠩҟΛߟ͑Δ ϫϯεςοϓϏϧυͱσϓϩΠͷ༗ແ #$! "+* '/-4 ("$&$ ) !%" $ 

    -('/  !" +* ("$&$ ) !%" '/-4.)2  0,1'/3 
  62. ϫϯεςοϓϏϧυͱσϓϩΠͷ༗ແʹΑΔࠩҟΛߟ͑Δ ϫϯεςοϓϏϧυͱσϓϩΠͷ༗ແ -.&%+" &,97 2@<H ( &, .(0#.!) %+"/ &,

    '.*  <42@ %+" &,97 ( &, .(0#.!) %+"/ &, 2@<H?6C A;B2@G  >)F J 137$0.= :8IDE5 J
  63. ࡞ۀͷखॱΛύΠϓϥΠϯԽ͢Δ͜ͱͰɺ ࡞ۀͷ࠶ݱੑΛߴΊΔ ᶃ ϏϧυɾσϓϩΠϓϩηεΛ࣮֬ʹվળͰ͖ΔΑ͏ʹ͢Δ Dev Ops    

              $               "         ( ' ) &    $ %        "          !     Ops Dev     "  #
  64. ࡞ۀͷखॱΛύΠϓϥΠϯԽ͢Δ͜ͱͰɺ ࡞ۀͷ࠶ݱੑΛߴΊΔ ᶃ ϏϧυɾσϓϩΠϓϩηεΛ࣮֬ʹվળͰ͖ΔΑ͏ʹ͢Δ Dev Ops    

              $               "         ( ' ) &    $ %        "          !     Ops Dev     "  # %#,!    "(' ) $  -* %& $ +.
  65. ϫϯεςοϓϏϧυͱσϓϩΠ͕ͳ͍৔߹Λߟ͑Δ ᶄ ଐਓੑΛԼ͛Δ A A ? B

  66. ϫϯεςοϓϏϧυͱσϓϩΠ͕ͳ͍৔߹Λߟ͑Δ ᶄ ଐਓੑΛԼ͛Δ ) A (

  67. ϫϯεςοϓϏϧυͱσϓϩΠ͕ͳ͍৔߹Λߟ͑Δ ᶄ ଐਓੑΛԼ͛Δ ) A ( 

  68. ϫϯεςοϓϏϧυͱσϓϩΠ͕͋Δ৔߹Λߟ͑Δ ᶄ ଐਓੑΛԼ͛Δ A ) ) ( ) B 

  69. ୭͕͍ͭԿΛͲΜͳ໨తͰ σϓϩΠͨ͠ͷ͔೺ѲͰ͖ΔΑ͏ʹ͢Δ ೝূɾೝՄͷ࢓૊ΈΛύΠϓϥΠϯʹ૊ΈࠐΉ ᶅ ΨόφϯεΛޮ͔ͤΒΕΔΑ͏ʹ͢Δ

  70. ܰ͘ৼΓฦΓ ڞ༗͞Εͨόʔδϣϯίϯτϩʔϧ ϫϯεςοϓϏϧυͱσϓϩΠ   มߋ಺༰ Λू໿ Ϗϧυ σϓϩΠ 

         
  71. ϫϯεςοϓϏϧυͱσϓϩΠͰ࣮ݱ͍ͨ͜͠ͱ ࠶ܝ ② (")! 0  $.'-   ③

    %   # *+   ①  /' ,&  
  72. ҆શ͔࣮ͭ֬ʹΞϓϦέʔγϣϯ΍؀ڥΛϏϧυ͠ɺ σϓϩΠ͢Δɺ·ͨ͸ࣦഊ͔ΒͷվળΛ༰қ͔ͭண࣮ʹ࣮ ࢪ͢Δ্ͰϫϯεςοϓϏϧυͱσϓϩΠ͸ॏཁ ϫϯεςοϓϏϧυͱσϓϩΠͷ·ͱΊ

  73. େ͖͘෼͚ͯͭͷςΫϊϩδʔ͕%FW0QTจԽͷཱ֬Λࢧ ԉ͢ΔͱݴΘΕ͍ͯΔɻ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ %"# !$     

         !$     
  74. ಛఆͷػೳͷ༗ޮɾແޮΛ੾Γସ͑ͨΓ Ұ෦ͷਓͷΈʹఏڙ͢ΔͨΊͷϑϥά ϑΟʔνϟʔϑϥάͱ͸

  75. ᶃ Ұ෦ͷϢʔβ޲͚ʹػೳΛఏڙ͢Δ ᶄ ҆શʹػೳͷϦϦʔεΛߦ͏ ϑΟʔνϟʔϑϥάͷ໨త

  76. l ϓϥΠϕʔτϕʔλ l Ұ෦ͷࢦఆͨ͠ϢʔβʹͷΈػೳΛެ։͢Δ l "#ςετ l ൺ཰ΛఆΊͯػೳ΍৽͍͠6*Λެ։͠ɺ൓ڹΛௐ΂Δ l μʔΫϩʔϯν

    l ϢʔβͷϦΫΤετΛෳ੡ٖͯ͠ࣅతʹॲཧΛߦ͏ ϑΟʔνϟʔϑϥάͷओͳख๏
  77. l ϓϥΠϕʔτϕʔλ l Ұ෦ͷࢦఆͨ͠ϢʔβʹͷΈػೳΛެ։͢Δ l "#ςετ l ൺ཰ΛఆΊͯػೳ΍৽͍͠6*Λެ։͠ɺ൓ڹΛௐ΂Δ l μʔΫϩʔϯν

    l ϢʔβͷϦΫΤετΛෳ੡ٖͯ͠ࣅతʹॲཧΛߦ͏ ϑΟʔνϟʔϑϥάͷओͳख๏  
  78. <ิ଍ղઆ>μʔΫϩʔϯν         

    !     
  79. <ิ଍ղઆ>μʔΫϩʔϯν       ! ! "

    " # !    
  80. <ิ଍ղઆ>μʔΫϩʔϯν         

    " !    
  81. <ิ଍ղઆ>μʔΫϩʔϯν         

    ! !    
  82. <ิ଍ղઆ>μʔΫϩʔϯν    $ ,) # - . .

    / / 0 *  " '%(!  ,) &+   
  83. Ծઆݕূࢼߦࡨޡ 㲈খ͘͞ࢼͯ͠খࣦ͘͞ഊ ͕೉͘͠ͳΔ ϑΟʔνϟʔϑϥά͕ͳ͍৔߹

  84. Ծઆݕূࢼߦࡨޡ 㲈খ͘͞ࢼͯ͠খࣦ͘͞ഊ ͕೉͘͠ͳΔ ϑΟʔνϟʔϑϥά͕ͳ͍৔߹  (-+)&  %  

     * ,  $ !      #     "' "'   
  85. Ծઆݕূࢼߦࡨޡ 㲈খ͘͞ࢼͯ͠খࣦ͘͞ഊ ͕༰қʹͳΔ ϑΟʔνϟʔϑϥά͕͋Δ৔߹   "   

        ! #  $    
  86. Ծઆݕূࢼߦࡨޡ 㲈খ͘͞ࢼͯ͠খࣦ͘͞ഊ ͕༰қʹͳΔ ϑΟʔνϟʔϑϥά͕͋Δ৔߹   "   

        ! #  $      
  87. Ծઆݕূɾࢼߦࡨޡͱ҆શʹ࣮ࢪ͢Δ্Ͱ ϑΟʔνϟʔϑϥά͸ಛʹॏཁ ϑΟʔνϟʔϑϥά

  88. େ͖͘෼͚ͯͭͷςΫϊϩδʔ͕%FW0QTจԽͷཱ֬Λࢧ ԉ͢ΔͱݴΘΕ͍ͯΔɻ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ %"# !$     

         !$     
  89. %FWͱ0QTͰҧ͏ࢦඪΛݟ͍ͯΔ Α͋͘Δ໰୊ !

  90. %FWͱ0QTͰҧ͏ࢦඪΛݟ͍ͯΔ Α͋͘Δ໰୊ ! %!$  #"    

  91. %FWͱ0QTͰҧ͏ࢦඪΛݟ͍ͯΔ Α͋͘Δ໰୊ ! &5,1.+4  32 % )'* $0 -

     #!" 4(/
  92. ϊ΢ϋ΢͸ՄೳͳݶΓू໿͠ɺ ಉ͡৘ใݯΛ͔ͭͬͯٞ࿦Λ͢Δ ಉҰͷ৘ใΛݟͳ͕Βٞ࿦͢Δ Ops Dev ू໿ or ฒଘ ͸ཁٞ࿦ 

        
  93. ϊ΢ϋ΢͸ՄೳͳݶΓू໿͠ɺ ಉ͡৘ใݯΛ͔ͭͬͯٞ࿦Λ͢Δ ಉҰͷ৘ใΛݟͳ͕Βٞ࿦͢Δ Ops Dev ू໿ or ฒଘ ͸ཁٞ࿦ 

                
  94. ϛείϛϡχέʔγϣϯΛݮΒͨ͢Ίʹ΋ ϩʔϧ͕ҟͳΔ৔߹Ͱ΋ಉ͡৘ใΛ ݟΕΔঢ়ଶͰٞ࿦͸͢΂͖ ૬ख͕஌Γಘͳ͍৘ใΛجʹٞ࿦Λ ల։͢Δ͜ͱ͸ίϛϡχέʔγϣϯతʹ/( ڞ༗͞ΕͨϝτϦΫε·ͱΊ

  95. େ͖͘෼͚ͯͭͷςΫϊϩδʔ͕%FW0QTจԽͷཱ֬Λࢧ ԉ͢ΔͱݴΘΕ͍ͯΔɻ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ %"# !$     

         !$     
  96. $*ɺΞϥʔτ͚ͩͰͳ͘ɺϏδωε্ͷ࣮੷ͳͲΛ νϟοτϘοτΛ࢖ͬͯνϟοτج൫ʹྲྀ͠·͠ΐ͏ νϟοτͷͨΊͷج൫ͱνϟοτϘοτΛੵۃతʹ׆༻͢Δ CI     

  97. ৘ใΛϓογϡܕͰఏࣔͯ͠ɺ ஌͓ͬͯ͘΂͖৘ใΛੵۃతʹΠϯϓοτ͢ΔͨΊͷ࢓૊ΈΛඋ͑Δ ʹϝϯόʔͷ஌͍ͬͯΔ৘ใΛಉظͤ͞Δʣ νϟοτͷͨΊͷج൫ͱνϟοτϘοτΛੵۃతʹ׆༻͢Δ

  98. ৘ใΛϓογϡܕͰఏࣔͯ͠ɺ ஌͓ͬͯ͘΂͖৘ใΛੵۃతʹΠϯϓοτ͢ΔͨΊͷ࢓૊ΈΛඋ͑Δ ʹϝϯόʔͷ஌͍ͬͯΔ৘ใΛಉظͤ͞Δʣ νϟοτͷͨΊͷج൫ͱνϟοτϘοτΛੵۃతʹ׆༻͢Δ  ?

  99. l ϝʔϧ͸ϓϧܕͷ৘ใऔಘ l ࣗ෼͔Βݟʹߦ͘ඞཁ͕͋Δ l શһ͕஌͓ͬͯ͘΂͖৘ใͷఏࣔʹ͸ ͋·Γ ޲͍͍ͯͳ͍ ϝʔϧͰ΋ͩΊͰ͸ͳ͍͕ɺগ͠Ή͔͍ͣ͠ ඇಉظ

    ίϛϡχέʔγϣϯ (ׂࠐ౓߹͍/ઐ༗౓߹͍͕௿͍) ಉظ ίϛϡχέʔγϣϯ (ׂࠐ౓߹͍/ઐ༗౓߹͍͕ߴ͍)       E Slack Teams PagerDuty 
  100. l ৘ใͷྲྀ௨ܗଶΛ޻෉ͯ͠஌͓ͬͯ͘΂͖৘ใΛ஌ͬͯ ͓͘΂͖ਓ͕ೝࣝͰ͖ΔΑ͏ʹ͢Δ l ࠓճͷࣄྫͷ৔߹͸ϓογϡܕͷ΄͏͕޲͍͍ͯΔ νϟοτͱνϟοτϘοτ·ͱΊ

  101. จԽΛࢧ͑ΔͨΊͷςΫϊϩδʔ·ͱΊ M=>5(0 <G &7/55#372 45! )'2$ ")3 (7-7(0 <G,#1 -

    # - #* #  @FLJ8 (A; :OHN  6C9DPI) +.%7/5#8 (E?K9 B)
  102. จԽΛࢧ͑ΔͨΊͷςΫϊϩδʔ·ͱΊ M=>5(0 <G &7/55#372 45! )'2$ ")3 (7-7(0 <G,#1 -

    # - #* #  @FLJ8 (A; :OHN  6C9DPI) +.%7/5#8 (E?K9 B)          
  103.    

  104. େ໨తΛୡ੒͢Δ֬཰ΛߴΊΔʹ͸ %FWͱ0QTͷରཱΛղফ͢Δඞཁ͕͋Δ ରཱΛղফ͢ΔͨΊʹ ①  ②    

    
  105. ڞ௨ͷ໨త Ϗδωεͷ੒ޭͱརӹͷ֦େ Λ࣮ݱʹ޲͚ͯ஫ྗ͢Δʹ͸ɺ ݁ہͷͱ͜Ζਓͱਓ͕ԁ׈ʹڠྗ͠ձ͑ΔҙࣝΛ࣋ͭඞཁ͕͋Δ %FW0QTͱ૊৫จԽ

  106. ڞ௨ͷ໨త Ϗδωεͷ੒ޭͱརӹͷ֦େ Λ࣮ݱʹ޲͚ͯ஫ྗ͢Δʹ͸ɺ ݁ہͷͱ͜Ζਓͱਓ͕ԁ׈ʹڠྗ͠ձ͑ΔҙࣝΛ࣋ͭඞཁ͕͋Δ %FW0QTͱ૊৫จԽ  " !$ # 

    !$ &"$ %
  107. ૊৫͕εέʔϧͯ͠΋ಉ͡໨తʹ޲͔ͬͯ ڠྗ͋͑͠ΔΑ͏ʹ͢Δʹ͸ʁ

  108. ݪయͰड़΂ΒΕ͍ͯΔͷ͸ҎԼͷ̐ͭ %FW0QTΛҡ͍࣋ͯͨ͘͠ΊʹඞཁͳจԽ        

     
  109. ݪయͰड़΂ΒΕ͍ͯΔͷ͸ҎԼͷ̐ͭ %FW0QTΛҡ͍࣋ͯͨ͘͠ΊʹඞཁͳจԽ        

     
  110. %FW0QTΛҡ͍࣋ͯͨ͘͠ΊʹඞཁͳจԽ         

    
  111.  ઌೖ؍Λ࣋ͨͳ͍  ଞऀͷઐ໳஌ࣝɾҙݟɾ੹೚Λଚॏ͢Δ  ϊʔͱ͍͏͚ͩͷ͜ͱ͸͠ͳ͍  Ӆ͠ࣄ͸͠ͳ͍  ґཔ͢Δલʹ΍Δ͜ͱɾߟ͑Δ͜ͱΛͪΌΜͱ΍Δ

    ૬ޓͷϦεϖΫτ
  112. l ͋ͷਓ͸͍ͭ΋YYYͳͷͰZZZ͠Α͏͸/( l ࣌ؒܦաʹ൐͍ਓͷத਎͸มΘΔ͠ঢ়گ΋มΘΔ l ؆୯Ͱ΋ྑ͍ͷͰ͖ͪΜͱ֬ೝ͢Δ l ಉ͡ࣄฑͰ΋ঢ়گ΍λΠϛϯάʹΑͬͯճ౴͸มΘΔՄೳੑ͕ ͋ΔͷͰ؆୯ʹͰྑ͍ͷͰ֬ೝ͠·͠ΐ͏ ͦͷͨΊͷίϛϡχέʔγϣϯج൫ͱͯ͠4MBDL

    +*3"$POGMVFODF͕੔උ͞Ε͍ͯΔ ઌೖ؍Λ࣋ͨͳ͍
  113. l શͯʹ͓͍ͯࣗ෼͕উ͍ͬͯΔͳΜͯ͜ͱ͸ͳ͍ l ઐ໳ྖҬ͕ҟͳΔ͠ɺ๊͍͑ͯΔϛογϣϯ΋ҟͳΔͷͰई ౓͕ͦ΋ͦ΋ҧ͏ l ଞਓ͸ҟͳΔࢹ఺ඞ͍ͣ࣋ͬͯΔͷͰҙݟ͸ଚॏ͢Δ ଞऀͷઐ໳஌ࣝɾҙݟɾ੹೚Λଚॏ͢Δ

  114. l શͯʹ͓͍ͯࣗ෼͕উ͍ͬͯΔͳΜͯ͜ͱ͸ͳ͍ l ઐ໳ྖҬ͕ҟͳΔ͠ɺ๊͍͑ͯΔϛογϣϯ΋ҟͳΔͷͰई ౓͕ͦ΋ͦ΋ҧ͏ l ଞਓ͸ҟͳΔࢹ఺ඞ͍ͣ࣋ͬͯΔͷͰҙݟ͸ଚॏ͢Δ ଞऀͷઐ໳஌ࣝɾҙݟɾ੹೚Λଚॏ͢Δ  

       Why  
  115. l શͯʹ͓͍ͯࣗ෼͕উ͍ͬͯΔͳΜͯ͜ͱ͸ͳ͍ l ઐ໳ྖҬ͕ҟͳΔ͠ɺ๊͍͑ͯΔϛογϣϯ΋ҟͳΔͷͰई ౓͕ͦ΋ͦ΋ҧ͏ l ଞਓ͸ҟͳΔࢹ఺ඞ͍ͣ࣋ͬͯΔͷͰҙݟ͸ଚॏ͢Δ ଞऀͷઐ໳஌ࣝɾҙݟɾ੹೚Λଚॏ͢Δ (!1)/.'% 

    Why& ,- #+*0 $"    $
  116. ޓ͍ͷґཔ಺༰ʹ͍ͭͯϊʔͱ౴͑Δͱ͖ͷ഑ྀࣄ߲ l ڋ൱͢Δࡍʹ͸ཧ༝Λࣔ͢ l ͲΜͳཧ༝Ͱ͋Εڋ൱ͷࠜڌΛࣔ͢ l Ͳ͏͢Ε͹ڐ༰Ͱ͖Δͷ͔Λࣔ͢ l Ͳ͏͢Ε͹ґཔʹԠ͑Δ͜ͱ͕Ͱ͖Δͷ͔ج४Λࣔ͢ l

    ґཔʹର͢Δ8IZΛ۷ΓԼ͛Δ͜ͱ l 8IZ͔Β۷ΓԼ͛Δ͜ͱͰผͷํ๏͕ఏҊͰ͖Δ͔΋͠Εͳ͍ ϊʔͱ͍͏͚ͩͷ͜ͱ͸͠ͳ͍
  117. ޓ͍ͷґཔ಺༰ʹ͍ͭͯϊʔͱ౴͑Δͱ͖ͷ഑ྀࣄ߲ l ڋ൱͢Δࡍʹ͸ཧ༝Λࣔ͢ l ͲΜͳཧ༝Ͱ͋Εڋ൱ͷࠜڌΛࣔ͢ l Ͳ͏͢Ε͹ڐ༰Ͱ͖Δͷ͔Λࣔ͢ l Ͳ͏͢Ε͹ґཔʹԠ͑Δ͜ͱ͕Ͱ͖Δͷ͔ج४Λࣔ͢ l

    ґཔʹର͢Δ8IZΛ۷ΓԼ͛Δ͜ͱ l 8IZ͔Β۷ΓԼ͛Δ͜ͱͰผͷํ๏͕ఏҊͰ͖Δ͔΋͠Εͳ͍ ϊʔͱ͍͏͚ͩͷ͜ͱ͸͠ͳ͍   
  118. ۀ຿্ͷࠜڌͳ͘৘ใΛӅณ͠ͳ͍ l Ͳ͏ͤόϨΔɻόϨͨͱ͖ʹࣦΘΕΔ৴པΛߟ͑Δͱ͸ ͡Ί͔Βެ։͓͍ͯͨ͠΄͏͕ྑ͍ l ໽հͳ໰୊΄Ͳੵۃతʹ఻͑Δ͜ͱ l Ұॹʹղܾ͢ΔͨΊͷखஈΛߟ͑Δ Ӆ͠ࣄ͸͠ͳ͍

  119. ۀ຿্ͷࠜڌͳ͘৘ใΛӅณ͠ͳ͍ l Ͳ͏ͤόϨΔɻόϨͨͱ͖ʹࣦΘΕΔ৴པΛߟ͑Δͱ͸ ͡Ί͔Βެ։͓͍ͯͨ͠΄͏͕ྑ͍ l ໽հͳ໰୊΄Ͳੵۃతʹ఻͑Δ͜ͱ l Ұॹʹղܾ͢ΔͨΊͷखஈΛߟ͑Δ Ӆ͠ࣄ͸͠ͳ͍ 

    !$"#&14 +'0#/  (,*%.     #/32 -) 
  120. l ݸผʹย෇͚ΒΕΔ͜ͱ͸ย෇্͚ͨͰґཔ͢Δ l ґཔ͢Δࡍʹ΍͓ͬͯ͘͜ͱɾ੔ཧ͢Δ͜ͱ  ԿΛมߋ͢Δ͔  มߋ͢ΔࡍͷϦεΫ  มߋͷ੒ޭɾࣦഊͷ൑அج४ͱ݁Ռͷ௨஌ํ๏

     ࣦഊ࣌ͷରԠํ਑ ґཔ͢Δલʹ΍Δ͜ͱɾߟ͑Δ͜ͱΛͪΌΜͱ΍Δ
  121. l ݸผʹย෇͚ΒΕΔ͜ͱ͸ย෇্͚ͨͰґཔ͢Δ l ґཔ͢Δࡍʹ΍͓ͬͯ͘͜ͱɾ੔ཧ͢Δ͜ͱ  ԿΛมߋ͢Δ͔  มߋ͢ΔࡍͷϦεΫ  มߋͷ੒ޭɾࣦഊͷ൑அج४ͱ݁Ռͷ௨஌ํ๏

     ࣦഊ࣌ͷରԠํ਑ ґཔ͢Δલʹ΍Δ͜ͱɾߟ͑Δ͜ͱΛͪΌΜͱ΍Δ 1, 2 ( Welcome) 3, 4  
  122. %FW0QTΛҡ͍࣋ͯͨ͘͠ΊʹඞཁͳจԽ         

    
  123. ৴པؔ܎Λཱ֬Ͱ͖ͯͳ͍ঢ়ଶͰ͸݈શͳؔ܎͸࡞Εͳ͍ ૬ޓͷ৴པ

  124. ৴པؔ܎Λཱ֬Ͱ͖ͯͳ͍ঢ়ଶͰ͸݈શͳؔ܎͸࡞Εͳ͍ ૬ޓͷ৴པ ) ) D ) (

  125. 0QT͸৽ػೳʹ͍ͭͯٞ࿦͢Δࡍ͸%FWΛ৴པ͢Δ͜ͱ %FW͸Πϯϑϥߏ੒ͷมߋʹ͍ͭͯ͸0QTΛ৴པ͢Δ͜ͱ ޓ͍ʹಁ໌ੑΛҎͯۀ຿Λਪਐ͢Δ͜ͱ ޓ͍ʹ࠷େݶͷΞΫηεݖݶΛ౉͠߹͏͜ͱ ૬ޓͷ৴པΛங্͘Ͱॏཁͳ͜ͱ ( ( D ) (

    ( O
  126. %FW0QTΛҡ͍࣋ͯͨ͘͠ΊʹඞཁͳจԽ         

    
  127. l ࣦഊ͸ඞͣى͖Δz΋ͷͩͱ͍͏ҙࣝΛ࣋ͭ͜ͱ l ࣦഊΛճආ͢Δ͜ͱΛߟ͑ଓ͚͍ͯΔݶΓɺࣦഊʹରԠ ͢Δೳྗ͸޲্͠ͳ͍ ࣦഊʹରͯ͠ͷ݈શͳଶ౓

  128. l ࣦഊ͸ඞͣى͖Δz΋ͷͩͱ͍͏ҙࣝΛ࣋ͭ͜ͱ l ࣦഊͷ֬཰ΛԼ͛ΔͨΊʹzܦࡁతɾ޻਺తʹ߹ཧతͳൣғz Ͱ࢓૊ΈΛ૊Έ্͛Δ͜ͱ͸΋ͪΖΜඞཁ l ࣦഊΛճආ͢Δ͜ͱΛߟ͑ଓ͚͍ͯΔݶΓɺࣦഊʹରԠ ͢Δೳྗ͸޲্͠ͳ͍ ࣦഊʹରͯ͠ͷ݈શͳଶ౓

  129. l ࣦഊ͸ඞͣى͖Δz΋ͷͩͱ͍͏ҙࣝΛ࣋ͭ͜ͱ l ࣦഊͷ֬཰ΛԼ͛ΔͨΊʹzܦࡁతɾ޻਺తʹ߹ཧతͳൣғz Ͱ࢓૊ΈΛ૊Έ্͛Δ͜ͱ͸΋ͪΖΜඞཁ l ࣦഊΛճආ͢Δ͜ͱΛߟ͑ଓ͚͍ͯΔݶΓɺࣦഊʹରԠ ͢Δೳྗ͸޲্͠ͳ͍ l ࣦഊ͕ى͖ͯ΋Өڹ͕ى͖ͳ͍࢓૊Έ

    PS ਝ଎ʹ෮چͰ͖Δ࢓૊ΈΛ४උ͓ͯ͘͜͠ͱ ࣦഊʹରͯ͠ͷ݈શͳଶ౓
  130. l ࣦഊ͸ඞͣى͖Δz΋ͷͩͱ͍͏ҙࣝΛ࣋ͭ͜ͱ l ࣦഊͷ֬཰ΛԼ͛ΔͨΊʹzܦࡁతɾ޻਺తʹ߹ཧతͳൣғz Ͱ࢓૊ΈΛ૊Έ্͛Δ͜ͱ͸΋ͪΖΜඞཁ l ࣦഊΛճආ͢Δ͜ͱΛߟ͑ଓ͚͍ͯΔݶΓɺࣦഊʹରԠ ͢Δೳྗ͸޲্͠ͳ͍ l ࣦഊ͕ى͖ͯ΋Өڹ͕ى͖ͳ͍࢓૊Έ

    PS ਝ଎ʹ෮چͰ͖Δ࢓૊ΈΛ४උ͓ͯ͘͜͠ͱ ࣦഊʹରͯ͠ͷ݈શͳଶ౓ ( ( )
  131. ݪయͰड़΂ΒΕ͍ͯΔͷ͸ҎԼͷ̐ͭ %FW0QTΛҡ͍࣋ͯͨ͘͠ΊʹඞཁͳจԽ        

     
  132. l ໰୊͕ൃੜͨ͠ͱ͖ʹݪҼΛಛఆͷਓͷࢿ࣭ʹٻΊͳ͍ l Կ΋͠ͳ͍͜ͱ͕࠷େͷ੒Ռʹͳͬͯ͠·͏ l ҤॖޮՌͰͦͷਓͷύϑΥʔϚϯεΛ௿Լͤ͞Δ l ࣗ෼͕ࣦഊͨ͠ͱ͖ʹ௓Ͷฦͬͯ͘Δ ݸਓඇ೉ͷېࢭ

  133. l ໰୊͕ൃੜͨ͠ͱ͖ʹݪҼΛಛఆͷਓͷࢿ࣭ʹٻΊͳ͍ l Կ΋͠ͳ͍͜ͱ͕࠷େͷ੒Ռʹͳͬͯ͠·͏ l ҤॖޮՌͰͦͷਓͷύϑΥʔϚϯεΛ௿Լͤ͞Δ l ࣗ෼͕ࣦഊͨ͠ͱ͖ʹ௓Ͷฦͬͯ͘Δ ݸਓඇ೉ͷېࢭ "

  134. ૊৫ͷେ໨త $4$-ߩݙϏδωεͷ੒ޭͱརӹͷ֦େ Λ࣮ݱ͢Δ ֬཰Λ্͛ΔͨΊʹ͸ҎԼͷ̐ͭΛ࣮ݱ͍ͨ͠ ద੾ͳ૊৫จԽͷཱ֬ͱҡ࣋·ͱΊ . .8 "( # 

    %$ 76/* 43 -,4& 01  )!52 +'  
  135. © 2020, Recruit Technologies Co., Ltd. All rights reserved. Ϋϥ΢υΞʔΩςΫτ(

    ౻ݪ ྋഅ %FW0QTಋೖࢦೆ ʙٕज़ฤʙ
  136. େ໨తΛୡ੒͢Δ֬཰ΛߴΊΔʹ͸ %FWͱ0QTͷରཱΛղফ͢Δඞཁ͕͋Δ ରཱΛղফ͢ΔͨΊʹ ࠶ܝ ①  ②   

  137. େ͖͘෼͚ͯͭͷςΫϊϩδʔ͕%FW0QTจԽͷཱ֬Λࢧ ԉ͢ΔͱݴΘΕ͍ͯΔɻ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ %"# !$     

         !$     
  138. ҉໧తʹ࡮Γࠐ·Ε֤ͨϩʔϧͷ੹຿ͷҧ͍ʹىҼ ͳͥରཱ͕ى͜Δͷ͔ DevK3 ?BIL2 & %!5-. 6@2  OpsK3 !#(9:H/;D

    & %!5-M8N 6@O<  N  A GE4 !"',+)*$JC & & %!=10F>7
  139. େ͖͘෼͚ͯͭͷςΫϊϩδʔ͕%FW0QTจԽͷཱ֬Λࢧ ԉ͢ΔͱݴΘΕ͍ͯΔɻ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ %"# !$     

         !$     
  140. Ҏ߱ͰࠊΛਾ͔͑ͯͬ͠Γઆ໌ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ       

  141. ൺֱతγϯϓϧͳ΋ͷͭ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ %"# !$      

        !$     
  142. ൺֱతγϯϓϧͳ΋ͷͭ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ        

  143. ൺֱతγϯϓϧͳ΋ͷͭ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ        

  144. ൺֱతγϯϓϧͳ΋ͷͭ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ        

  145. ൺֱతγϯϓϧͳ΋ͷͭ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ        

  146. ͍ͣΕ΋҆શʹมߋΛߦ͏ͨΊͷ࢓૊Έ ·ͨ͸҆શʹࣦഊ͢ΔͨΊͷ࢓૊Έ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ       

  147. ͍ͣΕ΋҆શʹมߋΛߦ͏ͨΊͷ࢓૊Έ ·ͨ͸҆શʹࣦഊ͢ΔͨΊͷ࢓૊Έ %FW0QTจԽͷཱ֬Λࢧԉ͢ΔςΫϊϩδʔ       

  148. ҆શʹมߋΛߦ͏ʹ͸ʁ ) ( = )

  149. ҆શʹมߋΛߦ͏ʹ͸ʁ ) ( = )   

  150. l ςετۦಈ։ൃ l ܧଓతΠϯςάϨʔγϣϯ l ܧଓతσϓϩΠɾσϦόϦʔ l ϩʔϦϯάσϓϩΠ l ϒϧʔάϦʔϯσϓϩΠ

    l ΧφϦΞσϓϩΠ ଞʹ΋༷ʑͳख๏͋Γ ςετ༰қੑͱσϓϩΠ༰қੑΛߴΊΔͨΊͷखஈ
  151. ҆શʹมߋΛߦ͏ʹ͸ʁ ) ( = )   

  152. l ςετۦಈ։ൃ l ܧଓతΠϯςάϨʔγϣϯ $POUJOVPVT*OUFHSBUJPO$* ᶃ ҙਤͨ͠ͱ͓Γʹಈ࡞͢Δ͜ͱΛ֬ೝ͢Δखஈ

  153. l ςετۦಈ։ൃ l ܧଓతΠϯςάϨʔγϣϯ $POUJOVPVT*OUFHSBUJPO$* ᶃ ҙਤͨ͠ͱ͓Γʹಈ࡞͢Δ͜ͱΛ֬ೝ͢Δखஈ

  154. l ςετۦಈ։ൃ l ܧଓతΠϯςάϨʔγϣϯ $POUJOVPVT*OUFHSBUJPO$* ᶃ ҙਤͨ͠ͱ͓Γʹಈ࡞͢Δ͜ͱΛ֬ೝ͢Δखஈ @t_wada 

  155. ܧଓతΠϯςάϨʔγϣϯ

  156. ίʔυϦϙδτϦ΁ίϛοτ͞Εͨίʔυʹରͯ͠ҎԼΛߦ͏͜ͱ ᶃ ࣗಈϏϧυ ᶄ ࣗಈςετ ܧଓతΠϯςάϨʔγϣϯ -/ / - -/

    / .
  157. ίʔυϦϙδτϦ΁ίϛοτ͞Εͨίʔυʹରͯ͠ҎԼΛߦ͏͜ͱ ᶃ ࣗಈϏϧυ ᶄ ࣗಈςετ ܧଓతΠϯςάϨʔγϣϯ . - - .

    -. - - / - :
  158. ᶃ શһ͕ಉ͡खॱͰϏϧυͱςετΛ܁Γฦ͠ߦ͑ΔΑ͏ʹ͢ΔͨΊ ܧଓతΠϯςάϨʔγϣϯ͕ඞཁͳཧ༝

  159. ᶃ શһ͕ಉ͡खॱͰϏϧυͱςετΛ܁Γฦ͠ߦ͑ΔΑ͏ʹ͢ΔͨΊ ܧଓతΠϯςάϨʔγϣϯ͕ඞཁͳཧ༝      

  160. ᶃ શһ͕ಉ͡खॱͰϏϧυͱςετΛ܁Γฦ͠ߦ͑ΔΑ͏ʹ͢ΔͨΊ ᶄ ςετ͕ՄೳͳݶΓຊ൪؀ڥʹ͍ۙ؀ڥͰߦΘΕΔΑ͏ʹ͢Δ ܧଓతΠϯςάϨʔγϣϯ͕ඞཁͳཧ༝     

    
  161. ᶃ શһ͕ಉ͡खॱͰϏϧυͱςετΛ܁Γฦ͠ߦ͑ΔΑ͏ʹ͢ΔͨΊ ᶄ ςετ͕ՄೳͳݶΓຊ൪؀ڥʹ͍ۙ؀ڥͰߦΘΕΔΑ͏ʹ͢Δ ܧଓతΠϯςάϨʔγϣϯ͕ඞཁͳཧ༝  !   

       
  162. ᶃ શһ͕ಉ͡खॱͰϏϧυͱςετΛ܁Γฦ͠ߦ͑ΔΑ͏ʹ͢ΔͨΊ ᶄ ςετ͕ՄೳͳݶΓຊ൪؀ڥʹ͍ۙ؀ڥͰߦΘΕΔΑ͏ʹ͢Δ ᶅ ߴ͍ස౓ͰςετΛߦ͏ ܧଓతΠϯςάϨʔγϣϯ͕ඞཁͳཧ༝  ! 

         
  163. ෆ۩߹͕ࠞೖ͔ͯ͠Βͷ࣌ؒܦա͕ ௕͘ͳΔ΄ͲରԠίετ͸૿େ͢ΔͨΊ ߴ͍ස౓ͰςετΛߦ͏ඞཁੑ

  164. ෆ۩߹͕ࠞೖ͔ͯ͠Βͷ࣌ؒܦա͕ ௕͘ͳΔ΄ͲରԠίετ͸૿େ͢ΔͨΊ ߴ͍ස౓ͰςετΛߦ͏ඞཁੑ    

  165. $*Λࢧ͑Δ۩ମతͳπʔϧྫͱ෼ྨ CI      GNU make 

      go test python -m unittest * 
  166. $*Λࢧ͑Δ۩ମతͳπʔϧྫͱ෼ྨ CI      GNU make 

      go test python -m unittest *    
  167. $*Λࢧ͑Δ۩ମతͳπʔϧྫͱ෼ྨ CI      GNU make 

      go test python -m unittest *       
  168. $*Λࢧ͑Δ۩ମతͳπʔϧྫͱ෼ྨ CI      GNU make 

      go test python -m unittest *        
  169. ᶃ Ϗϧυͱςετ͕҆ఆ͠ͳ͍ ᶄ Ϗϧυͱςετͷ࣮ߦ͕஗͍ ࣮ߦ͕࣌ؒ௕͍ $*ͰΑ͋͘Δ໰୊

  170. աڈͷϏϧυʹ͓͚Δ෭ੜ੒෺ɾ෭࡞༻ʹΑͬͯςετ͕҆ఆ͠ͳ͍ ҙਤͤͣʹ࢒ͬͨதؒϑΝΠϧ΍%#ͷঢ়ଶͳͲʹىҼ ᶃ Ϗϧυͱςετ͕҆ఆ͠ͳ͍

  171. աڈͷϏϧυʹ͓͚Δ෭ੜ੒෺ɾ෭࡞༻ʹΑͬͯςετ͕҆ఆ͠ͳ͍ ҙਤͤͣʹ࢒ͬͨதؒϑΝΠϧ΍%#ͷঢ়ଶͳͲʹىҼ ᶃ Ϗϧυͱςετ͕҆ఆ͠ͳ͍   

  172. աڈͷϏϧυʹ͓͚Δ෭ੜ੒෺ɾ෭࡞༻ʹΑͬͯςετ͕҆ఆ͠ͳ͍ ҙਤͤͣʹ࢒ͬͨதؒϑΝΠϧ΍%#ͷঢ়ଶͳͲʹىҼ ᶃ Ϗϧυͱςετ͕҆ఆ͠ͳ͍    CIDocker  

     DB  docker-compose
  173. ςεταΠζͷ֓೦Λ࢖ͬͯޮ཰తʹςετ͢Δ l ςετ͕ࣦഊ͢Δׂ͘Β͍͸ͭ·Βͳ͍ݪҼ l -JOU΍ωοτϫʔΫ௨৴ͷൃੜ͠ͳ͍ߴ଎ͳςετͰચ͍ग़ͤΔ ᶄ Ϗϧυͱςετͷ࣮ߦ͕࣌ؒ௕͍ 3 3 +9

    )3 6 9 ( 3 3 3 3 0 3 3 3 6 3 39 3 3 3 3 3 3 39 6 3 3 ) 6 3 3 3 3 + 33 393 3 3 + 39 3 63 3 3 693 696 3 https://testing.googleblog.com/2010/12/test-sizes.html
  174. ͳΔ΂͘ૣ͍λΠϛϯάͰࣦഊͤ͞ ϑΟʔυόοΫαΠΫϧΛߴ଎ͰճͤΔΑ͏ʹ͢Δ ςεταΠζͷ֓೦ʹ߹Θͤͨ$*ύΠϓϥΠϯ࣮૷ྫ 3 & & & & 8 3

    8 3 & 8 & 1 2 3 & 1 2
  175. ϏϧυࣗମΛߴ଎Խ͢Δ ᶄ Ϗϧυͱςετͷ࣮ߦ͕࣌ؒ௕͍ https://speakerdeck.com/orisano/docker-build-battle https://speakerdeck.com/orisano/better-docker-image https://speakerdeck.com/orisano/docker-build-battle https://www.slideshare.net/AkihiroSuda/cndt-docker

  176. ϏϧυࣗମΛߴ଎Խ͢Δ ᶄ Ϗϧυͱςετͷ࣮ߦ͕࣌ؒ௕͍ https://speakerdeck.com/orisano/docker-build-battle https://speakerdeck.com/orisano/better-docker-image https://speakerdeck.com/orisano/docker-build-battle https://www.slideshare.net/AkihiroSuda/cndt-docker   

       
  177. ᶃ Ϗϧυͱςετ͕҆ఆ͠ͳ͍ l ରࡦϏϧυ͓ΑͼςετຖͷಠཱੑΛߴΊɺ؀ڥґଘੑΛԼ͛Δ ᶄ ςετͷ࣮ߦ͕࣌ؒ௕͍ l ରࡦςεταΠζͷ֓೦Λ࢖ͬͯͳΔ΂͘ૣ͍ஈ֊Ͱࣦഊͤ͞Δ l ରࡦϏϧυࣗମΛߴ଎Խ͢Δ

    $*ͰΑ͋͘Δ໰୊ͱରԠͷߟ͑ํ
  178. ҆શʹมߋΛߦ͏ʹ͸ʁ ) ( = )

  179. ҆શʹϦϦʔε͢Δͱ͸ʁ ᶄ҆શʹػೳΛϦϦʔε͢ΔͨΊͷखஈ    !    

  180. ҆શʹϦϦʔε͢Δͱ͸ʁ ᶄ҆શʹػೳΛϦϦʔε͢ΔͨΊͷखஈ    !    

    )( ( ) , ) ;
  181. ҆શʹϦϦʔε͢Δͱ͸ʁ ᶄ҆શʹػೳΛϦϦʔε͢ΔͨΊͷखஈ    !    

    )( ( ) , ) ;
  182. ίʔυมߋʹͱ΋ͳͬͯ ࣗಈతʹ࣮Քಇ؀ڥ΁ͷϦϦʔε४උ͕࣮ߦ͞ΕΔ͜ͱ l ܧଓతσϦόϦ l ϦϦʔεʹࡍͯ͠ঝೝϓϩηεΛڬΉ l ܧଓతσϓϩΠ l ϦϦʔε·Ͱ͢΂ͯࣗಈͰߦΘΕΔ

    ܧଓతσϦόϦɾσϓϩΠͱ͸ -/ / - -/ / .
  183. ͳͥܧଓతσϦόϦɾσϓϩΠ͕ඞཁ͔      

  184. खಈ࡞ۀͱσϓϩΠΛίʔυԽͨ͠৔߹Λൺֱ +        

         
  185. खಈ࡞ۀͱσϓϩΠΛίʔυԽͨ͠৔߹Λൺֱ +        

             
  186. खಈ࡞ۀͱσϓϩΠΛίʔυԽͨ͠৔߹Λൺֱ +        

            
  187. खಈ࡞ۀͱσϓϩΠΛίʔυԽͨ͠৔߹Λൺֱ +        

           
  188. खಈ࡞ۀͱσϓϩΠΛίʔυԽͨ͠৔߹Λൺֱ +        

           
  189. σϓϩΠͷίʔυԽʹࡍͯ͠ߟ͑Δ͜ͱ        

  190. σϓϩΠͷίʔυԽʹࡍͯ͠ߟ͑Δ͜ͱ         

        
  191. σϓϩΠͷίʔυԽʹࡍͯ͠ߟ͑Δ͜ͱ  0  ' # .   2

     %     &  / "   (0 1 ≒ * !+) ') ,$-( 
  192. σϓϩΠͷίʔυԽʹࡍͯ͠ߟ͑Δ͜ͱ  7%  . * 5   9

     , # " # " -  6! $'    (7%8 ≒ 1  &2) .0 3+4/    () 6!
  193. l ༏ઌॱҐΛ্͚ͭͨͰࣗಈԽ͢Δ l ස౓ Y࡞ۀͷεςοϓ਺ Ͱ༏ઌ౓Λ൑அ ܧଓతσϦόϦɾσϓϩΠ

  194. ҆શʹϦϦʔε͢Δͱ͸ʁ ᶄ҆શʹػೳΛϦϦʔε͢ΔͨΊͷखஈ    !    

    )( ( ) , ) ;
  195. l ϩʔϦϯάσϓϩΠ l ϒϧʔάϦʔϯσϓϩΠ ΠϛϡʔλϒϧσϓϩΠ l ΧφϦΞϦϦʔε ͜͜Ͱղઆ͢ΔσϓϩΠɾϦϦʔεख๏

  196. ଟ਺͋Δ৑௕Խ͞ΕͨίϯϙʔωϯτΛঃʑʹೖΕସ͑Δख๏ ϩʔϦϯάσϓϩΠ APP ver.1.0 APP ver.1.0 APP ver.1.0 APP ver.1.0

    Loadbalancer Database
  197. ଟ਺͋Δ৑௕Խ͞ΕͨίϯϙʔωϯτΛঃʑʹೖΕସ͑Δख๏ ϩʔϦϯάσϓϩΠ APP ver.1.1 APP ver.1.0 APP ver.1.0 APP ver.1.0

    Loadbalancer Database
  198. ଟ਺͋Δ৑௕Խ͞ΕͨίϯϙʔωϯτΛঃʑʹೖΕସ͑Δख๏ ϩʔϦϯάσϓϩΠ APP ver.1.1 APP ver.1.1 APP ver.1.0 APP ver.1.0

    Loadbalancer Database
  199. ଟ਺͋Δ৑௕Խ͞ΕͨίϯϙʔωϯτΛঃʑʹೖΕସ͑Δख๏ ϩʔϦϯάσϓϩΠ APP ver.1.1 APP ver.1.1 APP ver.1.1 APP ver.1.0

    Loadbalancer Database
  200. ଟ਺͋Δ৑௕Խ͞ΕͨίϯϙʔωϯτΛঃʑʹೖΕସ͑Δख๏ ϩʔϦϯάσϓϩΠ APP ver.1.1 APP ver.1.1 APP ver.1.1 APP ver.1.1

    Loadbalancer Database
  201. ᶃ ೖସ଎౓ͷ഑ྀ ᶄ σʔλͷόʔδϣϯؒޓ׵ੑ ΁ͷ഑ྀ ϩʔϦϯάσϓϩΠͷ஫ҙ఺ APP ver.1.1 APP ver.1.0

    APP ver.1.0 APP ver.1.0 Loadbalancer Database APP ver.1.1 APP ver.1.1 APP ver.1.0 APP ver.1.0 Loadbalancer Database interval APP ver.1.1 APP ver.1.1 APP ver.1.0 APP ver.1.0 Loadbalancer Database ,'! !   * " (* 0&%- .$)   #  / !+ 
  202. ໘Λͭ ϒϧʔάϦʔϯ ༻ҙ͠ɺ੾Γସ͑Δ ϒϧʔɾάϦʔϯσϓϩΠ ΠϛϡʔλϒϧσϓϩΠ APP ver.1.0 APP ver.1.0 APP

    ver.1.0 APP ver.1.0 Loadbalancer Database 
  203. ໘Λͭ ϒϧʔάϦʔϯ ༻ҙ͠ɺ੾Γସ͑Δ ϒϧʔɾάϦʔϯσϓϩΠ ΠϛϡʔλϒϧσϓϩΠ APP ver.1.1 APP ver.1.1 APP

    ver.1.0 APP ver.1.0 Loadbalancer Database     
  204. ໘Λͭ ϒϧʔάϦʔϯ ༻ҙ͠ɺ੾Γସ͑Δ ϒϧʔɾάϦʔϯσϓϩΠ ΠϛϡʔλϒϧσϓϩΠ APP ver.1.1 APP ver.1.1 APP

    ver.1.0 APP ver.1.0 Loadbalancer Database   
  205. ໘Λͭ ϒϧʔάϦʔϯ ༻ҙ͠ɺ੾Γସ͑Δ ϒϧʔɾάϦʔϯσϓϩΠ ΠϛϡʔλϒϧσϓϩΠ APP ver.1.1 APP ver.1.1 Loadbalancer

    Database " % $     #!    
  206. ᶃ Ϧιʔείετ l ؀ڥΛ໘ҡ࣋͢Δίετ l ଴ػϦιʔείετ͕ؾʹͳΔ৔߹͸ ΠϛϡʔλϒϧσϓϩΠΛݕ౼ ᶄ ੾ସϙΠϯτ l

    ޙड़ ϒϧʔɾάϦʔϯσϓϩΠͷߟྀࣄ߲
  207. τϥϑΟοΫΛίϯτϩʔϧ͢ΔϙΠϯτ͕ଟ਺ଘࡏ͢Δ ϒϧʔɾάϦʔϯσϓϩΠͷߟྀࣄ߲ ੾ସϙΠϯτ  CDN Loadbalancer Web AP DNS

  208. τϥϑΟοΫΛίϯτϩʔϧ͢ΔϙΠϯτ͕ଟ਺ଘࡏ͢Δ ϒϧʔɾάϦʔϯσϓϩΠͷߟྀࣄ߲ ੾ସϙΠϯτ  CDN Loadbalancer Web AP DNS

  209. τϥϑΟοΫΛίϯτϩʔϧ͢ΔϙΠϯτ͕ଟ਺ଘࡏ͢Δ ϒϧʔɾάϦʔϯσϓϩΠͷߟྀࣄ߲ ੾ସϙΠϯτ  CDN Loadbalancer Web AP DNS Loadbalancer

    Web AP
  210. τϥϑΟοΫΛίϯτϩʔϧ͢ΔϙΠϯτ͕ଟ਺ଘࡏ͢Δ ϒϧʔɾάϦʔϯσϓϩΠͷߟྀࣄ߲ ੾ସϙΠϯτ  CDN Loadbalancer Web AP DNS Web

    AP
  211. τϥϑΟοΫΛίϯτϩʔϧ͢ΔϙΠϯτ͕ଟ਺ଘࡏ͢Δ ϒϧʔɾάϦʔϯσϓϩΠͷߟྀࣄ߲ ੾ସϙΠϯτ  CDN Loadbalancer Web AP DNS AP

  212. τϥϑΟοΫΛίϯτϩʔϧ͢ΔϙΠϯτ͕ଟ਺ଘࡏ͢Δ ϒϧʔɾάϦʔϯσϓϩΠͷߟྀࣄ߲ ੾ସϙΠϯτ  CDN Loadbalancer Web AP DNS

  213. ঃʑʹ৽͍͠όʔδϣϯʹτϥϑΟοΫΛྲྀͯ͠ Τϥʔ཰ͷมಈͳͲΛݟͭͭɺ҆શʹϦϦʔε͢Δख๏ ΧφϦΞϦϦʔε APP ver.1.0 APP ver.1.0 APP ver.0.9 APP

    ver.0.9 Loadbalancer Database 100%
  214. ঃʑʹ৽͍͠όʔδϣϯʹτϥϑΟοΫΛྲྀͯ͠ Τϥʔ཰ͷมಈͳͲΛݟͭͭɺ҆શʹϦϦʔε͢Δख๏ ΧφϦΞϦϦʔε APP ver.1.0 APP ver.1.0 APP ver.1.1 APP

    ver.1.1 Loadbalancer Database     100%
  215. ঃʑʹ৽͍͠όʔδϣϯʹτϥϑΟοΫΛྲྀͯ͠ Τϥʔ཰ͷมಈͳͲΛݟͭͭɺ҆શʹϦϦʔε͢Δख๏ ΧφϦΞϦϦʔε APP ver.1.0 APP ver.1.0 APP ver.1.1 APP

    ver.1.1 Loadbalancer Database 75% 25%
  216. ঃʑʹ৽͍͠όʔδϣϯʹτϥϑΟοΫΛྲྀͯ͠ Τϥʔ཰ͷมಈͳͲΛݟͭͭɺ҆શʹϦϦʔε͢Δख๏ ΧφϦΞϦϦʔε APP ver.1.0 APP ver.1.0 APP ver.1.1 APP

    ver.1.1 Loadbalancer Database 50% 50%
  217. ঃʑʹ৽͍͠όʔδϣϯʹτϥϑΟοΫΛྲྀͯ͠ Τϥʔ཰ͷมಈͳͲΛݟͭͭɺ҆શʹϦϦʔε͢Δख๏ ΧφϦΞϦϦʔε APP ver.1.0 APP ver.1.0 APP ver.1.1 APP

    ver.1.1 Loadbalancer Database 25% 75%
  218. ঃʑʹ৽͍͠όʔδϣϯʹτϥϑΟοΫΛྲྀͯ͠ Τϥʔ཰ͷมಈͳͲΛݟͭͭɺ҆શʹϦϦʔε͢Δख๏ ΧφϦΞϦϦʔε APP ver.1.0 APP ver.1.0 APP ver.1.1 APP

    ver.1.1 Loadbalancer Database 100%
  219. l (P4UPQج४ͷ໌֬Խ l ߴ඼࣭ͳ؂ࢹɾϞχλϦϯάج൫͸ඞਢ 6*69ɺγεςϜ؍఺྆໘ ΧφϦΞϦϦʔεͷߟྀࣄ߲

  220. ҆શͳσϓϩΠɾϦϦʔεͷͨΊͷख๏ͱͯ͠ҎԼΛղઆͨ͠ l ϩʔϦϯάσϓϩΠ l ϒϧʔάϦʔϯσϓϩΠ ΠϛϡʔλϒϧσϓϩΠ l ΧφϦΞϦϦʔε σϓϩΠɾϦϦʔεख๏·ͱΊ

  221. ҆શͳσϓϩΠɾϦϦʔεͷͨΊͷख๏ͱͯ͠ҎԼΛղઆͨ͠ l ϩʔϦϯάσϓϩΠ l ϒϧʔάϦʔϯσϓϩΠ ΠϛϡʔλϒϧσϓϩΠ l ΧφϦΞϦϦʔε σϓϩΠɾϦϦʔεख๏·ͱΊ ଞʹ΋༷ʑͳख๏͕͋Γɺ

    ࡉʑͱͨ͠ςΫχοΫ΍ଊ͑ํ͕͋ΔͷͰͦ͜͸ ೔ʑࢼߦࡨޡ͠ͳ͕ΒֶΜͰ͍ͩ͘͞
  222. Ͳ͏΍ͬͯ඼࣭Λຏ͖ࠐΉ͔ ܧଓతσϓϩΠɾσϦόϦʔͷ՝୊

  223. Ͳ͏΍ͬͯ඼࣭Λຏ͖ࠐΉ͔ ܧଓతσϓϩΠɾσϦόϦʔͷ՝୊ ΞϓϦέʔγϣϯίʔυͱಉ༷ʹ ຏ͖ࠐΈ 㲈ࣦഊɾࢼߦࡨޡ ͕ڐ͞ΕΔ؀ڥΛ४උɾ׆༻͢Δ

  224. Ͳ͏΍ͬͯ඼࣭Λຏ͖ࠐΉ͔ ܧଓతσϓϩΠɾσϦόϦʔͷ՝୊ ΞϓϦέʔγϣϯίʔυͱಉ༷ʹ ຏ͖ࠐΈ 㲈ࣦഊɾࢼߦࡨޡ ͕ڐ͞ΕΔ؀ڥΛ४උɾ׆༻͢Δ ։ൃ؀ڥɾεςʔδϯά؀ڥ΁ͷσϓϩΠ΋ຊ൪ͱಉ͡खॱͰߦ͏

  225. ಉ͡खॱͰσϓϩΠ͢Δ σϓϩΠϓϩηεͷ౷Ұ ։ൃ εςʔδϯά ຊ൪

  226. ؀ڥࠩ෼ΛՄೳͳݶΓഉআ͢Δ σϓϩΠϓϩηεΛ౷Ұ͢Δ্ͰͷϙΠϯτ DNS e.g. Route53Private DNS    

    
  227. ؀ڥࠩ෼ΛՄೳͳݶΓഉআ͢Δ σϓϩΠϓϩηεΛ౷Ұ͢Δ্ͰͷϙΠϯτ DNS e.g. Route53Private DNS    

    
  228. ؀ڥࠩ෼Λ༰қʹຒΊΒΕΔΑ͏ʹ ΞϓϦέʔγϣϯΛ࡞Δ ΞϓϦέʔγϣϯઃఆํ๏ Good Bad 1, #"$ ## 1,1,!+4& /)*.1,23*

    *%-05 (' 1,! # 
  229. l ϓϩηεΛຏ͖ࠐΉͨΊͷ৔Λ֬อ͢Δ l ຏ͖ࠐΈΛҙຯ͋Δ΋ͷʹ͢ΔͨΊ ؀ڥؒͷࠩ෼Λ࠷খʹอͭ ܧଓతσϓϩΠɾσϦόϦʔ՝୊ͷ·ͱΊ

  230. %FW0QTΛ࣮ફͯ͠ҎԼΛ࣮ݱ͢ΔͨΊͷ֤छख๏Λղઆͨ͠ ·ͱΊ "  !     

  231. 

  232.         %FW0QTΛ࣮ફͰ͖͍ͯΔاۀ WT

    %FW0QTΛ࣮ફͰ͖͍ͯͳ͍اۀ %FW0QTΛ࣮ફͰ͖ͨ࣌ͷޮՌ  &          " $!%  #  DevOpsLean  
  233. '0:"1 26)   '0:"1 $  %FW0QTΛ࣮ફͰ͖͍ͯΔاۀ WT %FW0QTΛ࣮ફͰ͖͍ͯͳ͍اۀ

    %FW0QTΛ࣮ફͰ͖ͨ࣌ͷޮՌ  &          " $!%  #  DevOpsLean3'/&-5  ,*4 # 98 ( %. +!7 
  234. ҉໧తʹ࡮Γࠐ·Ε֤ͨϩʔϧͷ੹຿ͷҧ͍ʹىҼ ͳͥରཱ͕ى͜Δͷ͔ DevK3 ?BIL2 & %!5-. 6@2  OpsK3 !#(9:H/;D

    & %!5-M8N 6@O<  N  A GE4 !"',+)*$JC & & %!=10F>7
  235. ҉໧తʹ࡮Γࠐ·Ε֤ͨϩʔϧͷ੹຿ͷҧ͍ʹىҼ ͳͥରཱ͕ى͜Δͷ͔ DevK3 ?BIL2 & %!5-. 6@2  OpsK3 !#(9:H/;D

    & %!5-M8N 6@O<  N  A GE4 !"',+)*$JC & & %!=10F>7 ϛογϣϯͷҧ͍Λཧղ্ͨ͠Ͱ ҆શʹมߋ͢ΔͨΊͷํ๏Λߟ͑ͯຏ͘ ͍·͸ͦͷͨΊͷಓ۩΍ຏͨ͘Ίͷख๏͸ͨ͘͞Μ͋Δ
  236. ΧελϚʔΫϥΠΞϯτ΁ͷߩݙ ͱ͔ͦ͜Β΋ͨΒ͞ΕΔ Ϗδωεͷ੒ޭͱརӹͷ֦େ

  237. ΧελϚʔΫϥΠΞϯτ΁ͷߩݙ ͱ͔ͦ͜Β΋ͨΒ͞ΕΔ Ϗδωεͷ੒ޭͱརӹͷ֦େ ΍͍͖ͬͯ

  238.  THE TWELVE-FACTOR APP

  239. l ηοτΞοϓͷࣗಈԽͷͨΊʹએݴతͳϑΥʔϚοτΛ࢖͍ɺ ϓϩδΣΫτʹ৽͘͠ՃΘͬͨ։ൃऀ͕ཁ͢Δ࣌ؒͱίετΛ࠷খԽ͢Δ l Լ૚ͷ04΁ͷґଘؔ܎Λ໌֬Խ͠ɺ࣮ߦ؀ڥ͍͋ͩͰͷҠ২ੑΛ࠷େԽ͢Δ l ϞμϯͳΫϥ΢υϓϥοτϑΥʔϜ্΁ͷσϓϩΠʹద͓ͯ͠Γɺ αʔό؅ཧɺγεςϜ؅ཧΛෆཁͳ΋ͷʹ͢Δ l ։ൃ؀ڥͱຊ൪؀ڥͷࠩҟΛ࠷খݶʹ͠ɺΞδϦςΟΛ࠷େԽ͢ΔܧଓతσϓϩΠΛՄೳʹ͢Δ

    l πʔϧɺΞʔΩςΫνϟɺ։ൃϓϥΫςΟεΛେ෯ʹมߋ͢Δ͜ͱͳ͘εέʔϧΞοϓͰ͖Δ 5)&58&-7&'"$503"11ͱ͸     https://12factor.net/ja/
  240. 5IF5XFMWF'BDUPST *ίʔυϕʔε όʔδϣϯ؅ཧ͞Ε͍ͯΔͭͷίʔυϕʔεͱ ෳ਺ͷσϓϩΠ **ґଘؔ܎ ґଘؔ܎Λ໌ࣔతʹએݴ͠෼཭͢Δ ***ઃఆ ઃఆΛ؀ڥม਺ʹ֨ೲ͢Δ *7όοΫΤϯυαʔϏε όοΫΤϯυαʔϏεΛΞλον͞ΕͨϦιʔε

    ͱͯ͠ѻ͏ 7ϏϧυɾϦϦʔεɾ࣮ߦ ϏϧυɾϦϦʔεɾ࣮ߦͷͭͷεςʔδΛݫີ ʹ෼཭͢Δ 7*ϓϩηε ΞϓϦέʔγϣϯΛͭ΋͘͠͸ෳ਺ͷεςʔτ Ϩεͳϓϩηεͱ࣮ͯ͠ߦ 7**ϙʔτόΠϯσΟϯά ϙʔτόΠϯσΟϯάΛ௨ͯ͠αʔϏεΛެ։͢Δ 7***ฏߦੑ ϓϩηεϞσϧʹΑͬͯεέʔϧΞ΢τ͢Δ *9ഇغ༰қੑ ߴ଎ͳىಈͱάϨʔεϑϧγϟοτμ΢ϯͰݎ࿚ੑΛ࠷ େԽ͢Δ 9։ൃຊ൪Ұக ։ൃɺεςʔδϯάɺຊ൪؀ڥΛͰ͖Δ͚ͩҰகͤͨ͞ ঢ়ଶΛอͭ 9*ϩά ϩάΛΠϕϯτετϦʔϜͱͯ͠ѻ͏ 9**؅ཧϓϩηε ؅ཧλεΫΛճݶΓͷϓϩηεͱ࣮ͯ͠ߦ͢Δ
  241. 5IF5XFMWF'BDUPST *ίʔυϕʔε όʔδϣϯ؅ཧ͞Ε͍ͯΔͭͷίʔυϕʔεͱ ෳ਺ͷσϓϩΠ **ґଘؔ܎ ґଘؔ܎Λ໌ࣔతʹએݴ͠෼཭͢Δ ***ઃఆ ઃఆΛ؀ڥม਺ʹ֨ೲ͢Δ *7όοΫΤϯυαʔϏε όοΫΤϯυαʔϏεΛΞλον͞ΕͨϦιʔε

    ͱͯ͠ѻ͏ 7ϏϧυɾϦϦʔεɾ࣮ߦ ϏϧυɾϦϦʔεɾ࣮ߦͷͭͷεςʔδΛݫີ ʹ෼཭͢Δ 7*ϓϩηε ΞϓϦέʔγϣϯΛͭ΋͘͠͸ෳ਺ͷεςʔτ Ϩεͳϓϩηεͱ࣮ͯ͠ߦ 7**ϙʔτόΠϯσΟϯά ϙʔτόΠϯσΟϯάΛ௨ͯ͠αʔϏεΛެ։͢Δ 7***ฏߦੑ ϓϩηεϞσϧʹΑͬͯεέʔϧΞ΢τ͢Δ *9ഇغ༰қੑ ߴ଎ͳىಈͱάϨʔεϑϧγϟοτμ΢ϯͰݎ࿚ੑΛ࠷ େԽ͢Δ 9։ൃຊ൪Ұக ։ൃɺεςʔδϯάɺຊ൪؀ڥΛͰ͖Δ͚ͩҰகͤͨ͞ ঢ়ଶΛอͭ 9*ϩά ϩάΛΠϕϯτετϦʔϜͱͯ͠ѻ͏ 9**؅ཧϓϩηε ؅ཧλεΫΛճݶΓͷϓϩηεͱ࣮ͯ͠ߦ͢Δ    Dev, Ops" ! 
  242. 5IF5XFMWF'BDUPST *ίʔυϕʔε όʔδϣϯ؅ཧ͞Ε͍ͯΔͭͷίʔυϕʔεͱ ෳ਺ͷσϓϩΠ **ґଘؔ܎ ґଘؔ܎Λ໌ࣔతʹએݴ͠෼཭͢Δ ***ઃఆ ઃఆΛ؀ڥม਺ʹ֨ೲ͢Δ *7όοΫΤϯυαʔϏε όοΫΤϯυαʔϏεΛΞλον͞ΕͨϦιʔε

    ͱͯ͠ѻ͏ 7ϏϧυɾϦϦʔεɾ࣮ߦ ϏϧυɾϦϦʔεɾ࣮ߦͷͭͷεςʔδΛݫີ ʹ෼཭͢Δ 7*ϓϩηε ΞϓϦέʔγϣϯΛͭ΋͘͠͸ෳ਺ͷεςʔτ Ϩεͳϓϩηεͱ࣮ͯ͠ߦ 7**ϙʔτόΠϯσΟϯά ϙʔτόΠϯσΟϯάΛ௨ͯ͠αʔϏεΛެ։͢Δ 7***ฏߦੑ ϓϩηεϞσϧʹΑͬͯεέʔϧΞ΢τ͢Δ *9ഇغ༰қੑ ߴ଎ͳىಈͱάϨʔεϑϧγϟοτμ΢ϯͰݎ࿚ੑΛ࠷ େԽ͢Δ 9։ൃຊ൪Ұக ։ൃɺεςʔδϯάɺຊ൪؀ڥΛͰ͖Δ͚ͩҰகͤͨ͞ ঢ়ଶΛอͭ 9*ϩά ϩάΛΠϕϯτετϦʔϜͱͯ͠ѻ͏ 9**؅ཧϓϩηε ؅ཧλεΫΛճݶΓͷϓϩηεͱ࣮ͯ͠ߦ͢Δ % &')  Dev, Ops-,  $# $# = !'"%( *+
  243. ϦϙδτϦͰ؅ཧ͞Ε͍ͯͳ͍ίʔυ͸σϓϩΠ͠ͳ͍ *ίʔυϕʔε

  244. ϦϙδτϦͰ؅ཧ͞Ε͍ͯͳ͍ίʔυ͸σϓϩΠ͠ͳ͍ ୯ҰͷϦϙδτϦ͔ΒϩʔΧϧɾ։ൃɾ εςʔδϯάɾຊ൪ʹσϓϩΠͰ͖ΔΑ͏ʹ͓ͯ͘͠ ؀ڥ͝ͱʹར༻͍ͯ͠ΔϦϙδτϦ͕ҟͳΒͳ͍Α͏ʹ͢Δ *ίʔυϕʔε    

  245. ϦϙδτϦͰ؅ཧ͞Ε͍ͯͳ͍ίʔυ͸σϓϩΠ͠ͳ͍ ୯ҰͷϦϙδτϦ͔ΒϩʔΧϧɾ։ൃɾ εςʔδϯάɾຊ൪ʹσϓϩΠͰ͖ΔΑ͏ʹ͓ͯ͘͠ ؀ڥ͝ͱʹར༻͍ͯ͠ΔϦϙδτϦ͕ҟͳΒͳ͍Α͏ʹ͢Δ *ίʔυϕʔε %$.) "  /( "!"',

        ( +"# vim0 "&- *1 =  )
  246. ΞϓϦέʔγϣϯΛಈ্͔͢Ͱ ඞཁͳཁૉͷґଘؔ܎͕໌ࣔతʹఆٛ͞Ε͍ͯΔ͜ͱ **ґଘؔ܎ 3VCZ (FNˠ (FNGJMF /PEFKT ˠ QBDLBHFKTPO 1ZUIPO

    1ZQJ ˠ SFRVJSFNFOUTUYU +BWB ˠ QPNYNM %PDLFS ˠ %PDLFSGJMF
  247. ΞϓϦέʔγϣϯΛಈ্͔͢Ͱ ඞཁͳཁૉͷґଘؔ܎͕໌ࣔతʹఆٛ͞Ε͍ͯΔ͜ͱ **ґଘؔ܎ 3VCZ (FNˠ (FNGJMF /PEFKT ˠ QBDLBHFKTPO 1ZUIPO

    1ZQJ ˠ SFRVJSFNFOUTUYU +BWB ˠ QPNYNM %PDLFS ˠ %PDLFSGJMF ϩʔΧϧ։ൃͷࡍʹ௥Ճͷखॱ͕ൃੜ͢Δ৔߹͸ Կ͔͠Βͷ໰୊Λ๊͍͑ͯΔͱߟ͑ͨํ͕ྑ͍ ΋ͪΖΜݴޠ؀ڥͷߏஙͦͷ΋ͷ͸আ͘ FHNBWFOͰηοτΞοϓͨ͠ޙʹԿ͔Α͘Θ͔Βͳ͍KBSϑΝΠϧΛґଘؔ܎ʹೖΕΔͳͲ
  248. ઃఆΛΞϓϦέʔγϣϯίʔυ͔Βݫີʹ෼཭Ͱ͖ΔΑ͏ʹ͢Δ ***ઃఆ

  249. ઃఆΛΞϓϦέʔγϣϯίʔυ͔Βݫີʹ෼཭Ͱ͖ΔΑ͏ʹ͢Δ ***ઃఆ  "(#!// )     )

    N G ( ( G ( 
  250. ΞϓϦέʔγϣϯ͕ΞΫηε͢ΔϦιʔε͸৔ॴͳͲΛҙ ࣝ͢Δ͜ͱͳ͘ΞΫηεͰ͖ΔΑ͏ʹ͢Δ͜ͱ ΞϓϦέʔγϣϯίʔυΛมߋ͢Δ͜ͱͳ͘ɺ ઀ଓઌͷϦιʔεΛมߋͰ͖ΔΑ͏ʹ͢Δ͜ͱ *7όοΫΤϯυαʔϏε    

  251. ϏϧυɾϦϦʔεɾ࣮ߦͷϓϩηεΛ໌֬ʹ෼͚Δ 7ϏϧυɾϦϦʔεɾ࣮ߦ ίʔυ  ࣮ߦՄೳͳ όΠφϦ ઃఆ ϑΝΠϧ PS؀ڥม਺ ઃఆ

    ϑΝΠϧ PS؀ڥม਺  ࣮ߦՄೳͳ όΠφϦ Ϗϧυ ϦϦʔε ࣮ߦ ෆ۩߹ݕ஌ PS৽ػೳཁٻ ϦϑΝΫλϦϯά΋͋ΔΑ ίʔυमਖ਼ ɾ௥Ճ
  252. ϏϧυɾϦϦʔεɾ࣮ߦͷϓϩηεΛ໌֬ʹ෼͚Δ 7ϏϧυɾϦϦʔεɾ࣮ߦ ίʔυ  ࣮ߦՄೳͳ όΠφϦ ઃఆ ϑΝΠϧ PS؀ڥม਺ ઃఆ

    ϑΝΠϧ PS؀ڥม਺  ࣮ߦՄೳͳ όΠφϦ Ϗϧυ ϦϦʔε ࣮ߦ ෆ۩߹ݕ஌ PS৽ػೳཁٻ ϦϑΝΫλϦϯά΋͋ΔΑ ίʔυमਖ਼ ɾ௥Ճ -',   (&.+ (%!"!#*    ! !#*   " )$ )
  253. ΞϓϦέʔγϣϯΛ୯Ұɺ΋͘͠͸ ෳ਺ͷεςʔτϨεͳϓϩηεͱ࣮ͯ͠ߦ͢Δ 7*ϓϩηε

  254. ΞϓϦέʔγϣϯΛ୯Ұɺ΋͘͠͸ ෳ਺ͷεςʔτϨεͳϓϩηεͱ࣮ͯ͠ߦ͢Δ 7*ϓϩηε    

  255. ΞϓϦέʔγϣϯΛ୯Ұɺ΋͘͠͸ ෳ਺ͷεςʔτϨεͳϓϩηεͱ࣮ͯ͠ߦ͢Δ 7*ϓϩηε   !  (Redis, Memcached, RDB

      )
  256. ΞϓϦέʔγϣϯϓϩηεͦͷ΋ͷ͕ ϙʔτόΠϯσΟϯάΛ௨ͯ͡αʔϏεΛެ։͢Δ ࢦఆ͞Εͨ5$16%1ϙʔτ൪߸Λ࢖ͬͯαʔϏεΛެ։͢Δ 7**ϙʔτόΠϯσΟϯά

  257. εέʔϧΞ΢τ͸ϓϩηεϞσϧʹΑͬͯߦΘΕΔ 7***ฒߦੑ

  258. εέʔϧΞ΢τ͸ϓϩηεϞσϧʹΑͬͯߦΘΕΔ 7***ฒߦੑ    "  !#

  259. l ϓϩηε͕04͔Βͷ4*(5&3.γάφϧड͚औͬͨࡍʹά Ϩʔεϑϧ ʹγϟοτμ΢ϯͰ͖ΔΑ͏ʹ͢Δ l ఀࢭͷࡍʹෳࡶͳखଓ͖Λ͍Βͳ͍Α͏ʹ͢Δ l ىಈ࣌ؒΛ࠷খԽ͢Δ l ϓϩηε͕ىಈ͔ͯ͠ΒͰ͖Δ͚ͩ୹࣌ؒͰॲཧΛ։࢝Ͱ͖ΔΑ͏ʹ͢Δ

    *9ഇغ༰қੑ *       
  260. ։ൃεςʔδϯάຊ൪ΛͰ͖Δ͚ͩҰகͤͨ͞ঢ়ଶΛอͭ l ߏ੒ཁૉ͸ଗ͑Δ l ຊ൪ʹ͔͠ଘࡏ͠ͳ͍ίϯϙʔωϯτ͕ͳ͍Α͏ʹ͢Δ l ϥΠηϯε΍ίετͷ౎߹Ͱͦ͏ͳ͍ͬͯΔͳΒͦ΋ͦ΋ͷߏ੒Λݟ௚͢ l εέʔϧ·Ͱଗ͑Δ͔͸༧ࢉͱ૬ஊ l

    ෛՙࢼݧ࣌ͷΈΦϯσϚϯυʹଗ͑ΒΕΔΑ͏ʹ͓ͯ͘͠ͱ͍ͬͨ޻෉͸ΞϦ l Ұக͍ͯ͠ͳ͍෦෼͸໌จԽ͢Δ l ؀ڥ͝ͱͷࠩ෼͸໌จԽ͠ɺ༰қʹؾ෇͚ΔΑ͏ʹ͢Δ l ύϒϦοΫΫϥ΢υͰ͋Ε͹JOUFSOBM%/4Λ͏·͘׆༻Ͱ͖Δͱ͔ͳΓڧྗ 9։ൃຊ൪Ұக
  261. ϩά͸GMVFOUE΍MPHTUBTIͳͲͷπʔϧΛ ༻͍ͯಛఆͷ৔ॴʹू໿͢Δ 9*ϩά   ਺ेʙ਺ඦͷαʔόʔ ਺ेʙ਺ඦͷαʔόʔ ू໿  

      ϩάͷू໿Λ͍ͯ͠ͳ͍৔߹ ϩάͷू໿Λ͍ͯ͠Δ৔߹
  262. ϩά͸GMVFOUE΍MPHTUBTIͳͲͷπʔϧΛ ༻͍ͯಛఆͷ৔ॴʹू໿͢Δ 9*ϩά   ਺ेʙ਺ඦͷαʔόʔ ਺ेʙ਺ඦͷαʔόʔ ू໿  

      ϩάͷू໿Λ͍ͯ͠ͳ͍৔߹ ϩάͷू໿Λ͍ͯ͠Δ৔߹      ( MTTR)
  263. ؅ཧλεΫ %#ͷઃఆมߋͳͲ ΛҰճݶΓͷϓϩηεͱ࣮ͯ͠ߦ͢Δ ྫ͑͹ɺ%#ͷϚΠάϨʔγϣϯλεΫ͸ίʔυͱηοτʹͳ͓ͬͯΓɺ ϦϦʔε࣌ʹ࣮ߦ͞ΕΔΑ͏ʹͳ͍ͬͯΔ 9**؅ཧϓϩηε QZUIPO %KBOHP QZUIPONBOBHFQZNJHSBUF 3VCZ

    3P3 SBLFECNJHSBUF HP TRMNJHSBUF TRMNJHSBUFVQ
  264. ؅ཧλεΫ %#ͷઃఆมߋͳͲ ΛҰճݶΓͷϓϩηεͱ࣮ͯ͠ߦ͢Δ ྫ͑͹ɺ%#ͷϚΠάϨʔγϣϯλεΫ͸ίʔυͱηοτʹͳ͓ͬͯΓɺ ϦϦʔε࣌ʹ࣮ߦ͞ΕΔΑ͏ʹͳ͍ͬͯΔ 9**؅ཧϓϩηε QZUIPO %KBOHP QZUIPONBOBHFQZNJHSBUF 3VCZ

    3P3 SBLFECNJHSBUF HP TRMNJHSBUF TRMNJHSBUFVQ ਓؒ͸ϛεΛ͢ΔͷͰՄೳͳݶΓ 42-Λͦͷ৔Ͱ࣮ߦ͢ΔͳͲͷ ෳࡶͳ࡞ۀ͸ͤ͞ͳ͍Α͏ʹ͢Δ͜ͱ