Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Being healthy dev and ops in Cookpad
Search
Issei Naruta
September 28, 2013
Technology
88
16k
Being healthy dev and ops in Cookpad
Talked at DevOpsDay Tokyo 2013
http://connpass.com/event/3052/
http://togetter.com/li/569904
Issei Naruta
September 28, 2013
Tweet
Share
More Decks by Issei Naruta
See All by Issei Naruta
Cookpad TechConf 2022 Keynote
mirakui
0
3.3k
ドライイーストを使わずにパンを焼けるか? 〜天然酵母のパン作りを支える技術〜
mirakui
0
3.2k
関東積みについて/How to build Kanto-stacking
mirakui
0
580
先折りGTRについて/How to build left-GTR transitions
mirakui
3
1k
サービス開発速度に着目したソフトウェアアーキテクチャ/Software architecture for effective service development at Cookpad
mirakui
5
6.8k
Beyond the Boundaries
mirakui
1
1.2k
Cookpad Under a Microscope
mirakui
6
8.5k
Technical Successes and Failures in the History of Cookpad Development
mirakui
45
37k
Developer Productivity in Cookpad
mirakui
174
42k
Other Decks in Technology
See All in Technology
地域DXにおけるGrafana活用事例
wacky
0
260
Databricks Appのご紹介
databricksjapan
0
400
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
1.6k
AWS Lambdaで実現するスケーラブルで低コストなWebサービス構築/YAPC::Hakodate2024
fujiwara3
7
3.7k
Case Study: Concurrent Counting
ennael
PRO
0
130
Do you know “Environment Variables” ?
akimiya
0
100
Unlearn Modularity
lemiorhan
6
200
電子辞書にステータスバーを実装する
puhitaku
0
120
What a Good Platform Looks Like and How to Get There @ Large Financial Organization, Oct 2024
mfpais
PRO
0
110
テクニカルライターのチームで「目標」をどう決めたか / MVV for a Team of Technical Writers
lycorptech_jp
PRO
3
130
YAPC::Hakodateの映像記録を支える技術
godan
4
390
Develop to Survive - YAPC::Hakodate 2024 Keynote
moznion
8
3.1k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
YesSQL, Process and Tooling at Scale
rocio
167
14k
It's Worth the Effort
3n
183
27k
The Mythical Team-Month
searls
218
43k
Practical Orchestrator
shlominoach
186
10k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Unsuck your backbone
ammeep
668
57k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
GraphQLの誤解/rethinking-graphql
sonatard
65
9.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
BBQ
matthewcrist
85
9.2k
Transcript
CFJOHIFBMUIZEFWBOEPQT ໎ͬͨΒ݈શͳํ dΫοΫύουͷ%FWͱ0QTd ాҰੜ
"CPVUNF
ా Ұੜ ͳΔͨ ͍͍ͬͤ @mirakui photo by sora_h VP Infrastructure
at Cookpad Inc. Ϡϑʔ৽ଔೖࣾ ϝʔϧαʔϏεͷόοΫΤϯυ։ൃ ΫοΫύουೖࣾ αʔϏε։ൃΤϯδχΞͱͯ͠ೖࣾޙɺ ։ൃج൫νʔϜΛܦͯΠϯϑϥνʔϜʹ
"CPVU$PPLQBE
None
None
None
None
None
None
None
None
None
0VS1IBTF
2013݄̐ظ ܾࢉઆ໌ձࢿྉ ΑΓ https://info.cookpad.com/wp-content/uploads/13.4_s.pdf
ྺ࢙
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
ਓ ਓ͕։ൃӡ༻શ෦Δ ਓ ͏ͪdਓ͕։ൃͭͭ͠ӡ༻ ਓ ਓنͷӡ༻νʔϜొ ਓ ӡ༻νʔϜͷ֦େɾઐผͷࡉԽ ΤϯδχΞͷن ͜ͷ͋ͨΓͰ
JOIN ͍·͜͜
αʔϏε։ൃܥΤϯδχΞ (40ਓ) ٕज़෦ΤϯδχΞ (12ਓ) Πϯϑϥ෦ ΤϯδχΞ (5ਓ) 2013 %FW 0QT
%FW
ࠓͷ • ৫͕େ͖͘ͳ͖ͬͯͨ • Dev ͱ Ops ͷؔ Ͳ͏ͳ͍ͬͯ͘ͷ͔ʁ DevOps
Dev Ops
σϓϩΠ
σϓϩΠ 5~10 deploy / day
σϓϩΠϧʔϧʢҰ෦ʣ • CI Λύεͨ͠ϦϏδϣϯͷΈ σϓϩΠͯ͠Α͍ • σϓϩΠίʔυΛ push ͨ͠։ൃऀ͕ࣗ ߦ͏
• Ӧۀ࣌ؒͷΈσϓϩΠՄೳ • σϓϩΠޙ։ൃऀ͕ಈ࡞֬ೝ͠ɺ ෆ۩߹Λݟ͚ͭͨΒ͙͢ʹϩʔϧόοΫ͢Δ
None
ࣦഊ
ϦϦʔε͕ࠓͩͬͨ • DevʮϦϦʔεࠓͰ͢ʯ • Opsʮʂʁʯ
ϦϦʔεલͷ0QTͷ࡞ۀ • ຊ൪αʔόηοτΞοϓ • ࢹઃఆ • ΩϟύγςΟଌఆ • Խ •
ͳͲͳͲ…
%FWͷࣄ • ιʔείʔυ ϦϦʔεલ·Ͱ fix ͠ͳ͍ • ʮϦϦʔεʯॏཁ • Dev
͕σϓϩΠՄೳ ʹʢٕज़తʹʣউखʹϦϦʔεՄೳ • ඇެ։→Ϣʔβݶఆެ։→શମެ։
developing setup servers SFMFBTF ✔source code fix ✔ fixtures fix
Dev Ops
ຊ࣭తͳ Dev - Ops ؒίϛϡχέʔγϣϯ
Ͳ͏͢Δ͔ʁ • ϦϦʔεͷܾఆʹ Ops ͷঝೝ͕ ඞཁͳϧʔϧʹ͢Δʁ • Opsʮιʔείʔυ fix ͔ͯ͠Β
ϦϦʔε·Ͱʹ3ӦۀඞཁͰ͢ʯʁʁ
ݖҖతʹͳΒͳ͍
ঝೝϑϩʔͷ૿Ճ • ݸਓͷΦʔφʔγοϓ͕ݮਰ ࣄָ͕͘͠ͳ͘ͳΔ • ঝೝΛ௨͢ςΫχοΫ࣏͕ൃੜ • ίϛϡχέʔγϣϯͰղܾͰ͖Δ෦ ΪϦΪϦ·Ͱͦ͏͢Δ͖
ϓϩμΫτͷϦϦʔεΛ 0QT͕ࢭΊͳ͍
developing setup servers SFMFBTF ✔source code fix ✔ fixtures fix
Dev Ops #"%
developing setup servers SFMFBTF ✔source code fix ✔ fixtures fix
Dev Ops DPNNVOJDBUJPO (00%
ᘳ͞Λٻ͠ͳ͍
0QT͕ᘳ͞ΛٻΊΔͱʜ • ϦϦʔεલʹɺશʹpY͞Εͨ ιʔείʔυͰΩϟύγςΟܭଌ͍ͨ͠ • ύϑΥʔϚϯεʹͷ͋ΔίʔυΛ Ұڐͨ͘͠ͳ͍
Dev Ops $PSQPSBUJPO Customers
%FWͱ͔0QTͱ͔ͷલʹ ৫ސ٬ʢϢʔβʔʣʹͱͬͯ ༗ӹͳஅ͔Ͳ͏͔େࣄ
ٻΊΔ͖ ʮᘳ͞ʯͰͳ͘ʮ݈શ͞ʯ
݈શ͞ͷͨΊʹ ࣌ʹ Ops ʹͱͬͯෆརӹͳબΛڐ͢ ➡ ૉΒ͍͠ΞʔΩςΫνϟ vs ϦϦʔε ➡ αʔό૿ͯ͠ղܾ
vs ίετ ➡ ΦϖϨʔγϣϯશࣗಈԽ vs ਓ݅අ
/PUᘳCVU݈શ ϦϦʔεલɺશʹ fix ͞Εͨ ιʔείʔυͰΩϟύγςΟܭଌ͍ͨ͠ ➡ ։ൃॳظ͔ΒύϑΥʔϚϯεʹ͍ͭͯ͠߹͏ ➡ ΩϟύγςΟܭଌ͢Δͷʹेͳ ϨϕϧͷίʔυΛૣΊʹग़ͯ͠Β͏
Α͏ʹίϛϡχέʔγϣϯ
/PUᘳCVU݈શ ύϑΥʔϚϯεʹͷ͋ΔίʔυΛ Ұڐͨ͘͠ͳ͍ ➡ αʔό૿ͯ͠ղܾ͢ΔͳΒ ͦΕͰ͍͍߹͋ΔͷͰʁ Ϣʔβ/৫ʹརӹ͕͋Δํʁ
าΈدΓͷͨΊʹ
%FWͷ͜ͱΛΑ͘ཧղ͢Δ • Ops ͕αʔϏεͷ࠷৽ͷ ιʔείʔυΛ͏ • Dev ಉ࢜ͷٞʹࣖΛ͚Δ • ։ൃͷॳظ͔ΒྠʹೖΕͯΒ͏
0QTʹٻΊΒΕΔͷ αʔόͰಈ͍͍ͯΔͷΛ ιʔείʔυϨϕϧͰཧղ͢Δ ➡ ϛυϧΣΞ ➡ ΞϓϦέʔγϣϯ
%FWʹٻΊΔͷ • αʔόαΠυͷηϯε • ͦͷίʔυʹେྔͷτϥϑΟοΫ͕ དྷͨΒͲ͏ͳΔ͔ • ΩϟογϡͳͲ
ྫύϑΥʔϚϯε͕ग़ͳ͍ × Ops ͕ͬͯνϡʔχϯά ◦ Dev ͱ Ops Ұॹʹ͍ͯ͘͠
ύϑΥʔϚϯεʹӨڹ͕ग़ͦ͏ͳίʔυ ඞͣ pull-request Ͱ mention ͯ͠Β͏ ͱ͍͏ϧʔϧ
0QTαʔϏεͷίʔυʹ QVMMSFRVFTUΛग़͢
ΘΓͱͰ͖͍ͯΔ͜ͱ Ops → Dev ͷཧղ ➡ ݩ Dev ͕ Ops
Λ͍͍ͯΔ ➡ Ops ͕શһίʔυಡΈॻ͖Ͱ͖Δ ➡ Dev ͷޱग़͠ ιʔείʔυϨϕϧͰͷͭͬ͜Έ
None
ࠓޙͷ՝
৫͕͞ΒʹڊେʹͳΔͱ ΤϯδχΞݸਓ͕ࣗͰ ҙࢥܾఆ͢Δػձ͕গͳ͘ͳ͍ͬͯ͘ʁ ➡ ਓ͕૿͑ΔͱࣗΑΓ্ͷࢹΛ ࣋ͪʹ͘͘ͳΔ ➡ ϧʔϧϑϩʔΛ৴ͯٙ͡Θͳ͍ঢ়ଶʹؕΓ͍͢ ➡ ݱͷࡋྔΛҡ࣋Ͱ͖Δ͔͕伴
͓ΘΓʹ
ϕϯνϟʔاۀͷ%FW0QT • ͡ΊΈΜͳ DevOps • ৫͕֦େ͢ΔͱɺͦΕ·ͰͨΓલ ͩͬͨ͜ͱ͕Γʹ͘͘ͳΔ • Dev ͱOps
͕Ε͍ͯ͘ͷΛ Ͳ͜·Ͱ৯͍ࢭΊΒΕΔ͔ • 伴ʮ݈શͳํΛબ͠ଓ͚Δ͜ͱʯ • Dev Ops ؒͷ݈શ͞ʹ৫ͷ݈શ͞
໎ͬͨΒ݈શͳํ • ᘳ͞Ͱͳ݈͘શ͞ • τϨʔυΦϑʹͿ͔ͭͬͨΒ ʮ͜ͷબ݈શͩΖ͏͔ʁʯ ͱࣗʹ͍͔͚Δ • ࣌ʹటष͍ํ๏ΛબͿ •
ࣗͷཱʹͱͬͯͷ߹ͷΑ͞Ͱͳ͘ɺ શମʹͱ݈ͬͯશͳํΛબͿ
13
8F`SFIJSJOH https://info.cookpad.com/jobs/ [en, ja]
5IBOLZPVGPSMJTUFOJOH