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
Ruby Toolbox for DevOps
Search
Richard Lee
December 08, 2012
Technology
1.3k
22
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ruby Toolbox for DevOps
Presented at RubyConf Taiwan 2012.
Richard Lee
December 08, 2012
More Decks by Richard Lee
See All by Richard Lee
LIFF SDK 的開發者體驗與實用秘訣
dlackty
0
220
Account Kit after 1 year
dlackty
0
98
【Modern Web 2015】愛料理如何打造產品及技術團隊
dlackty
0
160
Chef & Immutable Infrasturcture
dlackty
7
460
Ruby & Friends - Taking Go as an example
dlackty
3
760
軟體上線之後的營運管理
dlackty
8
760
Using CocoaPods for Objective-C Library Management
dlackty
1
430
Does OpsWorks work?
dlackty
10
580
打造愛料理開發及營運團隊
dlackty
79
8k
Other Decks in Technology
See All in Technology
2026 Apache Flink Community Checkpoint
rmetzger
0
210
Content Mapper APIの応用例~CSS Modules、言語ファイル~
uhyo
2
630
AI Agent 時代のデータ基盤: ClickHouse で実現する 超高速分析とコスト削減の両立
jozono
0
220
In-Context Learning再入門。ICLの勾配降下的解釈の研究動向を追ってみる。
dai08srhg
1
780
AI時代における医療情報システムのセキュリティ / Security of Healthcare IT Systems in the AI Era
henryofficial
0
130
新卒エンジニア、 介護士になる
ryu1013
1
690
Kiro Crew の Bot (続く役目を任せる窓口) | 目指せ Kiro マスター 12
inariku
PRO
2
350
SSFの現在地 ― CAEP/RISCからAI Identityへ
oidfj
0
340
AI時代に求められる優秀なTechLeadの振る舞い
pospome
11
15k
レガシーコードに対する loop engineering的なAI開発プロセス導入について
kubell_hr
0
310
「AIチャットからもできないの?」と言われたら ~業務アプリをMCP対応するときの認証・認可の勘所
oidfj
0
260
Kiro を使うコツ (頼み方、覚えさせ方、任せ方) | 目指せ Kiro マスター 09
inariku
PRO
3
120
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
530
Utilizing Notion as your number one productivity tool
mfonobong
4
640
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
620
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
520
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
350
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Transcript
Ruby Toolbox for DevOps Richard Lee (@dlakty)
self.intro do |richard|
6.years.ago
5.years.ago
2.years.ago
2.years.ago
1.year.ago
end
None
Huh? A Recipe Sharing Website?
Huh? A Recipe Sharing Website? Social Network
Website Operation API Mobile Products
Website Recipe Content Management Social Features Q&A for Cook
Website Operation
Operation Server Infrastructure Monitoring Analysis
Website Operation Mobile Products
Mobile Products iPhone / iPad Android Mobile Web! > 50%
Traffic!
Website Operation API Mobile Products
API RESTFul JSON API Multi Device Authentication Push Notification
Website Operation API Mobile Products
DevOps
What?
Website Operation API Mobile Products Developer
Website Operation API Mobile Products Operator
Website Operation API Mobile Products DevOp
DevOps Learning tools / techniques of Helps Your Startup
Development Continuous Integration Server Provisioning Deployment Monitoring polydice.workflow do |w|
Code Actually nothing special here. Current stack: Rails 3.2 Ruby
1.9.3 RSpec Redis MySQL memcached
Continuous Integration
Continuous Testing Document generation Code quality testing Deploy and more!
So, give me a Ruby CI Server!
Travis CI is not currently a good fit for closed
in-house installations
Do you really know what a CI server usually do?
Continuous Testing Document generation Code quality testing Deploy and more!
Not black magic Write your rake tasks!
CI Server Received push hooks Run some scripts Send notifications
& Show reports
Jenkins Everywhere
Janky for Help! A Sinatra app as JSON bridge Built
on Jenkins Controlled by Hubot Designed for / by GitHub
None
None
Tips: Your every project needs a scripts folder
scripts/ bootstrap cibuild
Sever Provisioning
chef + vargrant = awesome!
Why this is important? I can do that manually!
None
Save your time for fixing up problems.
Machines in Chef Client Node API client for provisioning and
management. Your any controlled servers.
Objects in Chef Cookbook Data bag Certain steps to install
/ configure resources on nodes Data storages for cookbook to configure resources. (Encrypted / Unencrypted)
Our Cookbook For Capistrano
Role The bridge between cookbooks & node. Define a run
list for node. Some example: Web role’s run list :[“nginx”, “rails”] Database role’s run list :[“mysql”]
Our Base Role
Provisioning EC2
Why ?
Chef v.s. Puppet Basically the same thing / idea Puppet
uses customized DSL for cookbook Chef just uses Ruby
Vagrant VirtualBox VM from command line Integration with Chef /
Puppet
Vagrantfile Configure which roles to run. Then, > vagrant up
Deployment
We use No surprise, right?
Lots of tweaks Git-based deployment Speed up Campfire notification
Git-based deployment
Campfire notification
Lots of details. Ask me if you’re interested.
Monitoring
Unit test => Developer Monitoring => Operator
god lograge
god Process monitoring Restart process for certain conditions Really important
for unicorn Integrated with Capistrano
Super easy Configuration
lograge Turn your multiline logs into one line Dec 08
13:18:11 web1 rails: method=GET path=/recipes/14628 format=html controller=recipes action=show status=200.00 duration=296.24 view=177.28 db=96.89 redis=1.38 tire=0.00 ip=111.250.xxx.xxx referer=http://icook.tw/ recipes/fulltext_search?query=%E7%B3%96%E9%86%8B%E6%8E%92%E9%AA%A8 Good for grep & analysis
lograge custom options Add as much things for monitoring as
possible!
Conclusion
Ruby is expressive.
Tons of DSLs for solving different problems.
Make developers happy.
Make operators happy.
Make your customers happy. boss investors
None
Email:
[email protected]
Twitter & GitHub & App.net: @dlackty Thank You!
We’re hiring!
Q & A?