Contenu connexe Similaire à 大規模スマートフォンサービス開発の世界 〜無料通話アプリcommの現場から〜 Similaire à 大規模スマートフォンサービス開発の世界 〜無料通話アプリcommの現場から〜 (20) 大規模スマートフォンサービス開発の世界 〜無料通話アプリcommの現場から〜1. ⼤大規模スマートフォンサービス開発の世界
無料通話アプリcommの現場から
February
15,
2013
Ichito
Nagata
DeNA
Co.,
Ltd.
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
7. ⼤大規模であるということ
7
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
11. 開発体制
11
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
12. 1 5 15 60
12
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
14. 問題その1
15⼈人…?
14
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
16.
問題その2
POが瀕死
16
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
18.
問題その2
SMも瀕死
18
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
20. リリース
そして怒涛の
⼈人員追加
20
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
21.
対応その1
SCRUM
OF
SCRUM
の導⼊入
21
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
22. SCRUM
OF
SCRUM
の導⼊入
n ファンクションごとの4つのスクラムに分割
CHIEF SM
SM
PO
PO PO PO PO
TEAM TEAM TEAM TEAM
22
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
23.
対応その2
専任スクラムマスター
の導⼊入
23
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
25. インフラ
25
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
26. サービス規模
×
複雑性
26
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
31. Topic:
Data
Store
n MySQLを使い倒す
n Master/Slave/Backup構成
n Shardingが前提
n 箇所箇所でHandlerSocketを利⽤用
n DNSもMyDNS、Job queueもQ4M
n ⼀一部のIOが激しい箇所でRedisも導⼊入(作業中)
31
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
32. Topic:
DNS
n 名前解決であらゆる向き先を分散
n DB
n KVS
n メールサーバー
n etc
n MyDNSの負荷が⾺馬⿅鹿鹿にならない
n Consistent hashingでDNSをローカルキャッシュ
32
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
33. Topic:
Voice
Talk
n ⽇日⽶米間だと転送遅延が最低でも150msec程度発⽣生
n 海外ユーザーの⾳音声通話にはEC2を使⽤用
n ユーザーの最近傍のリージョンを⾃自動的に選択
n 作りがシンプルなのでいくらでもスケールアウトで
きる
33
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
34. テスト
34
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
35. リリース前後のテスト健康状態
サーバー クライアント
単体テスト
結合テスト
35
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
36. 問題その1
サーバーの結合テストが
書きづらい
36
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
38.
問題その2
クライアントの結合テストが
⼤大変
38
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
39. クライアントの結合テストが⼤大変
n テスターが頑張って⼿手作業
n QA⼯工数の圧迫
n 気軽にリグレッションを回せない
n かといって⾃自動化も⼤大変
n 環境構築の時点ですでに⼤大変
n Test Doubleも全部書かなきゃ
39
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
40. 上がらないカバレッジ
QA⼯工数の継続的増加
40
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
41. リリース後のテスト⽅方針
サーバー クライアント
単体テスト がんばる
結合テスト Integrated
UI
AutomaIon
Test
41
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
42. Integrated
UI
AutomaRon
Test
n Calabash/Cucumberを⽤用いたUI⾃自動化テスト
n 専⽤用サーバー環境を準備
n サーバーの最新のコードとも繋ぎこんで⼀一緒にテスト
42
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
45. 運⽤用
n Jenkins
n ミッドナイト・ヘッドレステスト
n Failするとメールでお叱り
n 専任テストエンジニア
n テストスクリプト作成
n 環境全般のメンテナンス
n 現状ではリグレッション⽤用途が主
n 開発中は仕様変わるので⼿手作業で試験
n 今後はなるべく開発中から⾃自動化してゆきたい
45
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
47. 限界
n フレームワークの限界
n アプリをまたぐ処理
n IMEまわり
n 動きのあるもの
n サーバーの完全な結合試験は無理
n あくまで補完的な役割でしかない
n しかし無いより全然マシ
n マニュアルテストやサーバー単独の結合テストも必須
47
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
49. QA
49
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
51. 問題その1
コミュニケーション不全
51
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
52. コミュニケーション不全
n チームとテスターとの認識ずれ
n 試験項⽬目
n 優先順位
n スケジュール感
n ようわからん感
n いま誰が何を試験しているのか
n 全体としてどういう状況なのか
n 不安、とにかく不安
52
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
53.
問題その2
やらされてる感
53
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
55. 問題その3
バグ管理の破綻
55
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
56. バグ管理の破綻
n エンジニアが⾃自主的にバグ管理
n 常にブレ続けた管理⽅方針
n フランクに放置されるブロッカー
n JIRAが廃墟化
n そして誰もいなくなった
JIRA イメージ図
56
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
57. コミュニケーション不全
やらされてる感
バグ管理の破綻
57
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
58. 対応その1
テスターの
チーム張り付き制の
導⼊入
58
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
60. 対応その2
専任ゲートキーパーの
参加
60
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
61. 専任ゲートキーパーの参加
n 藤⽥田さん
n 破綻していたJIRAを完璧にお掃除
n JIRA管理運⽤用⽅方針をゼロから再構築
n バグ放置してると毎朝メールが来る
藤⽥田明⼦子
(35)
61
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
63. 補記:Global
QAの難しさ
n 電波法の問題
n 海外端末を国内のWifiに繋げない
n DeviceAnywhereでリモートデバッグ
n ⾔言語の問題
n バイリンガルテスターの採⽤用
n 翻訳や現地テスターとのやり取りをお願い
63
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
64. 集計/分析
64
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
66. 何が起きているのか
わからない
わからない
66
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
67. 対応その1
クライアントログ収集
67
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
68. クライアントログ収集
n クライアント側でログを吐く
n 各種性能指標
n アクティビティ
n 端末にバッファリングして定期的にサーバーに送信
n サーバーログと同じ形式でHadoop上に保存
n トークや通話等、個⼈人情報や通信に関わる部分は除外
68
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
69. 対応その2
アクティビティの可視化
69
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
72. COMMはどこへ⾏行行くのか
72
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
73. commはどこへ⾏行行くのか
n 実名制、リアルアイデンティティを軸とした
クローズド・コミュニケーションのプラットフォームへ
n 春ごろに⼤大きな改修を予定
アイデンティティ
実名
Face
book
(
(
限 非
定 限
定
多
ー
ー
ー
れ
数
知 知
対 人 人
)
象 LINE mixi
)
ニックネーム
73
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
75. ACTION
75
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.
76. ⼤大規模たれ
76
Copyright
(C)
2013
DeNA
Co.,Ltd.
All
Rights
Reserved.