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
180
Account Kit after 1 year
dlackty
0
93
【Modern Web 2015】愛料理如何打造產品及技術團隊
dlackty
0
110
Chef & Immutable Infrasturcture
dlackty
7
450
Ruby & Friends - Taking Go as an example
dlackty
3
750
軟體上線之後的營運管理
dlackty
8
710
Using CocoaPods for Objective-C Library Management
dlackty
1
420
Does OpsWorks work?
dlackty
10
570
打造愛料理開發及營運團隊
dlackty
79
7.9k
Other Decks in Technology
See All in Technology
なぜAI任せのゲームは面白くならないのか?
hirohasuyoutube
0
270
高負荷プロダクション環境におけるAWS Lambdaのリアル 〜スケールとコストを左右する実行ライフサイクルの技術仕様〜
maimyyym
2
800
AWS DevOps Agent スキルをつかいこなそう / Master AWS DevOps Agent Skills
kinunori
2
620
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
390
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
2
310
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
sanghyuk
0
240
AIに会社の文脈を理解させる技術~上流工程・非エンジニアにも広げるハーネスエンジニアリング実践~
ochtum
0
190
10年欲しかった音楽管理アプリを、AIと一緒に作りはじめた
judau
1
180
AWS FinOps Agent 結局何が得意なの?
siromi
0
220
3人で1000GPU超を統合運用する?マルチクラウド&オンプレを跨ぐ、構築と運用のリアル!
kazukun0716
2
720
AIは推し活である。
kurazuuuuuu
2
1k
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
130
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Deep Space Network (abreviated)
tonyrice
0
330
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
The SEO Collaboration Effect
kristinabergwall1
1
580
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.1k
Leo the Paperboy
mayatellez
10
2.3k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
590
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Prompt Engineering for Job Search
mfonobong
0
460
Amusing Abliteration
ianozsvald
1
320
Large-scale JavaScript Application Architecture
addyosmani
515
110k
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?