21
DevOps at ChatWork - Developers Summit 2013 Summer - 山本正喜 Summit Developers #natsumiS1

DevOps at ChatWork

Embed Size (px)

DESCRIPTION

Developers Summit 2013 Summer キーノートセッション用プレゼン

Citation preview

Page 1: DevOps at ChatWork

DevOps at ChatWork- Developers Summit 2013 Summer -

山本正喜

Summit Developers

#natsumiS1

Page 2: DevOps at ChatWork

-自己紹介 -

ChatWork株式会社専務取締役CTO 山本 正喜

ビジネスチャットツール「チャットワーク」を展開中

東京:13人

大阪:13人 USA:6人

Page 3: DevOps at ChatWork

チャットワークのコンセプト

クラウド型ビジネスチャットツールチャットの効率性・シンプルさをビジネスへ

+

ビデオ通話

in the cloud

チャット タスク管理

Page 4: DevOps at ChatWork

2013年7月で22万ユーザー突破導入企業例:

Page 5: DevOps at ChatWork

ChatWorkの規模感 (2013/07現在)

ユーザー数 約22万

利用ユーザー国数 約130ヵ国

メッセージ数 約1億2千万

チャットルーム数 約1千200万

タスク数 約530万

ファイル数 約420万 (約8.5TB)

Page 6: DevOps at ChatWork

わりとミッションクリティカル

ビジネス向けチャット = 落とすと業務に支障

落ちた瞬間、twitter / facebook が阿鼻叫喚・・

Page 7: DevOps at ChatWork

わりとミッションクリティカル

ビジネスユース = 落とすと業務に支障

すいません、すいません、、、※Yahoo! Japanリアルタイム検索より

Page 8: DevOps at ChatWork

DevOps?

Dev:どんどん機能追加したい

VS

Ops:安定運用したい

Page 9: DevOps at ChatWork

ChatWorkにおけるDevOpsの考え方

極力”運用”しない

Page 10: DevOps at ChatWork

ChatWorkの運用体制

1人は入社したてで研修中(7月入社)もう1人も開発兼務 (Androidアプリ)

実質、1人弱で運用しています

Dev:

Ops:

11人

2人

昨年度実績 (稼働率99.99% ※メンテナンスを除く)

Page 11: DevOps at ChatWork

大規模チャットシステムにおける運用の勘所

データベース(write-heavyな負荷)

リアルタイム通信(C10K問題)

ファイルサーバ(要Scale Out)

Webサーバーは並べればいいだけなので簡単。

Page 12: DevOps at ChatWork

大規模チャットシステムにおける運用の勘所

データベース(write-heavyな負荷)

リアルタイム通信(C10K問題)

ファイルサーバ(要Scale Out)

Webサーバーは並べればいいだけなので簡単。

マネージドサービス(PaaS/SaaS)をフル活用する

Amazon RDSDynamoDB

Amazon S3 Channel API

Amazon EC2(IaaS)で自分たちで管理

→→ →

Page 13: DevOps at ChatWork

ソースコード管理

仕様/企画書

課題管理

コミュニケーション

利用しているSaaS

パフォーマンス監視

ログ解析

ネットワーク監視

モバイル開発支援

Page 14: DevOps at ChatWork

自分たちで運用しているもの

障害監視

サーバモニタ

IM通知(bot)

ビルド/デプロイ

検索サーバ

タスクキュー

KPIトラッキング

ソーシャル監視自作

Google SpreadSheet

→自作

自作

自作

Page 15: DevOps at ChatWork

Leanなサーバアーキテクチャ移行

プロダクトの成長

PaaS PaaS + IaaS

PaaS比率

IaaS比率

成長にともない IaaS 比率をあげていく

Page 16: DevOps at ChatWork

障害発生時のフロー

障害発生

基本的に自動復旧•フェイルオーバ•ロードバランサから切り離し•代替機能へフォールバック

復旧

通知

気付いた人がOpsチームに連絡

自動復旧できたか確認•不調なサーバの切り替え•各種プログラムの改修•スケールアップ/アウトの実施

Page 17: DevOps at ChatWork

ChatWorkにおけるDevOpsの考え方 2

DevOps + Biz

Page 18: DevOps at ChatWork

Biz = ビジネス部門 との協力が不可欠

開発部門(Dev)と運用部門(Ops)が協力するだけでは、柔軟でスピーディーなプロダクト開発はできない。

Page 19: DevOps at ChatWork

全社的に見た Dev / Ops / Biz

Dev = デベロッパ&デザイナ Mission: プロダクトの品質向上

Ops = インフラ&サポート Mission: 安定したサービス利用

Biz = マネジメント&マーケティング Mission: リソース確保

全員のMission: 顧客価値の最大化

Page 20: DevOps at ChatWork

ChatWork社で取り組んでいること

ほとんどのコミュニケーションはチャットで。

メールはしない。口頭確認やMTGは最低限に。

プロジェクトごとにグループチャットを作成し、

関係者を全員入れる。(Dev/Ops/Biz問わず)

タスクの生まれる「背景」を共有する。言われた

ことだけをする”作業者”をつくらない。

Page 21: DevOps at ChatWork

ありがとうございました

山本正喜

♡DevOpsBiz

#natsumiS1Summit Developers