brainwarsのopsworks活用事例

35
BrainWarsの OpsWorks活用事例 ダウンロード突破! @matsukaz 2015.03.24 〜 安眠を目指して 〜

Upload: masakazu-matsushita

Post on 17-Jul-2015

4.614 views

Category:

Technology


0 download

TRANSCRIPT

BrainWarsの OpsWorks活用事例

ダウンロード突破!万

@matsukaz2015.03.24

〜 安眠を目指して 〜

@matsukaz

松下 雅和

株式会社トランスリミット

エンジニア

@matsukaz

松下 雅和

株式会社トランスリミット

エンジニア

• インフラ全般 (AWS, Chef)

• サーバ (Rails, Socket.IO, fabric)

• フロント (cocos2d-x, C++)

• 開発/運用支援 (開発用Docker, Adminサーバ)

• ChatOps推進 (slack, hubot)

• その他必要なことはなんでも

(コーヒー豆購入, 卓球王者,

バランスボール&スタンディングデスク布教)

主な担当

書籍

BrainWars 知ってますか?

ゲームの流れ

ホーム

バトル開始!

同一リーグの ユーザと対戦

マッチング

スタンプによる コミュニケーション

3ラウンド・バトル

(現時点で) 25種類のゲームの 中からランダムで決定

x3

1ラウンド 20秒バトル

バトル結果

3ラウンドの 合計点数で勝敗決定

各種SNSへ 結果を共有

毎週日曜24時に ランキング確定と リーグが昇降格

ランキング

面白そうでしょ? (・∀・)

わずか8ヶ月で 1000万突破!

海外ユーザ比率 95.7%

男女比ほぼ同じ

20代が約半数

AKB48もハマる!

乃木坂46や 芸人まで

創業者たち

( ´-`)。oO(ラーメン屋…?)

高場社長

工藤CTOデザイナー 花城氏

BrainWarsの アーキテクチャ

MySQL

ELB

EC2

EC2

S3

OpsWorks

ElastiCache (Redis) DynamoDB RDS

(MySQL) SES SNS SQS

Easy Deployment, Auto Scale (Load & Time)

EC2

ユーザデータゴースト用 バトルログ

ランキング, 一時データ ISP

プロフィール画像, 言語ファイル, etc

メール送信

SNS

送信失敗時

CloudWatch

Route 53

device token登録

Slack

プッシュ通知

リアルタイム対戦

Socket Server

API Server

Auto Scale

名前変更, BAN, コイン付与, …

Admin Server

APKビルド

画像削除

全体構成

Dynamic DynamoDB

fabric, rake tasks

ELB

EC2

EC2

OpsWorks

リアルタイム対戦

Socket Server

API Server

全体構成OpsWorksに関わるところ

OpsWorksの特徴• Chefを利用したアプリケーション管理サービス

• 環境構築とアプリケーションのデプロイを自動化

• 幅広いアーキテクチャをデフォルトでサポート

• Chefのレシピ追加などでカスタマイズも可能

• ELBと自動連携

• オートスケール設定

2014年10月時点• OpsWorksはすでに導入済み

• 運用に関わる課題

• ピーク時間にサーバを手動で追加

• 想定外の負荷で慌てて手動で追加

• CloudWatchのALARM入れ忘れで監視漏れ

• 起動に時間がかかる(7分以上)

• OpsWorks利用時の問題点

• Socket Serverの接続数が1,000超で限界に

現在• ピーク時間にサーバを手動で追加

• Time-basedを利用!

• ランキング確定前後2時間だけサーバ増強

• 想定外の負荷で慌てて手動で追加

• Load-based利用!

現在• CloudWatchのALARM入れ忘れで監視漏れ

• Chefのカスタムレシピで対応!

(独自メトリクス、ALARM登録など)

• Socket Serverの接続数が1,000超で限界に

• file descriptorのチューニング

• monitプロセスを再起動

(チューニング内容が反映されていないため)

現在• 起動速度向上(カスタムAMI、EBS-Bootを利用)

7分以上 → 2分弱に短縮!

http://blog.celingest.com/en/2014/04/25/benckmark-boot-time-comparison-opsworks/

参考データ

これで毎日熟睡! (。-ω-)zzZ

その他課題• デプロイすると勝手にELBと連携しちゃう…

メンテ状態に切り替えて、 ELBからEC2切り離して、 アプリをデプロイっと!

さてEC2に直接アクセスで サーバの動作確認を…えっ? すでにELBで外部に公開されてる?!

ヽ(=´▽`=)ノ

∑(゚д゚lll)

その他課題• ephemeral diskが複数あっても活用できてない

• c3.xlargeとかephemeral diskが2つあるけど

デプロイ先として1つしか活用されていない

宣伝

ただいま メンバーを募集中!

• エンジニア

• プロデューサー

• CFO/COO候補

• デザイナー

• プランナー

5億DL〜 17億DL〜5億DL〜

世界をターゲットに DL数で億超えを目指す

社内勉強会 T-Cube (Translimit Tech Talk)

バランスボールや スタンディングデスク

お待ちしてます!