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
インフラからSREへ
mirakui
21
8.4k
データパイプラインをなんとかした話 / Improving the Data Pipeline in IVRy
mirakui
1
480
Cookpad TechConf 2022 Keynote
mirakui
0
3.7k
ドライイーストを使わずにパンを焼けるか? 〜天然酵母のパン作りを支える技術〜
mirakui
0
3.4k
関東積みについて/How to build Kanto-stacking
mirakui
0
680
先折りGTRについて/How to build left-GTR transitions
mirakui
3
1.1k
サービス開発速度に着目したソフトウェアアーキテクチャ/Software architecture for effective service development at Cookpad
mirakui
5
7k
Beyond the Boundaries
mirakui
1
1.3k
Cookpad Under a Microscope
mirakui
6
8.6k
Other Decks in Technology
See All in Technology
大事なのは、AIの精度だけじゃない!〜1円のズレも許されない経理領域とAI〜
jun_nemoto
10
5k
Slackひと声でブログ校正!Claudeレビュー自動化編
yusukeshimizu
3
150
KMP導⼊において、マネジャーとして考えた事
sansantech
PRO
1
200
技術書典18結果報告
mutsumix
2
170
ローカル環境でAIを動かそう!
falken
PRO
1
160
AIに実況させる / AI Streamer
motemen
3
1.4k
mnt_data_とは?ChatGPTコード実行環境を深堀りしてみた
icck
0
190
S3 Tables を図解でやさしくおさらい~基本から QuickSight 連携まで/s3-tables-illustrated-basics-quicksight
emiki
1
310
Introduction to Bill One Development Engineer
sansan33
PRO
0
240
令和最新版TypeScriptでのnpmパッケージ開発
lycorptech_jp
PRO
0
110
Postman AI エージェントビルダー最新情報
nagix
0
190
VueUseから学ぶ実践TypeScript #TSKaigi #TSKaigi2025
bengo4com
3
5.3k
Featured
See All Featured
BBQ
matthewcrist
88
9.7k
Docker and Python
trallard
44
3.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
4 Signs Your Business is Dying
shpigford
183
22k
Become a Pro
speakerdeck
PRO
28
5.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
880
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Site-Speed That Sticks
csswizardry
7
580
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
180
53k
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