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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Issei Naruta
September 28, 2013
Technology
16k
87
Share
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
More Decks by Issei Naruta
See All by Issei Naruta
mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru
mirakui
5
800
インフラからSREへ
mirakui
32
14k
データパイプラインをなんとかした話 / Improving the Data Pipeline in IVRy
mirakui
2
650
Cookpad TechConf 2022 Keynote
mirakui
0
4.1k
ドライイーストを使わずにパンを焼けるか? 〜天然酵母のパン作りを支える技術〜
mirakui
0
3.7k
関東積みについて/How to build Kanto-stacking
mirakui
0
790
先折りGTRについて/How to build left-GTR transitions
mirakui
3
1.1k
サービス開発速度に着目したソフトウェアアーキテクチャ/Software architecture for effective service development at Cookpad
mirakui
5
7.3k
Beyond the Boundaries
mirakui
1
1.4k
Other Decks in Technology
See All in Technology
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
640
PHP と TypeScript の型システム比較:AI 時代の「型」は誰のためにあるのか? #frontend_phpcon_do / frontend_phpcon_do_2026
shogogg
1
240
Unlocking the Apps
pimterry
0
170
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
19
20k
React、まだ楽しくて草
uhyo
7
3.9k
20260528_生成AIを専属DSに_Howの次にすべきことを考える
doradora09
PRO
0
280
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
170
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
3.9k
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
3
330
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
1
190
Spring AI × MCP 入門〜AIエージェントへのツール公開、境界設計から始める最小構成 〜
yuyamiyamoto
0
200
GoとSIMDとWasmの今。
askua
3
470
Featured
See All Featured
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
350
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
590
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Deep Space Network (abreviated)
tonyrice
0
160
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
Optimizing for Happiness
mojombo
378
71k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Six Lessons from altMBA
skipperchong
29
4.3k
Are puppies a ranking factor?
jonoalderson
1
3.5k
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