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
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
失敗を資産に変えるClaude Code
shinyasaita
0
290
スキルと MCP ツール、責務をどう分けるか? AI が迷わないインターフェース設計の戦略
cdataj
1
910
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
520
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
570
Claude Code×Terraform IaC テンプレート駆動開発
itouhi
1
490
LLMと共に進化するプロセスを目指して
ymatsuwitter
12
3.9k
How Timee Delivers Day 1 Production Ready LLM Features
tomoyks
0
110
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
2k
中期計画、2回作ってみた ~業務委託と正社員、両方の視点から~
demaecan
1
650
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
360
Microsoft Build Keynoteふりかえり
tomokusaba
0
120
RSA暗号を手計算したくなること、ありますよね?? (20260615_orestudy6_rsa)
thousanda
0
170
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Scaling GitHub
holman
464
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Believing is Seeing
oripsolob
1
140
Writing Fast Ruby
sferik
630
63k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
170
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
310
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
160
Git: the NoSQL Database
bkeepers
PRO
432
67k
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