Pro Yearly is on sale from $80 to $50! »

Being healthy dev and ops in Cookpad

6f8e101c016fa7ebbe58e693dbd86b7d?s=47 Issei Naruta
September 28, 2013

Being healthy dev and ops in Cookpad

6f8e101c016fa7ebbe58e693dbd86b7d?s=128

Issei Naruta

September 28, 2013
Tweet

Transcript

  1. CFJOHIFBMUIZEFWBOEPQT ໎ͬͨΒ݈શͳํ dΫοΫύουͷ%FWͱ0QTd ੒ాҰੜ 

  2. "CPVUNF

  3. ੒ా Ұੜ ͳΔͨ ͍͍ͬͤ @mirakui photo by sora_h VP Infrastructure

    at Cookpad Inc. Ϡϑʔ৽ଔೖࣾ ϝʔϧαʔϏεͷόοΫΤϯυ։ൃ ΫοΫύουೖࣾ αʔϏε։ൃΤϯδχΞͱͯ͠ೖࣾޙɺ ։ൃج൫νʔϜΛܦͯΠϯϑϥνʔϜʹ
  4. "CPVU$PPLQBE

  5. None
  6. None
  7. None
  8. None
  9. None
  10. None
  11. None
  12. None
  13. None
  14. 0VS1IBTF

  15. 2013೥݄̐ظ ܾࢉઆ໌ձࢿྉ ΑΓ https://info.cookpad.com/wp-content/uploads/13.4_s.pdf

  16. ྺ࢙

  17. 1997 ૑ۀ 2008 Coldfusion → Ruby on Rails ΁Ҡߦ 2013

    2009 2010 2011 2012 ݱࡏ 2007 2002 2003 2004 2005 2006 2001 2000 1999 1998 ౦ূϚβʔζ্৔ ੒ా JOIN ౦ূҰ෦΁্৔มߋ ΤϯδχΞͷਓ਺: 3 10~20 ໿60 1
  18. ਓ ਓ͕։ൃ΋ӡ༻΋શ෦΍Δ ਓ ͏ͪdਓ͕։ൃͭͭ͠ӡ༻ ਓ ਺ਓن໛ͷӡ༻νʔϜొ৔ ਓ ӡ༻νʔϜͷ֦େɾઐ໳ผͷࡉ෼Խ ΤϯδχΞͷن໛ ͜ͷ͋ͨΓͰ

    JOIN ͍·͜͜
  19. αʔϏε։ൃܥΤϯδχΞ (໿40ਓ) ٕज़෦ΤϯδχΞ (12ਓ) Πϯϑϥ෦ ΤϯδχΞ (5ਓ) 2013 %FW 0QT

    %FW
  20. ࠓ೔ͷ࿩ • ૊৫͕େ͖͘ͳ͖ͬͯͨ • Dev ͱ Ops ͷؔ܎͸ Ͳ͏ͳ͍ͬͯ͘ͷ͔ʁ DevOps

    Dev Ops
  21. σϓϩΠ

  22. σϓϩΠ 5~10 deploy / day

  23. σϓϩΠϧʔϧʢҰ෦ʣ • CI Λύεͨ͠ϦϏδϣϯͷΈ σϓϩΠͯ͠Α͍ • σϓϩΠ͸ίʔυΛ push ͨ͠։ൃऀࣗ਎͕ ߦ͏

    • Ӧۀ࣌ؒ಺ͷΈσϓϩΠՄೳ • σϓϩΠޙ͸։ൃऀ͕ಈ࡞֬ೝ͠ɺ ෆ۩߹Λݟ͚ͭͨΒ͙͢ʹϩʔϧόοΫ͢Δ
  24. None
  25. ࣦഊ

  26. ϦϦʔε೔͕ࠓ೔ͩͬͨ • DevʮϦϦʔεࠓ೔Ͱ͢ʯ • Opsʮʂʁʯ

  27. ϦϦʔεલͷ0QTͷ࡞ۀ • ຊ൪αʔόηοτΞοϓ • ؂ࢹઃఆ • ΩϟύγςΟଌఆ • ৑௕Խ •

    ͳͲͳͲ…
  28. %FWͷࣄ৘ • ιʔείʔυ͸ ϦϦʔε௚લ·Ͱ fix ͠ͳ͍ • ʮϦϦʔε೔ʯ͸ॏཁ • Dev

    ͕σϓϩΠՄೳ ʹʢٕज़తʹ͸ʣউखʹϦϦʔεՄೳ • ඇެ։→Ϣʔβݶఆެ։→શମެ։
  29. developing setup servers SFMFBTF ✔source code fix ✔ fixtures fix

    Dev Ops
  30. ຊ࣭తͳ໰୊ Dev - Ops ؒίϛϡχέʔγϣϯ

  31. Ͳ͏͢Δ͔ʁ • ϦϦʔε೔ͷܾఆʹ Ops ͷঝೝ͕ ඞཁͳϧʔϧʹ͢Δʁ • Opsʮιʔείʔυ fix ͔ͯ͠Β

    ϦϦʔε·Ͱʹ3Ӧۀ೔ඞཁͰ͢ʯʁʁ
  32. ݖҖతʹͳΒͳ͍

  33. ঝೝϑϩʔͷ૿Ճ • ݸਓͷΦʔφʔγοϓ͕ݮਰ ࢓ࣄָ͕͘͠ͳ͘ͳΔ • ঝೝΛ௨͢ςΫχοΫ΍੓࣏͕ൃੜ • ίϛϡχέʔγϣϯͰղܾͰ͖Δ෦෼͸ ΪϦΪϦ·Ͱͦ͏͢Δ΂͖

  34. ϓϩμΫτͷϦϦʔεΛ 0QT͕ࢭΊͳ͍

  35. developing setup servers SFMFBTF ✔source code fix ✔ fixtures fix

    Dev Ops #"%
  36. developing setup servers SFMFBTF ✔source code fix ✔ fixtures fix

    Dev Ops DPNNVOJDBUJPO (00%
  37. ׬ᘳ͞Λ௥ٻ͠ͳ͍

  38. 0QT͕׬ᘳ͞ΛٻΊΔͱʜ • ϦϦʔεલʹɺ׬શʹpY͞Εͨ ιʔείʔυͰΩϟύγςΟܭଌ͍ͨ͠ • ύϑΥʔϚϯεʹ໰୊ͷ͋ΔίʔυΛ Ұ੾ڐͨ͘͠ͳ͍

  39. Dev Ops $PSQPSBUJPO Customers

  40. %FWͱ͔0QTͱ͔ͷલʹ ૊৫΍ސ٬ʢϢʔβʔʣʹͱͬͯ ༗ӹͳ൑அ͔Ͳ͏͔େࣄ

  41. ٻΊΔ΂͖͸ ʮ׬ᘳ͞ʯͰ͸ͳ͘ʮ݈શ͞ʯ

  42. ݈શ͞ͷͨΊʹ ࣌ʹ͸ Ops ʹͱͬͯෆརӹͳબ୒Λڐ͢ ➡ ૉ੖Β͍͠ΞʔΩςΫνϟ vs ϦϦʔε೔ ➡ αʔό૿΍ͯ͠ղܾ

    vs ίετ ➡ ΦϖϨʔγϣϯ׬શࣗಈԽ vs ਓ݅අ
  43. /PU׬ᘳCVU݈શ ϦϦʔεલɺ׬શʹ fix ͞Εͨ ιʔείʔυͰΩϟύγςΟܭଌ͍ͨ͠ ➡ ։ൃॳظ͔ΒύϑΥʔϚϯεʹ͍ͭͯ࿩͠߹͏ ➡ ΩϟύγςΟܭଌ͢Δͷʹे෼ͳ ϨϕϧͷίʔυΛૣΊʹग़ͯ͠΋Β͏

    Α͏ʹίϛϡχέʔγϣϯ
  44. /PU׬ᘳCVU݈શ ύϑΥʔϚϯεʹ໰୊ͷ͋ΔίʔυΛ Ұ੾ڐͨ͘͠ͳ͍ ➡ αʔό૿΍ͯ͠ղܾ͢ΔͳΒ ͦΕͰ͍͍৔߹΋͋ΔͷͰ͸ʁ Ϣʔβ/૊৫ʹརӹ͕͋Δํ͸ʁ

  45. าΈدΓͷͨΊʹ

  46. %FWͷ͜ͱΛΑ͘ཧղ͢Δ • Ops ͕αʔϏεͷ࠷৽ͷ ιʔείʔυΛ௥͏ • Dev ಉ࢜ͷٞ࿦ʹࣖΛ܏͚Δ • ։ൃͷॳظ͔ΒྠʹೖΕͯ΋Β͏

  47. 0QTʹٻΊΒΕΔ΋ͷ αʔόͰಈ͍͍ͯΔ΋ͷΛ ιʔείʔυϨϕϧͰཧղ͢Δ ➡ ϛυϧ΢ΣΞ ➡ ΞϓϦέʔγϣϯ

  48. %FWʹٻΊΔ΋ͷ • αʔόαΠυͷηϯε • ͦͷίʔυʹେྔͷτϥϑΟοΫ͕ དྷͨΒͲ͏ͳΔ͔ • ΩϟογϡͳͲ

  49. ྫύϑΥʔϚϯε͕ग़ͳ͍ × Ops ͕໧ͬͯνϡʔχϯά ◦ Dev ͱ Ops Ұॹʹ௚͍ͯ͘͠

  50. ύϑΥʔϚϯεʹӨڹ͕ग़ͦ͏ͳίʔυ ඞͣ pull-request Ͱ mention ͯ͠΋Β͏ ͱ͍͏ϧʔϧ

  51. 0QT΋αʔϏεͷίʔυʹ QVMMSFRVFTUΛग़͢

  52. ΘΓͱͰ͖͍ͯΔ͜ͱ Ops → Dev ͷཧղ ➡ ݩ Dev ͕ Ops

    Λ཰͍͍ͯΔ ➡ Ops ͕શһίʔυಡΈॻ͖Ͱ͖Δ ➡ Dev ΁ͷޱग़͠ ιʔείʔυϨϕϧͰͷͭͬ͜Έ
  53. None
  54. ࠓޙͷ՝୊

  55. ૊৫͕͞ΒʹڊେʹͳΔͱ ΤϯδχΞݸਓ͕ࣗ෼Ͱ ҙࢥܾఆ͢Δػձ͕গͳ͘ͳ͍ͬͯ͘ʁ ➡ ਓ͕૿͑Δͱࣗ෼ΑΓ্ͷࢹ఺Λ ࣋ͪʹ͘͘ͳΔ ➡ ϧʔϧ΍ϑϩʔΛ৴ͯٙ͡Θͳ͍ঢ়ଶʹؕΓ΍͍͢ ➡ ݱ৔ͷࡋྔΛҡ࣋Ͱ͖Δ͔͕伴

  56. ͓ΘΓʹ

  57. ϕϯνϟʔاۀͷ%FW0QT • ͸͡Ί͸ΈΜͳ DevOps • ૊৫͕֦େ͢ΔͱɺͦΕ·Ͱ౰ͨΓલ ͩͬͨ͜ͱ͕΍Γʹ͘͘ͳΔ • Dev ͱOps

    ͕཭Ε͍ͯ͘ͷΛ Ͳ͜·Ͱ৯͍ࢭΊΒΕΔ͔ • 伴͸ʮ݈શͳํΛબ୒͠ଓ͚Δ͜ͱʯ • Dev Ops ؒͷ݈શ͞ʹ૊৫ͷ݈શ͞
  58. ໎ͬͨΒ݈શͳํ • ׬ᘳ͞Ͱ͸ͳ݈͘શ͞ • τϨʔυΦϑʹͿ͔ͭͬͨΒ ʮ͜ͷબ୒͸݈શͩΖ͏͔ʁʯ ͱࣗ෼ʹ໰͍͔͚Δ • ࣌ʹ͸టष͍ํ๏ΛબͿ •

    ࣗ෼ͷཱ৔ʹͱͬͯͷ౎߹ͷΑ͞Ͱ͸ͳ͘ɺ શମʹͱ݈ͬͯશͳํΛબͿ
  59. 13

  60. 8F`SFIJSJOH https://info.cookpad.com/jobs/ [en, ja]

  61. 5IBOLZPVGPSMJTUFOJOH