Submit Search
Upload
サイバーエージェントのゲーム事業のインフラからみたゲーム開発スタイルの変遷
•
1 like
•
769 views
S
Suguru Shirai
Follow
dot's conference「ゲーム開発の裏側」でお話ししたスライドです
Read less
Read more
Internet
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 68
Download now
Download to read offline
Recommended
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
Suguru Shirai
ポコロンダンジョンズとリアルタイム通信 -クライアント編-
ポコロンダンジョンズとリアルタイム通信 -クライアント編-
Suguru Shirai
Inside CyberAgent's Game Development
Inside CyberAgent's Game Development
Suguru Shirai
組織にテストコードを書く文化を 根付かせるためにやってきたこと
組織にテストコードを書く文化を 根付かせるためにやってきたこと
Suguru Shirai
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
Akihiro Sugeno
剣と魔法のログレスーMmoの継続的な改善と運用
剣と魔法のログレスーMmoの継続的な改善と運用
Satoshi Yamafuji
GCPでCI環境を構築する
GCPでCI環境を構築する
Toshihumi Anan
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
Tomotsune Murata
Recommended
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
Suguru Shirai
ポコロンダンジョンズとリアルタイム通信 -クライアント編-
ポコロンダンジョンズとリアルタイム通信 -クライアント編-
Suguru Shirai
Inside CyberAgent's Game Development
Inside CyberAgent's Game Development
Suguru Shirai
組織にテストコードを書く文化を 根付かせるためにやってきたこと
組織にテストコードを書く文化を 根付かせるためにやってきたこと
Suguru Shirai
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
Akihiro Sugeno
剣と魔法のログレスーMmoの継続的な改善と運用
剣と魔法のログレスーMmoの継続的な改善と運用
Satoshi Yamafuji
GCPでCI環境を構築する
GCPでCI環境を構築する
Toshihumi Anan
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
Tomotsune Murata
Photogrammetry on Cloud
Photogrammetry on Cloud
Ryo Kurauchi
この中に1人、素人がいる!
この中に1人、素人がいる!
infinite_loop
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
gree_tech
Oculus rift入門
Oculus rift入門
hima_zinn
phpck
phpck
Takenori Nakagawa
スマホでVRコンテンツを作る方法
スマホでVRコンテンツを作る方法
hima_zinn
AimingでGoogle Cloud Platformの利用について
AimingでGoogle Cloud Platformの利用について
(shibao)芝尾 (kouichiro)幸一郎
How are AsakusaSatellite growing with mzp
How are AsakusaSatellite growing with mzp
Ryo Suetsugu
もしSIerのエンジニアがSRE本を読んだら
もしSIerのエンジニアがSRE本を読んだら
Tomoki Ando
すごろくゲームでPlayFabの活用を検討
すごろくゲームでPlayFabの活用を検討
Shinya Nakajima
"クラウド × IoT 勉強会" Bluemix とスマホでゲームを作ろう!ハンズオン
"クラウド × IoT 勉強会" Bluemix とスマホでゲームを作ろう!ハンズオン
softlayerjp
ハンズオン:Bluemix とスマホでゲームを作ろう!
ハンズオン:Bluemix とスマホでゲームを作ろう!
softlayerjp
社内でのjira運用
社内でのjira運用
Yasushi Kishi
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
Shuji Yamada
Rancher on Bluemix Infrastructure
Rancher on Bluemix Infrastructure
cyberblack28 Ichikawa
今からでも遅くない! 2から始めるangular js
今からでも遅くない! 2から始めるangular js
Kohashi Daisuke
ソーシャルゲーム運用チームにJIRAを導入してみた話
ソーシャルゲーム運用チームにJIRAを導入してみた話
Kimura Ryota
Azure PipelinesをサーバサイドのCI/CDに活用
Azure PipelinesをサーバサイドのCI/CDに活用
Shinya Nakajima
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
AzureDevOpsで始めるAndroidのCI/CD
AzureDevOpsで始めるAndroidのCI/CD
Shinya Nakajima
オンラインゲームのRails複数db戦略
オンラインゲームのRails複数db戦略
Yasutomo Uemori
ゆとりエンジニア交流会_20130706
ゆとりエンジニア交流会_20130706
拓 小林
More Related Content
What's hot
Photogrammetry on Cloud
Photogrammetry on Cloud
Ryo Kurauchi
この中に1人、素人がいる!
この中に1人、素人がいる!
infinite_loop
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
gree_tech
Oculus rift入門
Oculus rift入門
hima_zinn
phpck
phpck
Takenori Nakagawa
スマホでVRコンテンツを作る方法
スマホでVRコンテンツを作る方法
hima_zinn
AimingでGoogle Cloud Platformの利用について
AimingでGoogle Cloud Platformの利用について
(shibao)芝尾 (kouichiro)幸一郎
How are AsakusaSatellite growing with mzp
How are AsakusaSatellite growing with mzp
Ryo Suetsugu
もしSIerのエンジニアがSRE本を読んだら
もしSIerのエンジニアがSRE本を読んだら
Tomoki Ando
すごろくゲームでPlayFabの活用を検討
すごろくゲームでPlayFabの活用を検討
Shinya Nakajima
"クラウド × IoT 勉強会" Bluemix とスマホでゲームを作ろう!ハンズオン
"クラウド × IoT 勉強会" Bluemix とスマホでゲームを作ろう!ハンズオン
softlayerjp
ハンズオン:Bluemix とスマホでゲームを作ろう!
ハンズオン:Bluemix とスマホでゲームを作ろう!
softlayerjp
社内でのjira運用
社内でのjira運用
Yasushi Kishi
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
Shuji Yamada
Rancher on Bluemix Infrastructure
Rancher on Bluemix Infrastructure
cyberblack28 Ichikawa
今からでも遅くない! 2から始めるangular js
今からでも遅くない! 2から始めるangular js
Kohashi Daisuke
ソーシャルゲーム運用チームにJIRAを導入してみた話
ソーシャルゲーム運用チームにJIRAを導入してみた話
Kimura Ryota
Azure PipelinesをサーバサイドのCI/CDに活用
Azure PipelinesをサーバサイドのCI/CDに活用
Shinya Nakajima
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
AzureDevOpsで始めるAndroidのCI/CD
AzureDevOpsで始めるAndroidのCI/CD
Shinya Nakajima
What's hot
(20)
Photogrammetry on Cloud
Photogrammetry on Cloud
この中に1人、素人がいる!
この中に1人、素人がいる!
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
Oculus rift入門
Oculus rift入門
phpck
phpck
スマホでVRコンテンツを作る方法
スマホでVRコンテンツを作る方法
AimingでGoogle Cloud Platformの利用について
AimingでGoogle Cloud Platformの利用について
How are AsakusaSatellite growing with mzp
How are AsakusaSatellite growing with mzp
もしSIerのエンジニアがSRE本を読んだら
もしSIerのエンジニアがSRE本を読んだら
すごろくゲームでPlayFabの活用を検討
すごろくゲームでPlayFabの活用を検討
"クラウド × IoT 勉強会" Bluemix とスマホでゲームを作ろう!ハンズオン
"クラウド × IoT 勉強会" Bluemix とスマホでゲームを作ろう!ハンズオン
ハンズオン:Bluemix とスマホでゲームを作ろう!
ハンズオン:Bluemix とスマホでゲームを作ろう!
社内でのjira運用
社内でのjira運用
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
Rancher on Bluemix Infrastructure
Rancher on Bluemix Infrastructure
今からでも遅くない! 2から始めるangular js
今からでも遅くない! 2から始めるangular js
ソーシャルゲーム運用チームにJIRAを導入してみた話
ソーシャルゲーム運用チームにJIRAを導入してみた話
Azure PipelinesをサーバサイドのCI/CDに活用
Azure PipelinesをサーバサイドのCI/CDに活用
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
AzureDevOpsで始めるAndroidのCI/CD
AzureDevOpsで始めるAndroidのCI/CD
Similar to サイバーエージェントのゲーム事業のインフラからみたゲーム開発スタイルの変遷
オンラインゲームのRails複数db戦略
オンラインゲームのRails複数db戦略
Yasutomo Uemori
ゆとりエンジニア交流会_20130706
ゆとりエンジニア交流会_20130706
拓 小林
ソーシャルゲーム開発における運用とそのツール
ソーシャルゲーム開発における運用とそのツール
Yoshiaki Sugimoto
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
モノビット エンジン
WebARで作るDukeが飛び出すカード
WebARで作るDukeが飛び出すカード
Hideyuki Fujikawa
全世界6,500万DL突破!ヒットゲームを作り上げたチームの道のり
全世界6,500万DL突破!ヒットゲームを作り上げたチームの道のり
Masakazu Matsushita
ブロックチェーンを活用した次世代芸能エージェント
ブロックチェーンを活用した次世代芸能エージェント
SHIDEO 関田
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
エピック・ゲームズ・ジャパン Epic Games Japan
非ゲーム業界のデザイナーが CEDECに参加してきた
非ゲーム業界のデザイナーが CEDECに参加してきた
Meyco U
nomad-cliの紹介
nomad-cliの紹介
Kohki Miki
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
Satoshi Yamafuji
SORACOM Conference "Discovery" 2018 | E1. Wioで始めるIoTプロトタイプ開発 〜実践事例のご紹介〜
SORACOM Conference "Discovery" 2018 | E1. Wioで始めるIoTプロトタイプ開発 〜実践事例のご紹介〜
SORACOM,INC
if-up 2019 | C3. コンシューマープロダクトにおけるクラウド実践
if-up 2019 | C3. コンシューマープロダクトにおけるクラウド実践
SORACOM,INC
デブサミ関西2013 「ソーシャルゲームのデータサイエンス」
デブサミ関西2013 「ソーシャルゲームのデータサイエンス」
OCHI Shuji
今日から始めるC3.js
今日から始めるC3.js
Wataru Nakaseko
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
gree_tech
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
Keisuke Utsumi
ASP.net MVC で Stripe課金を実装してみた話
ASP.net MVC で Stripe課金を実装してみた話
Yukihito Kataoka
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
俊仁 小林
Pokelabo android web
Pokelabo android web
Shumpei Shiraishi
Similar to サイバーエージェントのゲーム事業のインフラからみたゲーム開発スタイルの変遷
(20)
オンラインゲームのRails複数db戦略
オンラインゲームのRails複数db戦略
ゆとりエンジニア交流会_20130706
ゆとりエンジニア交流会_20130706
ソーシャルゲーム開発における運用とそのツール
ソーシャルゲーム開発における運用とそのツール
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
WebARで作るDukeが飛び出すカード
WebARで作るDukeが飛び出すカード
全世界6,500万DL突破!ヒットゲームを作り上げたチームの道のり
全世界6,500万DL突破!ヒットゲームを作り上げたチームの道のり
ブロックチェーンを活用した次世代芸能エージェント
ブロックチェーンを活用した次世代芸能エージェント
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
非ゲーム業界のデザイナーが CEDECに参加してきた
非ゲーム業界のデザイナーが CEDECに参加してきた
nomad-cliの紹介
nomad-cliの紹介
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
SORACOM Conference "Discovery" 2018 | E1. Wioで始めるIoTプロトタイプ開発 〜実践事例のご紹介〜
SORACOM Conference "Discovery" 2018 | E1. Wioで始めるIoTプロトタイプ開発 〜実践事例のご紹介〜
if-up 2019 | C3. コンシューマープロダクトにおけるクラウド実践
if-up 2019 | C3. コンシューマープロダクトにおけるクラウド実践
デブサミ関西2013 「ソーシャルゲームのデータサイエンス」
デブサミ関西2013 「ソーシャルゲームのデータサイエンス」
今日から始めるC3.js
今日から始めるC3.js
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
ASP.net MVC で Stripe課金を実装してみた話
ASP.net MVC で Stripe課金を実装してみた話
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
Pokelabo android web
Pokelabo android web
サイバーエージェントのゲーム事業のインフラからみたゲーム開発スタイルの変遷
1.
サイバーエージェントの ゲーム事業のインフラからみた ゲーム開発スタイルの変遷 2016/3/1 株式会社サイバーエージェント ⽩白井 英
2.
お前、誰よ • 株式会社 サイバーエージェント •
SGE統括室CTO • 白井 英 • エンジニア • Twitter @goodoo • Blog http://ameblo.jp/goodoo • DQ10 すぐちむ (FB392-435) プクリポ(旅芸人)
3.
少し説明
4.
CyberAgentの 子会社群による ゲーム事業
5.
ゲーム事業開発の歴史
6.
2010年 ソーシャルアプリ黎明期
7.
2010年の PHP カンファレンス
8.
その頃のウチ・・
9.
星空バータウン ドリームプロデューサー コーデマニア
10.
当時はまだ ガラケーが主戦場
11.
とはいえその 流行(負荷)具合は やばかった
12.
当時の数字 • ユーザ数約200万人 • 6000req/sec •
約10億PV/Month • 75万(MonthlyActiveUser) • ピーク時のトラフィック200Mbps 「星空バータウン」
13.
開発環境に 目を向ける
14.
当時(2010年)の開発の仕方 • サーバはオンプレ • CakePHP •
puppetでサーバ構築 • デプロイはCapistrano • DBのMigrationはRake ※すべてのプロジェクトで実施できてたわけではないです
15.
「星空バータウン」のサーバ構成 2010/7 ! Web 30
& Flash 3 & Cache 1 & DB &
16.
「星空バータウン」のサーバ構成 2011/5 ! FW 2
$ LB 2 $ PROXY 5 $ Web 25 $ Flash 3 $ Cache 5 $ DB 9 $
17.
当時は1チームの 人数がすくなかった (エンジニアは2・3人)
18.
開発サーバ(Web)は エンジニア1人1台 用意していた
19.
ソースコードの管理は Subverion!
20.
当時の小話・・
21.
急激な会員の伸び
22.
「明日中に Webサーバ20台 追加お願いします」
23.
Puppetを流し込 んでひたすら セットアップ!
24.
なんとか間に合う (Puppetありがとう!)
25.
2012-13年 ブラウザソーシャル アプリ後期
26.
ブラウザのアプリと ネイティブのアプリ を作り始めた
27.
開発環境に 目を向ける
28.
当時(2012-13年)の開発の仕方 • サーバはオンプレからクラウド • CodeIgniter •
デプロイはshell(rsync)
29.
• Subversion管理 • Redmineでチケット駆動へ
30.
1チームのあたりの 人数が増えた
31.
開発サーバの割当
32.
機能毎 開発者毎 様々
33.
開発ラインが並行で いくつも走るように なった結果
34.
2013-14年 転換期
35.
開発環境としての 開発のし易さを 見直す
36.
このスライドの内容を実践 http://www.ryuzee.com/contents/blog/6102
37.
・ユニットテストを書く ・結合テストを自動化 ・継続的インテグレーションサーバを つかう ・デプロイを自動化 ・環境構築を自動化
38.
このスライドの内容を取り入れる http://sotarok.hatenablog.com/entry/20120919/presented_git_and_pull_request_work_flow_at_phpcon2012
39.
開発フローの 見直し
40.
・1チケット1ブランチ ・ブランチ名は、チケット番号 ・ローカルのVirtualBoxで開発 ・ローカルのテストが通ったら featureへPUSH
41.
node port:1234 /var/www/feature/1234 チケット番号とURLを結びつけ node port:1235 /var/www/feature/1235 node port:1236 /var/www/feature/1236 node port:1237 /var/www/feature/1237 nginx 1234.example.com 1235.example.com 1236.example.com 1237.example.com server { listen 80; server_name
~^(?<port>d+).example.com; location / { set $url example.com; proxy_pass http://$url:${port}; } }
42.
機能単位で環境を 分ける方針で 開発サーバを運用
43.
当時(2013-14年)の開発の仕方 • サーバはクラウド • CodeIgniter(PHP) •
express(Node.js) • デプロイはCapistrano • DBのMigrationはRake
44.
• Git管理 • Redmineでチケット駆動 •
PullRequestによるソースレビュー
45.
継続的デリバリー
46.
現在
47.
ネイティブアプリが 主戦場
48.
様々な技術を使用
49.
【サーバ】 • クラウド • AWS •
CAのプライベートクラウド • GAE(Java)
50.
• AWS • オペレーション効率化 •
CAのプライベートクラウド • コストメリット • GAE • Googleと仲良くなれた それぞれのメリット
51.
• Googleと仲良くなれた
52.
【その他】 • Git • Git-flowが主流 •
一部GitHub-flowを使用 • チケット管理 • Redmineが主流
53.
【その他】 • 構成管理 • Chef •
Ansible
54.
サーバがクラウド になった影響は?
55.
クラウドになったからと いって開発サーバを どんどん増やすわけでは なかった
56.
サーバを管理するのは 人
57.
クラウドになったからと いって開発サーバを どんどん増やすわけでは なかった
58.
継続的デリバリー
59.
番外編
60.
今後のはなし
61.
Blue Green Deploy http://ameblo.jp/principia-ca/entry-12071871177.html
62.
Docker http://ameblo.jp/principia-ca/entry-12103919307.html
63.
グループ内では Dockerの本番運用 事例がでてきている
64.
ゲーム事業部内では・・
65.
http://blog.applibot.co.jp/2016/02/10/総会aiバトルを支える技術 社内での利用事例が
66.
ゲームの運用と クラウドの利点を マッチさせるために 工夫が必要
67.
自分たちのプロセスは 自分たちで進化させる!
68.
ご清聴ありがとうございました
Download now