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
Chef and Rails, our story
Search
joren
April 07, 2013
Technology
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Chef and Rails, our story
A little story about how we use Chef and Rails for our custom controlpanel.
joren
April 07, 2013
More Decks by joren
See All by joren
Sock Techtalk
joren
0
300
RubyCamp BE #01
joren
0
140
Ruby on Rails introduction
joren
0
350
Git techtalk [dutch]
joren
0
430
Mo.by
joren
0
87
Drupal deployments met Capistrano
joren
2
550
Git Techtalk
joren
3
210
Git
joren
11
1.7k
Other Decks in Technology
See All in Technology
あなたの『Site』はどこですか? — xREという考え方
miyamu
0
1.2k
「最後に責任を取るのはチーム」— 人間のPRレビューを最小化してアップデートしたメンタルモデル
jnishime_dresscode
0
920
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
1
420
「守りたい体験」を渡すだけで E2E を生成させられるようになった話
hinac0
1
420
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
13
6.5k
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
0
130
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
140
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
280
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
1.1k
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
410
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
230
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
110
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
350
Facilitating Awesome Meetings
lara
57
7k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
400
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
350
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
390
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
970
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
ラッコキーワード サービス紹介資料
rakko
1
3.9M
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Transcript
Chef + Rails for customer cloud control zondag 7 april
13
Joren dev Steven ops zondag 7 april 13
Openminds zondag 7 april 13
How it used to be • ./post_install.sh • openminds gem
• rackup omd.rb • data push to Sock zondag 7 april 13
• Idempotence • Time consuming • Direct control • Special
snowflakes Implications for us zondag 7 april 13
for customers • no fixed solution: special snowflakes • one-way
traffic to Sock • not a real control panel zondag 7 april 13
starting with chef zondag 7 april 13
Why Chef zondag 7 april 13
Why Chef zondag 7 april 13
First steps • ./post_install.sh zondag 7 april 13
LAMP Chef Server A M P VPS x zondag 7
april 13
Initial Issues • not always reusable • no why-run zondag
7 april 13
Version management • don’t break old stuff • no major
upgrades • wrapper recipe • new version == new recipe zondag 7 april 13
MySQL::default zondag 7 april 13
Version management Library cookbook Wrapper cookbook zondag 7 april 13
Version management Library cookbook Sock (cookbook) zondag 7 april 13
Sock B.C. • one-way traffic • not a real control
panel • time consuming for us zondag 7 april 13
Sock A.C. • two-way traffic • real control panel •
client in control zondag 7 april 13
How Clients Sock Chef node(s) Openminds zondag 7 april 13
Provisioning Sock zondag 7 april 13
Provisioning Sock zondag 7 april 13
Provisioning Sock zondag 7 april 13
Sock provisions Chef zondag 7 april 13
Chef handling our JSON • Light-Weight Resource and Providers •
Actions: create, update, delete, lock, move, ... zondag 7 april 13
Chef handling our JSON zondag 7 april 13
Chef handling our JSON zondag 7 april 13
Breaking stuff • Cache invalidation • Naming things • Git
usage; working in a team • “but it worked on my Vagrant...” zondag 7 april 13
Sandbox Environment • We still use Vagrant <3 • Mimics
Production Environment • Detailed monitoring zondag 7 april 13
Automated testing • Jenkins • Functional tests • Integration tests
zondag 7 april 13
Knife test zondag 7 april 13
Knife test Food critic zondag 7 april 13
Knife test Food critic zondag 7 april 13
Xen node a node b node c zondag 7 april
13
Xen node a node b node c Integration tests }
zondag 7 april 13
zondag 7 april 13
Le Future • we’re agile, we don’t plan the future
• chef-sock all the things, all the time • better queueing and reporting zondag 7 april 13
Le Future zondag 7 april 13
Thank you. joren Zhann zondag 7 april 13