Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Cloudn PaaSチームのChatOps実践 | PDF
[go: Go Back, main page]

Cloudn PaaSチームの 
ChatOps実践 
第1回 Hubot×ChatOps勉強会
NTT Communications 
Developer 
Kazuto Kusama 
@jacopen
Enlightened L11 
Kazuto Kusama 
@jacopen
こういうの作ってます
• OSSのPaaS、Cloud Foundryをベースにし 
たサービス 
• Webアプリの運用を楽にします 
• 最小構成で月額 ¥540(税込) から 
• 公式サポート言語はRuby, Java, PHP
• OSSのPaaS、Cloud Foundryをベースにし 
たサービス 
• Webアプリの運用を楽にします 
• 最小構成で月額 ¥540(税込) から 
• 公式サポート言語はRuby, Java, PHP 
• だけど実はgoとnodeも標準対応してるの 
で、Hubotも動くよ!
今月のSD誌で 
記事かきました 
(ChatOpsじゃないけど・・・)
今回話すこと
ひとつめ
× 
Development Team 
ChatOps
ふたつめ
一般的な大企業のイメージ
• そこそこの規模の組織でChatOpsをやるには、 
どうすればいいのか 
• ChatOpsをやることは、どういう意味を持つのか
まずはチャットツールの話をしよう
個人的なチャットツールの変遷 
IRC 
1999 
Age of Empiresのチャンネル 
などに参加。 
WIDEやReichaNetを利用。
IRC IRC 
1999 
2003 
大学の仲間内で使う 
チャンネルを作った
IRC IRC IRC 
個人プロジェクトの 
チャンネルを作った。 
&サーバーをFreenodeに 
1999 
2003 
2006
IRC IRC IRC IRC 
Cloudn PaaSチームで 
IRCを使い始める 
1999 
2003 
2006 
2012
IRC IRC IRC IRC IRC 
1999 
2003 
2006 
2012 
2014
IRC IRC IRC IRC IRC _人人人_ 
> IRC < 
‾Y^Y‾ 
1999 
2003 
2006 
2012 
2014
色々試してはみた
• 使い勝手はどれも悪くない 
• どれもIRC相当か、それ以上の機能 
• でも、ライセンス費用と移行コストを 
払ってまで欲しい機能が特にない 
⇒ じゃあIRCでいいや
• 使い勝手はどれも悪くない 
• どれもIRC相当か、それ以上の機能 
• でも、ライセンス費用と移行コストを 
払ってまで欲しい機能が特にない 
⇒ じゃあIRCでいいや 
ただ、最近はアリかなと思っている
今回の発表はIRCを前提とします
PaaSチームの、事例紹介
初代bot “tamac”さん 
Rubyで書かれたnadokaベース 
• アラートメールを読んで流す 
• 時報 
• URLのtitleを読み取って喋る 
• ぬるぽ ⇒ ガッ
Jenkins (with IRC Plugin) 
JenkinsはCIツールではなく 
デキる執事と考えるべき
2代目bot “ueo” 
• Hubot 
• プラグインいっぱい 
• ChatOps!
今の体制
開発のお供に
CIの結果通知
GithubのPullreqやコメントの通知
ブランチ戦略チェック 
PaaSチーム独自のブランチ戦略(tamac-flowと呼んでいる)に 
則っていない場合は警告
「よく忘れるポイント」チェック 
○○ファイルを修正したら××も併せて修正しないといけない、 
みたいな依存関係や、Submoduleのポインタ変更忘れなど
運用の補助に
簡易環境監視
muninグラフ/URL表示 
環境名とノード名を渡すと、muninのグラフやURLを 
渡してくれる
便利
チームの仕事を円滑に
デイリースクラムの進行役決め
振り返りの進行役決め
JIRAチケット作成代行
とても便利
イケてるエンジニアは 
社会人力が低い
対策が必要
食事補助券のもらい忘れ防止
ゴミ捨て忘れ防止
選択肢チョイス機能
昼ご飯レコメンド
今晩のアニメ放映情報
すごく便利
でも、Ops要素弱くね?
でも、Ops要素弱くね? 
A. 僕もそう思います
まだまだ発展途上
お堅めの会社で、ChatOpsをやる方法
PaaSチームは 
会社の中でも変わった存在
ウォーターフロー開発 
スクラム開発
IRC
• 新しいものを恐れない。積極的に取り入れる 
• 少数精鋭⇒効率重視、出来る限り自動化 
• 設計・開発・運用、どれも外注しない。 
チームで全部やる 
• チームの活動は重要。でも、個人の活動も 
軽視しない
• この文化があるので、ChatOpsの 
実践は自然な流れだった 
• いつの間にか、Jenkinsが喋っていた 
• いつの間にか、ueoが居着いていた 
• いつの間にか、tamacが 
居なくなっていた
どうやって文化をつくるか
• まずはやってみること 
• やるときに、許可を求めないこと 
 − 「許可を求めるな。謝罪せよ」 
• 最初はひとり、徐々に周りを巻き込むこと 
• 1度定着してしまえば、 
それが新たな常識になる
強固な文化を構築すると 
「自己選択的」にな る
ChatOpsをやれるということ 
• チームにコミュニケーション手段が定着 
• 新たな仕組みを試せる環境と文化がある 
• 試行錯誤できるスキルと適性がある 
• Chat経由で操作できるくらい、運用が自動化 
されている
ChatOpsを自然にやれる 
= 
良いチームが出来ている
さいごに
Cloudn PaaSは 
Webアプリ開発・運用の 
ワークフローを助けます 
ラクに 
楽 
たのしく 
大変な作業を
ならば、それを作る側も 
ラクに 
楽 
たのしく 
仕事しないとね
ちなみに 
「上尾」は「あげお」と読むらしいです
参考情報 
http://www.ntt.com/cloudn/data/paas.html 
Publickey「オープンソースで商用クラウドサービスを作るためのチームビルディング。 
NTTコミュニケーションズ(前編)」 
http://www.publickey1.jp/blog/13/ntt_3.html 
nadoka 
https://github.com/nadoka/nadoka 
Team Geek――Googleのギークたちはいかにしてチームを作るのか 
http://www.oreilly.co.jp/books/9784873116303/

Cloudn PaaSチームのChatOps実践