DevOps at ChatWork- Developers Summit 2013 Summer -
山本正喜
Summit Developers
#natsumiS1
-自己紹介 -
ChatWork株式会社専務取締役CTO 山本 正喜
ビジネスチャットツール「チャットワーク」を展開中
東京:13人
大阪:13人 USA:6人
チャットワークのコンセプト
クラウド型ビジネスチャットツールチャットの効率性・シンプルさをビジネスへ
+
ビデオ通話
in the cloud
チャット タスク管理
2013年7月で22万ユーザー突破導入企業例:
ChatWorkの規模感 (2013/07現在)
ユーザー数 約22万
利用ユーザー国数 約130ヵ国
メッセージ数 約1億2千万
チャットルーム数 約1千200万
タスク数 約530万
ファイル数 約420万 (約8.5TB)
わりとミッションクリティカル
ビジネス向けチャット = 落とすと業務に支障
落ちた瞬間、twitter / facebook が阿鼻叫喚・・
わりとミッションクリティカル
ビジネスユース = 落とすと業務に支障
すいません、すいません、、、※Yahoo! Japanリアルタイム検索より
DevOps?
Dev:どんどん機能追加したい
VS
Ops:安定運用したい
ChatWorkにおけるDevOpsの考え方
極力”運用”しない
ChatWorkの運用体制
1人は入社したてで研修中(7月入社)もう1人も開発兼務 (Androidアプリ)
実質、1人弱で運用しています
Dev:
Ops:
11人
2人
昨年度実績 (稼働率99.99% ※メンテナンスを除く)
大規模チャットシステムにおける運用の勘所
データベース(write-heavyな負荷)
リアルタイム通信(C10K問題)
ファイルサーバ(要Scale Out)
Webサーバーは並べればいいだけなので簡単。
大規模チャットシステムにおける運用の勘所
データベース(write-heavyな負荷)
リアルタイム通信(C10K問題)
ファイルサーバ(要Scale Out)
Webサーバーは並べればいいだけなので簡単。
マネージドサービス(PaaS/SaaS)をフル活用する
Amazon RDSDynamoDB
Amazon S3 Channel API
Amazon EC2(IaaS)で自分たちで管理
→→ →
ソースコード管理
仕様/企画書
課題管理
コミュニケーション
利用しているSaaS
パフォーマンス監視
ログ解析
ネットワーク監視
モバイル開発支援
→
→
→
→
→
→
→
→
自分たちで運用しているもの
障害監視
サーバモニタ
IM通知(bot)
ビルド/デプロイ
検索サーバ
タスクキュー
KPIトラッキング
ソーシャル監視自作
Google SpreadSheet
→
→
→
→
→
→
→
→自作
自作
自作
Leanなサーバアーキテクチャ移行
プロダクトの成長
PaaS PaaS + IaaS
PaaS比率
IaaS比率
成長にともない IaaS 比率をあげていく
障害発生時のフロー
障害発生
基本的に自動復旧•フェイルオーバ•ロードバランサから切り離し•代替機能へフォールバック
復旧
通知
気付いた人がOpsチームに連絡
自動復旧できたか確認•不調なサーバの切り替え•各種プログラムの改修•スケールアップ/アウトの実施
ChatWorkにおけるDevOpsの考え方 2
DevOps + Biz
Biz = ビジネス部門 との協力が不可欠
開発部門(Dev)と運用部門(Ops)が協力するだけでは、柔軟でスピーディーなプロダクト開発はできない。
全社的に見た Dev / Ops / Biz
Dev = デベロッパ&デザイナ Mission: プロダクトの品質向上
Ops = インフラ&サポート Mission: 安定したサービス利用
Biz = マネジメント&マーケティング Mission: リソース確保
全員のMission: 顧客価値の最大化
ChatWork社で取り組んでいること
ほとんどのコミュニケーションはチャットで。
メールはしない。口頭確認やMTGは最低限に。
プロジェクトごとにグループチャットを作成し、
関係者を全員入れる。(Dev/Ops/Biz問わず)
タスクの生まれる「背景」を共有する。言われた
ことだけをする”作業者”をつくらない。
ありがとうございました
山本正喜
♡DevOpsBiz
#natsumiS1Summit Developers