Submit Search
Upload
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
•
2 likes
•
6,471 views
Katsuhiro Miura
Follow
PHPカンファレンス2017の登壇資料です
Read less
Read more
Engineering
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 45
Download now
Download to read offline
Recommended
phpcon2017 LT01 MDD
phpcon2017 LT01 MDD
Masahiko Jinno
LancersのCakePHPバージョンアップ施策について
LancersのCakePHPバージョンアップ施策について
Shigemasa Akiyama
PHP Version Up と AWS への移行
PHP Version Up と AWS への移行
gree_tech
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
gree_tech
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs
Takahiro Iwase
React Native performance optimization
React Native performance optimization
Takahiko Wada
ハッカソンに使うSwift & Swift 3.0のGCD
ハッカソンに使うSwift & Swift 3.0のGCD
翔新 史
Recommended
phpcon2017 LT01 MDD
phpcon2017 LT01 MDD
Masahiko Jinno
LancersのCakePHPバージョンアップ施策について
LancersのCakePHPバージョンアップ施策について
Shigemasa Akiyama
PHP Version Up と AWS への移行
PHP Version Up と AWS への移行
gree_tech
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
gree_tech
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs
Takahiro Iwase
React Native performance optimization
React Native performance optimization
Takahiko Wada
ハッカソンに使うSwift & Swift 3.0のGCD
ハッカソンに使うSwift & Swift 3.0のGCD
翔新 史
NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020
gree_tech
Arachne Unweaved (JP)
Arachne Unweaved (JP)
Ikuru Kanuma
Djangoのススメ
Djangoのススメ
Alisue Lambda
5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方
Jumpei iwamura
ネイティブゲーム開発におけるこれからの品質保証
ネイティブゲーム開発におけるこれからの品質保証
gree_tech
1年くらいScalaプロジェクトに関わった結果 #ichigayageek
1年くらいScalaプロジェクトに関わった結果 #ichigayageek
Michihito Shigemura
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
77web
インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話
雅也 山本
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo!デベロッパーネットワーク
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Satoshi Nagayasu
オブラブ冬合宿以降にやったことのふりかえり
オブラブ冬合宿以降にやったことのふりかえり
Yasunobu Kawaguchi
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
Yahoo!デベロッパーネットワーク
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
Masahiro Nishimi
20140131 万葉帰社日発表 チーム積み重ね 公開版
20140131 万葉帰社日発表 チーム積み重ね 公開版
tatsuo sakurai
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情
Naoki Yamada
リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方
Mikiya Okuno
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
Akira Nagata
5分で詰め込む フロントエンド最適化
5分で詰め込む フロントエンド最適化
Shohei Tai
サービスのスケール化のための検索システム改善
サービスのスケール化のための検索システム改善
PIXTA Inc.
PHP拡張をPECLに登録してわかったこと
PHP拡張をPECLに登録してわかったこと
Yoshio Hanawa
OPcache の最適化器の今
OPcache の最適化器の今
y-uti
More Related Content
What's hot
NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020
gree_tech
Arachne Unweaved (JP)
Arachne Unweaved (JP)
Ikuru Kanuma
Djangoのススメ
Djangoのススメ
Alisue Lambda
5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方
Jumpei iwamura
ネイティブゲーム開発におけるこれからの品質保証
ネイティブゲーム開発におけるこれからの品質保証
gree_tech
1年くらいScalaプロジェクトに関わった結果 #ichigayageek
1年くらいScalaプロジェクトに関わった結果 #ichigayageek
Michihito Shigemura
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
77web
インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話
雅也 山本
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo!デベロッパーネットワーク
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Satoshi Nagayasu
オブラブ冬合宿以降にやったことのふりかえり
オブラブ冬合宿以降にやったことのふりかえり
Yasunobu Kawaguchi
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
Yahoo!デベロッパーネットワーク
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
Masahiro Nishimi
20140131 万葉帰社日発表 チーム積み重ね 公開版
20140131 万葉帰社日発表 チーム積み重ね 公開版
tatsuo sakurai
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情
Naoki Yamada
リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方
Mikiya Okuno
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
Akira Nagata
5分で詰め込む フロントエンド最適化
5分で詰め込む フロントエンド最適化
Shohei Tai
サービスのスケール化のための検索システム改善
サービスのスケール化のための検索システム改善
PIXTA Inc.
What's hot
(20)
NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020
Arachne Unweaved (JP)
Arachne Unweaved (JP)
Djangoのススメ
Djangoのススメ
5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方
ネイティブゲーム開発におけるこれからの品質保証
ネイティブゲーム開発におけるこれからの品質保証
1年くらいScalaプロジェクトに関わった結果 #ichigayageek
1年くらいScalaプロジェクトに関わった結果 #ichigayageek
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
オブラブ冬合宿以降にやったことのふりかえり
オブラブ冬合宿以降にやったことのふりかえり
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
20140131 万葉帰社日発表 チーム積み重ね 公開版
20140131 万葉帰社日発表 チーム積み重ね 公開版
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情
リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
5分で詰め込む フロントエンド最適化
5分で詰め込む フロントエンド最適化
サービスのスケール化のための検索システム改善
サービスのスケール化のための検索システム改善
Viewers also liked
PHP拡張をPECLに登録してわかったこと
PHP拡張をPECLに登録してわかったこと
Yoshio Hanawa
OPcache の最適化器の今
OPcache の最適化器の今
y-uti
PHPとシグナル、その裏側
PHPとシグナル、その裏側
do_aki
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
Hiroshi Tokumaru
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略
yoku0825
アプリチームを支えるSlack bot
アプリチームを支えるSlack bot
Kazuaki KURIU
20151205フルスクラッチcms作成のノウハウ With Laravel
20151205フルスクラッチcms作成のノウハウ With Laravel
Takumi Yoshida
Laravelを使ってみた
Laravelを使ってみた
Jaeseop Jeong
カスタムトランジションやジェスチャーを生かしたUIの実装ポイント
カスタムトランジションやジェスチャーを生かしたUIの実装ポイント
Fumiya Sakai
デザインにもこだわったUiの事始め3
デザインにもこだわったUiの事始め3
Fumiya Sakai
わかってるフレームワーク Laravel
わかってるフレームワーク Laravel
Masashi Shinbara
3 tips of Laravel
3 tips of Laravel
Kazuaki KURIU
Phpフレームワーク 「laravel」でブログを作ろう
Phpフレームワーク 「laravel」でブログを作ろう
Syouta Tada
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
Mayumi Narisawa
Laravel LT
Laravel LT
Iwama Ryo
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
Masashi Shinbara
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
Kouhei Sutou
JavaScriptから利用するFirebase
JavaScriptから利用するFirebase
Takuji Shimokawa
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
Fumihiko Shiroyama
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
Fumiya Sakai
Viewers also liked
(20)
PHP拡張をPECLに登録してわかったこと
PHP拡張をPECLに登録してわかったこと
OPcache の最適化器の今
OPcache の最適化器の今
PHPとシグナル、その裏側
PHPとシグナル、その裏側
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略
アプリチームを支えるSlack bot
アプリチームを支えるSlack bot
20151205フルスクラッチcms作成のノウハウ With Laravel
20151205フルスクラッチcms作成のノウハウ With Laravel
Laravelを使ってみた
Laravelを使ってみた
カスタムトランジションやジェスチャーを生かしたUIの実装ポイント
カスタムトランジションやジェスチャーを生かしたUIの実装ポイント
デザインにもこだわったUiの事始め3
デザインにもこだわったUiの事始め3
わかってるフレームワーク Laravel
わかってるフレームワーク Laravel
3 tips of Laravel
3 tips of Laravel
Phpフレームワーク 「laravel」でブログを作ろう
Phpフレームワーク 「laravel」でブログを作ろう
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
Laravel LT
Laravel LT
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
JavaScriptから利用するFirebase
JavaScriptから利用するFirebase
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
Similar to PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
Rakuten Group, Inc.
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
Ryo Mitoma
サーバーレスの今とこれから
サーバーレスの今とこれから
真吾 吉田
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
Shigeru Hanada
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
Koichi ITO
勉強会:設定管理について
勉強会:設定管理について
Wataru Sato
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
infinite_loop
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
Retrieva inc.
TDDはじめる前に
TDDはじめる前に
Yasui Tsutomu
Heroku で作る スケーラブルな PHP アプリケーション
Heroku で作る スケーラブルな PHP アプリケーション
Masashi Shinbara
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
Masahiro Nishimi
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
Manabu Shimobe
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
DIVE INTO CODE Corp.
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
Kentaro Matsui
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
Shota Umeda
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
MinGeun Park
20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう
Takuya Kawabe
ペアプロはリモートでもできる!
ペアプロはリモートでもできる!
Tatsuya Deguchi
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
Similar to PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
(20)
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
サーバーレスの今とこれから
サーバーレスの今とこれから
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
勉強会:設定管理について
勉強会:設定管理について
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
TDDはじめる前に
TDDはじめる前に
Heroku で作る スケーラブルな PHP アプリケーション
Heroku で作る スケーラブルな PHP アプリケーション
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう
ペアプロはリモートでもできる!
ペアプロはリモートでもできる!
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
1.
PHPアプリの品質を(ある程度) 保つために出来る事 〜~組織編〜~ PHP カンファレンス
2017 2017/10/08 株式会社 サイバード 三浦 克浩
2.
⾃自⼰己紹介 • 名前:三浦 克浩
• Twitter ID:@MiuraKatsu • 仕事:恋愛ゲーム • 好きなフレームワーク: Laravel、Sails.js • 浦和レッズ:
3.
⼥女性向け恋愛ノベルゲーム
4.
• シリーズ 通算14タイトル •
海外展開 5カ国 6タイトル • シリーズ以外 4タイトル • 展開プラットフォーム 14プラットフォーム ⼥女性向け恋愛ノベルゲーム
5.
前提 • 新規開発じゃなくて、既存運⽤用の話 •
ソシャゲ運⽤用=毎⽉月なんかしらイベントがある • サーバサイド(PHP)の話中⼼心 • コードをどう変えるか?じゃなくて変えるため に何をしたのか?
6.
• タイトル毎に運⽤用チー ム •
それぞれチームリーダ とメンバー • 1チーム3〜~6⼈人 • 海外は別チームの場合 も 全体で50〜~80⼈人のエンジニア
7.
神クラス ハイクラス 新卒 PHP3ヶ⽉月⽬目 PHPerにも神はいる
8.
品質をよくするには? • 神がコードを書けば品質が良くなる • 神がコードレビューをすれば品質が良くなる •
神だけがコードを書けば品質が良くなる • 神がコードを書いた部分だけ品質が良くなる • 神がすべてのコードレビューをすれば品質が 良くなる
9.
「神頼み」 そ れ で も 神 な ら し て く れ る 神 な ら な ん と か
10.
突然の退職 新規⼤大型タイトル開発に引 き抜かれる 「神は死んだ!」
11.
「神頼み」からの脱却 仕組み化
12.
何をしたか? • 横断チームの新設 •
開発運⽤用サイクルの改善 • 品質評価軸の可視化 • 専⾨門チームの組成
13.
• 特定タイトルにつかない 横断チーム
14.
横断チームの役割 • 共通系システムの維持メンテ •
各チーム間の交流のHub • ⽇日々のカイゼンだけではできないことをする
15.
何をしたか? • 横断チームの新設 •
開発運⽤用サイクルの改善 • 品質評価軸の可視化 • 専⾨門チームの組成
16.
Development -‐‑‒ VCS(Git)によるソース管理
Deploy -‐‑‒ ⾃自動デプロイ Service Monitoring -‐‑‒ ステータス監視 開発運⽤用サイクルの改善 横断チームが仕組み導⼊入
17.
Development -‐‑‒ VCS(Git)によるソース管理
-‐‑‒ Pull Request 運⽤用 Code Check -‐‑‒ コードレビュー -‐‑‒ コーディング規約 Deploy -‐‑‒ ⾃自動デプロイ Service Monitoring -‐‑‒ ステータス監視 -‐‑‒ パフォーマンス監視 開発運⽤用サイクルの改善
18.
Development -‐‑‒ VCS(Git)によるソース管理
-‐‑‒ Pull Request 運⽤用 Code Check -‐‑‒ コードレビュー -‐‑‒ コーディング規約 Test -‐‑‒ Syntax チェック -‐‑‒ ユニットテスト -‐‑‒ 継続的インテグレーション Deploy -‐‑‒ ⾃自動デプロイ Service Monitoring -‐‑‒ ステータス監視 -‐‑‒ パフォーマンス監視 開発運⽤用サイクルの改善 ユニットテストよりCIが先
19.
Development -‐‑‒ VCS(Git)によるソース管理
-‐‑‒ Pull Request 運⽤用 Code Check -‐‑‒ コードレビュー -‐‑‒ コーディング規約 -‐‑‒ 静的解析 Test -‐‑‒ Syntax チェック -‐‑‒ ユニットテスト -‐‑‒ 継続的インテグレーション Deploy -‐‑‒ ⾃自動デプロイ Service Monitoring -‐‑‒ ステータス監視 -‐‑‒ パフォーマンス監視 -‐‑‒ プロファイリング 開発運⽤用サイクルの改善
20.
•運⽤用チームで取り組みづらい事を横断チームが 仕組み化・⾃自動化 •⾃自動化できたところに乗っかってもらう →導⼊入コストを下げる
•横断チームが作ることで標準化される •あるんだから使ってよね、というプレッシャー 開発運⽤用サイクルの改善
21.
GitHubでソース管理する →PullReq運⽤用ができる →→PullReqがくるからコードレビューする
⾃自動デプロイする →デプロイの前にCIが回せる →→CIが回るからユニットテスト書く 開発運⽤用サイクルの改善 • 仕組みを⼊入れることで⾏行動が変わる
22.
巻き込み⽅方 ユニットテスト 回したいんです ⼯工数が余計 にかかるからダ メ
23.
巻き込み⽅方 振り返り/KPT バックログ/タスク化 バグチケットヒヤリ・ハット 何が防げるかを理解してもらう
24.
巻き込み⽅方 障害発⽣生! 再発防⽌止策 障害報告書 ここに盛り込む ピンチをチャンスに!
25.
何をしたか? • 横断チームの新設 •
開発運⽤用サイクルの改善 • 品質評価軸の可視化 • 専⾨門チームの組成
26.
品質を定義する • サービス的な品質:レスポンスが早い。サーバ 負荷が軽い。 •
コード的な品質:静的解析のスコアが⾼高い。テ ストカバレッジが⾼高い。 数値化できるものを計測する
27.
品質評価軸の可視化 • 評価軸をチーム(タイトル)毎に可視化して公開 •
静的解析スコア/テストカバレッジ/スロークエリー 発⽣生数/レスポンスタイム/etc • ⾃自チームの数字が⾒見えるようになる: →⾃自分事になる • 他チームの数字が⾒見えるようになる: →勝⼿手に競い合う
28.
サービス的な評価軸計測 • Zabbix :統合監視ツール。計測値の可視化 •
NewRelic:SaaS型パフォーマンス監視(有料) • Monyog:MySQLモニタリングツール(有料) パフォーマンス監視&プロファイリング
29.
コード的な評価軸計測 • Scrutinizer:静的解析SaaS(有料) •
SonarQube:静的解析ツール • Coveralls:カバレッジレポート(有料) 単純に⾼高ければ⾼高評価でもない 古いタイトルには負の遺産も多い 変化を⾒見ている
30.
可視化 • Zabbix/NewRelic:時系列でグラフ表⽰示 •
Chatwork:Alert/CI結果を通知 • Wiki:バッチリスト。こんなやつ→
31.
何をしたか? • 横断チームの新設 •
開発運⽤用サイクルの改善 • 品質評価軸の可視化 • 専⾨門チームの組成
32.
優先度 • レスポンスが早くなると、売上は上がる •
スコアが上がっても、売上は上がらない まずはサービス品質の改善から
33.
サービス的な改善 とにかくボトルネックを潰す DBボトルネックが6割強 スロークエリーの撲滅
34.
• インフラチーム •
インフラチーム内にDBA
35.
SQL道場 • 毎週DBAによるSQL指導 •
今週発⽣生したスロークエリー数の報告 • 今週発⽣生したイケてないクエリーについての 指導
36.
ORMの功罪 • PHPerにはSQLが分からぬ •
かならずDB操作をしなければならぬ • 功:PHPerでもDB操作ができる! • 罪:どんなクエリが吐かれるか、吐いてみない と分からない
37.
DBAとの対話 • DBAはクエリーしか⾒見ない •
プログラムの内容は知らない • ゲーム仕様も知らない • 開発者の⾔言い訳に同情しない
38.
インフラ担当との対話 • インフラはサーバ負荷しか⾒見ない •
負荷理由(exイベント開始)を知らない • サーバ増はコスト増 • 開発者の⾔言い訳に同情しない
39.
道場開設当初 こんなクソクエリー書いたのは誰だ! インスタンスタイプ上げると 毎時xx円コストが上がるんだよ! なんで⽇日またぎのバッチと イベントフィーバー被せるんだよ! オンプレだからサーバ増やせないっ て⾔言っただろ! スロークエリー数:閾値10s超で数百件 ボコボコにされるPHPer
40.
現在(開設から2年) スロークエリー数:閾値0.5sで数件まで削減 PKでしか検索かけてないのにスロークエリーにな るということはDiskアクセス発⽣生してませんか キャッシュ周りのパラメータを⾒見直して みましょう 現在のままのサーバスペックでは、次回イベント 時の負荷に耐えられないかもしれません。 新しいサーバで、負荷テストして⾒見ましょう
41.
改善⽅方法はひとつじゃない • クエリーを修正する •
プログラムを修正する • サーバをスケールアウト/スケールアップする • RDBからKVSに切替える • ゲーム仕様を変更する
42.
いろんな⼈人を巻き込む ステークホルダー/専⾨門家じゃないと 解決できない事もある
43.
まとめ • 運⽤用だからカイゼンできる •
仕組みを変えると⾏行動が変わる • 「推測するな。計測せよ」 • ⾒見える化⼤大事 • 開発者以外を巻き込む
44.
新規開発も既存運⽤用も エンジニア募集中
45.
ご清聴ありがとうございました。
Download now