cloudn paasチームのchatops実践
DESCRIPTION
第1回 Hubot×ChatOps勉強会で発表した資料です。 Cloudn PaaSチームで実践しているChatOps,そしてIRC Botについて紹介しますTRANSCRIPT
Cloudn PaaSチームの
ChatOps実践第1回 Hubot×ChatOps勉強会
NTT Communications Developer
Kazuto Kusama @jacopen
Kazuto Kusama @jacopen
Enlightened L11
こういうの作ってます
• OSSのPaaS、Cloud Foundryをベースにしたサービス
• Webアプリの運用を楽にします
• 最小構成で月額 ¥540(税込) から
• 公式サポート言語はRuby, Java, PHP
• OSSのPaaS、Cloud Foundryをベースにしたサービス
• Webアプリの運用を楽にします
• 最小構成で月額 ¥540(税込) から
• 公式サポート言語はRuby, Java, PHP
• だけど実はgoとnodeも標準対応してるので、Hubotも動くよ!
今月のSD誌で 記事かきました
(ChatOpsじゃないけど・・・)
今回話すこと
ひとつめ
×D e v e l o p m e n t Te a m
ChatOps
ふたつめ
一般的な大企業のイメージ
• そこそこの規模の組織でChatOpsをやるには、どうすればいいのか
• ChatOpsをやることは、どういう意味を持つのか
まずはチャットツールの話をしよう
個人的なチャットツールの変遷
1999
IRCAge of Empiresのチャンネル などに参加。 WIDEやReichaNetを利用。
1999
2003
IRC IRC
大学の仲間内で使う チャンネルを作った
1999
2003
2006IRC IRC IRC
個人プロジェクトの チャンネルを作った。 &サーバーをFreenodeに
1999
2003
2006
2012
IRC IRC IRC IRCCloudn PaaSチームで
IRCを使い始める
1999
2003
2006
2012
2014
IRC IRC IRC IRC IRC
1999
2003
2006
2012
2014
IRC IRC IRC IRC IRC
_人人人_ > IRC < ‾Y^Y‾
色々試してはみた
• 使い勝手はどれも悪くない
• どれもIRC相当か、それ以上の機能
• でも、ライセンス費用と移行コストを払ってまで欲しい機能が特にない
⇒ じゃあIRCでいいや
• 使い勝手はどれも悪くない
• どれもIRC相当か、それ以上の機能
• でも、ライセンス費用と移行コストを払ってまで欲しい機能が特にない
⇒ じゃあIRCでいいや
ただ、最近 はアリかなと思っている
今回の発表はIRCを前提とします
PaaSチームの、事例紹介
初代bot “tamac”さんRubyで書かれたnadokaベース
• アラートメールを読んで流す
• 時報
• URLのtitleを読み取って喋る
• ぬるぽ ⇒ ガッ
JenkinsはCIツールではなく
デキる執事と考えるべき
Jenkins (with IRC Plugin)
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アプリ開発・運用のワークフローを助けます
楽ラクに
たのしく
大変な作業を
ならば、それを作る側も
楽ラクに
たのしく
仕事しないとね
「上尾」は「あげお」と読むらしいです
ちなみに
参考情報
Publickey「オープンソースで商用クラウドサービスを作るためのチームビルディング。
NTTコミュニケーションズ(前編)」
http://www.publickey1.jp/blog/13/ntt_3.html
http://www.ntt.com/cloudn/data/paas.html
nadoka https://github.com/nadoka/nadoka
Team Geek――Googleのギークたちはいかにしてチームを作るのか
http://www.oreilly.co.jp/books/9784873116303/