SlideShare a Scribd company logo
Cloudn PaaSチームの 
ChatOps実践 
第1回 Hubot×ChatOps勉強会
NTT Communications 
Developer 
Kazuto Kusama 
@jacopen
Cloudn PaaSチームのChatOps実践
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. 僕もそう思います
まだまだ発展途上
Cloudn PaaSチームのChatOps実践
お堅めの会社で、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/

More Related Content

What's hot (20)

Docker, Kubernetes and OpenShift v3
Docker, Kubernetes and OpenShift v3Docker, Kubernetes and OpenShift v3
Docker, Kubernetes and OpenShift v3
Emma Haruka Iwao
 
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
Kazuto Kusama
 
Cloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container NetworkingCloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container Networking
Kazuto Kusama
 
Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話
Yuji Oshima
 
Infrakit Docker_Tokyo_meetup
Infrakit Docker_Tokyo_meetupInfrakit Docker_Tokyo_meetup
Infrakit Docker_Tokyo_meetup
Yuji Oshima
 
最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話
Kazuto Kusama
 
DevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSHDevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSH
i_yudai
 
KubernetesとOpenShiftの話
KubernetesとOpenShiftの話KubernetesとOpenShiftの話
KubernetesとOpenShiftの話
Kazuto Kusama
 
Docker, Kubernetes and OpenShift v3
Docker, Kubernetes and OpenShift v3Docker, Kubernetes and OpenShift v3
Docker, Kubernetes and OpenShift v3
Emma Haruka Iwao
 
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
Kazuto Kusama
 
Cloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container NetworkingCloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container Networking
Kazuto Kusama
 
Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話
Yuji Oshima
 
Infrakit Docker_Tokyo_meetup
Infrakit Docker_Tokyo_meetupInfrakit Docker_Tokyo_meetup
Infrakit Docker_Tokyo_meetup
Yuji Oshima
 
最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話
Kazuto Kusama
 
DevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSHDevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSH
i_yudai
 
KubernetesとOpenShiftの話
KubernetesとOpenShiftの話KubernetesとOpenShiftの話
KubernetesとOpenShiftの話
Kazuto Kusama
 

Cloudn PaaSチームのChatOps実践