Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

BrainWarsのOpsWorks活用事例

20,279 views

Published on

2015/06/24に開催された「よくわかるAWS OpsWorks」のLT発表資料です。
http://kokucheese.com/event/index/270160/

Published in: Technology
  • Be the first to comment

BrainWarsのOpsWorks活用事例

  1. 1. BrainWarsの OpsWorks活用事例 ダウンロード突破!万 @matsukaz 2015.03.24 〜 安眠を目指して 〜
  2. 2. @matsukaz 松下 雅和 株式会社トランスリミット エンジニア
  3. 3. @matsukaz 松下 雅和 株式会社トランスリミット エンジニア
  4. 4. • インフラ全般 (AWS, Chef) • サーバ (Rails, Socket.IO, fabric) • フロント (cocos2d-x, C++) • 開発/運用支援 (開発用Docker, Adminサーバ) • ChatOps推進 (slack, hubot) • その他必要なことはなんでも
 (コーヒー豆購入, 卓球王者,
 バランスボール&スタンディングデスク布教) 主な担当
  5. 5. 書籍
  6. 6. BrainWars 知ってますか?
  7. 7. ゲームの流れ
  8. 8. ホーム バトル開始!
  9. 9. 同一リーグの ユーザと対戦 マッチング
  10. 10. スタンプによる コミュニケーション 3ラウンド・バトル (現時点で) 25種類のゲームの 中からランダムで決定 x3 1ラウンド 20秒バトル
  11. 11. バトル結果 3ラウンドの 合計点数で勝敗決定 各種SNSへ 結果を共有
  12. 12. 毎週日曜24時に ランキング確定と リーグが昇降格 ランキング
  13. 13. 面白そうでしょ? (・∀・)
  14. 14. わずか8ヶ月で 1000万突破!
  15. 15. 海外ユーザ比率 95.7%
  16. 16. 男女比ほぼ同じ 20代が約半数
  17. 17. AKB48もハマる! 乃木坂46や 芸人まで
  18. 18. 創業者たち ( ´-`)。oO(ラーメン屋…?) 高場社長 工藤CTO デザイナー 花城氏
  19. 19. BrainWarsの アーキテクチャ
  20. 20. 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
  21. 21. ELB EC2 EC2 OpsWorks リアルタイム対戦 Socket Server API Server 全体構成OpsWorksに関わるところ
  22. 22. OpsWorksの特徴 • Chefを利用したアプリケーション管理サービス • 環境構築とアプリケーションのデプロイを自動化 • 幅広いアーキテクチャをデフォルトでサポート • Chefのレシピ追加などでカスタマイズも可能 • ELBと自動連携 • オートスケール設定
  23. 23. 2014年10月時点 • OpsWorksはすでに導入済み • 運用に関わる課題 • ピーク時間にサーバを手動で追加 • 想定外の負荷で慌てて手動で追加 • CloudWatchのALARM入れ忘れで監視漏れ • 起動に時間がかかる(7分以上) • OpsWorks利用時の問題点 • Socket Serverの接続数が1,000超で限界に
  24. 24. 現在 • ピーク時間にサーバを手動で追加 • Time-basedを利用! • ランキング確定前後2時間だけサーバ増強 • 想定外の負荷で慌てて手動で追加 • Load-based利用!
  25. 25. 現在 • CloudWatchのALARM入れ忘れで監視漏れ • Chefのカスタムレシピで対応!
 (独自メトリクス、ALARM登録など) • Socket Serverの接続数が1,000超で限界に • file descriptorのチューニング • monitプロセスを再起動
 (チューニング内容が反映されていないため)
  26. 26. 現在 • 起動速度向上(カスタムAMI、EBS-Bootを利用)
 7分以上 → 2分弱に短縮! http://blog.celingest.com/en/2014/04/25/benckmark-boot-time-comparison-opsworks/ 参考データ
  27. 27. これで毎日熟睡! (。-ω-)zzZ
  28. 28. その他課題 • デプロイすると勝手にELBと連携しちゃう… メンテ状態に切り替えて、 ELBからEC2切り離して、 アプリをデプロイっと! さてEC2に直接アクセスで サーバの動作確認を…えっ? すでにELBで外部に公開されてる?! ヽ(=´▽`=)ノ ∑(゚д゚lll)
  29. 29. その他課題 • ephemeral diskが複数あっても活用できてない • c3.xlargeとかephemeral diskが2つあるけど
 デプロイ先として1つしか活用されていない
  30. 30. 宣伝
  31. 31. ただいま メンバーを募集中! • エンジニア • プロデューサー • CFO/COO候補 • デザイナー • プランナー
  32. 32. 5億DL〜 17億DL〜5億DL〜 世界をターゲットに DL数で億超えを目指す
  33. 33. 社内勉強会 T-Cube (Translimit Tech Talk) バランスボールや スタンディングデスク
  34. 34. お待ちしてます!

×