SlideShare a Scribd company logo
1 of 35
Download to read offline
BrainWarsの
OpsWorks活用事例
ダウンロード突破!万
@matsukaz
2015.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)
バランスボールや
スタンディングデスク
お待ちしてます!

More Related Content

More from Masakazu Matsushita

Interactive buttonsを利用したbotをつくってみた
Interactive buttonsを利用したbotをつくってみたInteractive buttonsを利用したbotをつくってみた
Interactive buttonsを利用したbotをつくってみたMasakazu Matsushita
 
Brain Dots at dots. - Brain Dotsのアーキテクチャ -
Brain Dots at dots. - Brain Dotsのアーキテクチャ -Brain Dots at dots. - Brain Dotsのアーキテクチャ -
Brain Dots at dots. - Brain Dotsのアーキテクチャ -Masakazu Matsushita
 
BrainWarsを支えるAWSサービスたち
BrainWarsを支えるAWSサービスたちBrainWarsを支えるAWSサービスたち
BrainWarsを支えるAWSサービスたちMasakazu Matsushita
 
TranslimitのChatOps事情と愉快なbotたち
TranslimitのChatOps事情と愉快なbotたちTranslimitのChatOps事情と愉快なbotたち
TranslimitのChatOps事情と愉快なbotたちMasakazu Matsushita
 
1000万DL突破!BrainWarsのアーキテクチャ
1000万DL突破!BrainWarsのアーキテクチャ1000万DL突破!BrainWarsのアーキテクチャ
1000万DL突破!BrainWarsのアーキテクチャMasakazu Matsushita
 
後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜Masakazu Matsushita
 
カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明Masakazu Matsushita
 
海外向けサービスの苦労話
海外向けサービスの苦労話海外向けサービスの苦労話
海外向けサービスの苦労話Masakazu Matsushita
 
The Case for using MongoDB in Social Game - Animal Land
The Case for using MongoDB in Social Game - Animal LandThe Case for using MongoDB in Social Game - Animal Land
The Case for using MongoDB in Social Game - Animal LandMasakazu Matsushita
 
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal LandソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal LandMasakazu Matsushita
 
Mongo DBを半年運用してみた
Mongo DBを半年運用してみたMongo DBを半年運用してみた
Mongo DBを半年運用してみたMasakazu Matsushita
 

More from Masakazu Matsushita (19)

Interactive buttonsを利用したbotをつくってみた
Interactive buttonsを利用したbotをつくってみたInteractive buttonsを利用したbotをつくってみた
Interactive buttonsを利用したbotをつくってみた
 
ダブルCTO
ダブルCTOダブルCTO
ダブルCTO
 
Brain Dots at dots. - Brain Dotsのアーキテクチャ -
Brain Dots at dots. - Brain Dotsのアーキテクチャ -Brain Dots at dots. - Brain Dotsのアーキテクチャ -
Brain Dots at dots. - Brain Dotsのアーキテクチャ -
 
BrainWarsを支えるAWSサービスたち
BrainWarsを支えるAWSサービスたちBrainWarsを支えるAWSサービスたち
BrainWarsを支えるAWSサービスたち
 
TranslimitのChatOps事情と愉快なbotたち
TranslimitのChatOps事情と愉快なbotたちTranslimitのChatOps事情と愉快なbotたち
TranslimitのChatOps事情と愉快なbotたち
 
1000万DL突破!BrainWarsのアーキテクチャ
1000万DL突破!BrainWarsのアーキテクチャ1000万DL突破!BrainWarsのアーキテクチャ
1000万DL突破!BrainWarsのアーキテクチャ
 
後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜
 
いつやるの?Git入門
いつやるの?Git入門いつやるの?Git入門
いつやるの?Git入門
 
カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明
 
海外向けサービスの苦労話
海外向けサービスの苦労話海外向けサービスの苦労話
海外向けサービスの苦労話
 
The Case for using MongoDB in Social Game - Animal Land
The Case for using MongoDB in Social Game - Animal LandThe Case for using MongoDB in Social Game - Animal Land
The Case for using MongoDB in Social Game - Animal Land
 
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal LandソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
 
Mongo DBを半年運用してみた
Mongo DBを半年運用してみたMongo DBを半年運用してみた
Mongo DBを半年運用してみた
 
ニコカレでLife hacks
ニコカレでLife hacksニコカレでLife hacks
ニコカレでLife hacks
 
DevLOVEのDevってなんだ?
DevLOVEのDevってなんだ?DevLOVEのDevってなんだ?
DevLOVEのDevってなんだ?
 
スマフォな生活
スマフォな生活スマフォな生活
スマフォな生活
 
It's up to you
It's up to youIt's up to you
It's up to you
 
JavaScript再入門
JavaScript再入門JavaScript再入門
JavaScript再入門
 
Spring Framework勉強会
Spring  Framework勉強会Spring  Framework勉強会
Spring Framework勉強会
 

Recently uploaded

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Recently uploaded (9)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

BrainWarsのOpsWorks活用事例