Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Being healthy dev and ops in Cookpad
Search
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
910
インフラからSREへ
mirakui
33
14k
データパイプラインをなんとかした話 / Improving the Data Pipeline in IVRy
mirakui
2
690
Cookpad TechConf 2022 Keynote
mirakui
0
4.5k
ドライイーストを使わずにパンを焼けるか? 〜天然酵母のパン作りを支える技術〜
mirakui
0
3.7k
関東積みについて/How to build Kanto-stacking
mirakui
0
840
先折りGTRについて/How to build left-GTR transitions
mirakui
3
1.1k
サービス開発速度に着目したソフトウェアアーキテクチャ/Software architecture for effective service development at Cookpad
mirakui
5
7.4k
Beyond the Boundaries
mirakui
1
1.5k
Other Decks in Technology
See All in Technology
Systems Manager AgentがインストールされたPCを紛失した時の対策を考えてみた
amarelo_n24
1
110
AI時代、つくる力を自分たちの手に。 ──電通×KAG、アジャイルとAI駆動開発で挑む開発の変革
yuukiyo
3
450
Adversary Infrastructure Hunting101
disconinja
0
190
自律的なチームを作るためにTechPMがやらないこと
ny7760
0
450
FinOpsを導入してマルチプロダクトのコスト最適化を実現する
kworkdev
PRO
0
110
"計画的無茶振り"を通してAIネイティブ世代の新人を育てる
subroh0508
1
140
アクセラレーターで実現するServiceNow活用の高速化 / ServiceNow World Forum 2026
visional_engineering_and_design
0
120
ALBのLCU予約とトラフィックの波によるプロダクト理解 / Understanding ALB LCU and Traffic Spikes
mito201
1
130
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
130
WireGuard for Apache NuttX - Bringing Secure Remote Access to embedded Devices -
aki310ooooo
0
120
Flutter Webを「SDK」として配る — 50以上のゲームを支える埋め込みアーキテクチャ
masayukisuda
0
170
複雑な業務システムを高速でつくるため、チーム全員をつくれる人へ
ayakurabuchi
0
120
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
55
13k
What's in a price? How to price your products and services
michaelherold
247
13k
Deep Space Network (abreviated)
tonyrice
0
400
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
870
How to Ace a Technical Interview
jacobian
280
24k
エンジニアに許された特別な時間の終わり
watany
109
250k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
730
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Documentation Writing (for coders)
carmenintech
77
5.6k
Abbi's Birthday
coloredviolet
4
11k
Why Our Code Smells
bkeepers
PRO
340
58k
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