SlideShare a Scribd company logo
Submit Search
Upload
PHP Version Up と AWS への移行
Report
Share
gree_tech
gree_tech
Follow
•
2 likes
•
7,624 views
1
of
38
PHP Version Up と AWS への移行
•
2 likes
•
7,624 views
Report
Share
Download Now
Download to read offline
Engineering
PHP Conference 2017 にて発表された資料です。 http://phpcon.php.gr.jp/2017/
Read more
gree_tech
gree_tech
Follow
Recommended
PHPからJavaへ乗り換えた。そんな昔話をしよう by
PHPからJavaへ乗り換えた。そんな昔話をしよう
優介 黒河
6.9K views
•
61 slides
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!) by
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
13.3K views
•
22 slides
Infrastructure as Code (IaC) 談義 2022 by
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
3.3K views
•
21 slides
【de:code 2020】 カスタムコネクタ入門 : Power Platform と既存システムをつなげるカスタムコネクタ by
【de:code 2020】 カスタムコネクタ入門 : Power Platform と既存システムをつなげるカスタムコネクタ
日本マイクロソフト株式会社
505 views
•
31 slides
aws blackbelt amazon elasticsearch service by
aws blackbelt amazon elasticsearch service
Amazon Web Services Japan
31.7K views
•
71 slides
AWS Wavelengthと大阪リージョンのご紹介20210414 by
AWS Wavelengthと大阪リージョンのご紹介20210414
Amazon Web Services Japan
1.9K views
•
35 slides
More Related Content
What's hot
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM) by
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Amazon Web Services Japan
7K views
•
62 slides
マイクロサービスにおける非同期アーキテクチャ by
マイクロサービスにおける非同期アーキテクチャ
ota42y
49K views
•
105 slides
大規模トラフィックにどのように備えて負荷対策を実施しているのか? by
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
Yusuke Shirakawa
5.8K views
•
59 slides
開発速度が速い #とは(LayerX社内資料) by
開発速度が速い #とは(LayerX社内資料)
mosa siru
61.4K views
•
18 slides
『VMware Cloud on AWS』×『Veeam』移行/データ保護の最適解はこれだ! by
『VMware Cloud on AWS』×『Veeam』移行/データ保護の最適解はこれだ!
株式会社クライム
1.3K views
•
36 slides
Windows Azure Platform 運用設計 V1.1 by
Windows Azure Platform 運用設計 V1.1
junichi anno
3.1K views
•
68 slides
What's hot
(20)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM) by Amazon Web Services Japan
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Amazon Web Services Japan
•
7K views
マイクロサービスにおける非同期アーキテクチャ by ota42y
マイクロサービスにおける非同期アーキテクチャ
ota42y
•
49K views
大規模トラフィックにどのように備えて負荷対策を実施しているのか? by Yusuke Shirakawa
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
Yusuke Shirakawa
•
5.8K views
開発速度が速い #とは(LayerX社内資料) by mosa siru
開発速度が速い #とは(LayerX社内資料)
mosa siru
•
61.4K views
『VMware Cloud on AWS』×『Veeam』移行/データ保護の最適解はこれだ! by 株式会社クライム
『VMware Cloud on AWS』×『Veeam』移行/データ保護の最適解はこれだ!
株式会社クライム
•
1.3K views
Windows Azure Platform 運用設計 V1.1 by junichi anno
Windows Azure Platform 運用設計 V1.1
junichi anno
•
3.1K views
20200811 AWS Black Belt Online Seminar CloudEndure by Amazon Web Services Japan
20200811 AWS Black Belt Online Seminar CloudEndure
Amazon Web Services Japan
•
6K views
VMware Cloud on AWSネットワーク詳細解説 by Noritaka Kuroiwa
VMware Cloud on AWSネットワーク詳細解説
Noritaka Kuroiwa
•
2K views
週末趣味のAWS VPC Traffic Mirroring by Namba Kazuo
週末趣味のAWS VPC Traffic Mirroring
Namba Kazuo
•
1.5K views
【BS15】.NET アップグレード アシスタントで簡単にできます! .NET Framework アプリの .NET 6 へのマイグレーション by 日本マイクロソフト株式会社
【BS15】.NET アップグレード アシスタントで簡単にできます! .NET Framework アプリの .NET 6 へのマイグレーション
日本マイクロソフト株式会社
•
3.7K views
Firebase Authを Nuxt + Railsの自前サービス に導入してみた by Tomoe Sawai
Firebase Authを Nuxt + Railsの自前サービス に導入してみた
Tomoe Sawai
•
3.7K views
新入社員のための大規模ゲーム開発入門 サーバサイド編 by infinite_loop
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
•
48.1K views
Re: ゼロから始める監視設計 by Masahito Zembutsu
Re: ゼロから始める監視設計
Masahito Zembutsu
•
22.5K views
インフラエンジニアってなんでしたっけ(仮) by Akihiro Kuwano
インフラエンジニアってなんでしたっけ(仮)
Akihiro Kuwano
•
102.6K views
マスターデータの キャッシュシステムの改善の話 by natsumi_ishizaka
マスターデータの キャッシュシステムの改善の話
natsumi_ishizaka
•
2.6K views
AWS Lambdaで作るクローラー/スクレイピング by Takuro Sasaki
AWS Lambdaで作るクローラー/スクレイピング
Takuro Sasaki
•
25.8K views
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ... by NTT DATA Technology & Innovation
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTT DATA Technology & Innovation
•
10K views
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ! by Teruchika Yamada
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
Teruchika Yamada
•
9.4K views
【de:code 2020】 Power Platform いまさら聞けないモデル駆動型アプリケーション by 日本マイクロソフト株式会社
【de:code 2020】 Power Platform いまさら聞けないモデル駆動型アプリケーション
日本マイクロソフト株式会社
•
1.8K views
VPC Reachability Analyzer 使って人生が変わった話 by Noritaka Sekiyama
VPC Reachability Analyzer 使って人生が変わった話
Noritaka Sekiyama
•
2.6K views
Viewers also liked
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則 by
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
Hiroshi Tokumaru
71.5K views
•
86 slides
片手間MySQLチューニング戦略 by
片手間MySQLチューニング戦略
yoku0825
21.2K views
•
78 slides
LancersのCakePHPバージョンアップ施策について by
LancersのCakePHPバージョンアップ施策について
Shigemasa Akiyama
4.6K views
•
66 slides
OPcache の最適化器の今 by
OPcache の最適化器の今
y-uti
10.2K views
•
55 slides
phpcon2017 LT01 MDD by
phpcon2017 LT01 MDD
Masahiko Jinno
9.2K views
•
58 slides
PHP拡張をPECLに登録してわかったこと by
PHP拡張をPECLに登録してわかったこと
Yoshio Hanawa
7.5K views
•
19 slides
Viewers also liked
(17)
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則 by Hiroshi Tokumaru
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
Hiroshi Tokumaru
•
71.5K views
片手間MySQLチューニング戦略 by yoku0825
片手間MySQLチューニング戦略
yoku0825
•
21.2K views
LancersのCakePHPバージョンアップ施策について by Shigemasa Akiyama
LancersのCakePHPバージョンアップ施策について
Shigemasa Akiyama
•
4.6K views
OPcache の最適化器の今 by y-uti
OPcache の最適化器の今
y-uti
•
10.2K views
phpcon2017 LT01 MDD by Masahiko Jinno
phpcon2017 LT01 MDD
Masahiko Jinno
•
9.2K views
PHP拡張をPECLに登録してわかったこと by Yoshio Hanawa
PHP拡張をPECLに登録してわかったこと
Yoshio Hanawa
•
7.5K views
PHPとシグナル、その裏側 by do_aki
PHPとシグナル、その裏側
do_aki
•
9.6K views
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜 by Katsuhiro Miura
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
Katsuhiro Miura
•
6.5K views
Apache sparkとapache cassandraで行うテキスト解析 by Kazutaka Tomita
Apache sparkとapache cassandraで行うテキスト解析
Kazutaka Tomita
•
1.1K views
モバイルするハニーポット無線LANアクセスポイント by Naoya Kaneko
モバイルするハニーポット無線LANアクセスポイント
Naoya Kaneko
•
3.9K views
PostgreSQLレプリケーション(pgcon17j_t4) by Kosuke Kida
PostgreSQLレプリケーション(pgcon17j_t4)
Kosuke Kida
•
7.4K views
Docker最新動向2017秋+セキュリティの落とし穴 by Masahito Zembutsu
Docker最新動向2017秋+セキュリティの落とし穴
Masahito Zembutsu
•
11.3K views
ネットワーク自動化ツール紹介(Ansible・NAPALM編) by akira6592
ネットワーク自動化ツール紹介(Ansible・NAPALM編)
akira6592
•
11.5K views
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化 by 真乙 九龍
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
真乙 九龍
•
3.9K views
PGroonga 2 - PostgreSQLでの全文検索の決定版 by Kouhei Sutou
PGroonga 2 - PostgreSQLでの全文検索の決定版
Kouhei Sutou
•
5.2K views
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム by Kouhei Sutou
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
Kouhei Sutou
•
1.8K views
AWS Black Belt - AWS Glue by Amazon Web Services Japan
AWS Black Belt - AWS Glue
Amazon Web Services Japan
•
50K views
Similar to PHP Version Up と AWS への移行
インフラエンジニアの楽しい標準化活動 by
インフラエンジニアの楽しい標準化活動
gree_tech
2.1K views
•
13 slides
おすすめインフラ! for スタートアップ by
おすすめインフラ! for スタートアップ
Koichiro Sumi
1.6K views
•
30 slides
ニュースアプリで起きた不具合から学んだ 最適への一歩 by
ニュースアプリで起きた不具合から学んだ 最適への一歩
Yahoo!デベロッパーネットワーク
4.5K views
•
45 slides
GREE-Fsite by
GREE-Fsite
technicaldesign
35.1K views
•
56 slides
ネットワークエンジニアがWeb開発をやってみて思ったこと by
ネットワークエンジニアがWeb開発をやってみて思ったこと
gree_tech
1.4K views
•
29 slides
第一回☆GREE AI Programming ContestでTensorFlow by
第一回☆GREE AI Programming ContestでTensorFlow
gree_tech
1.2K views
•
24 slides
Similar to PHP Version Up と AWS への移行
(20)
インフラエンジニアの楽しい標準化活動 by gree_tech
インフラエンジニアの楽しい標準化活動
gree_tech
•
2.1K views
おすすめインフラ! for スタートアップ by Koichiro Sumi
おすすめインフラ! for スタートアップ
Koichiro Sumi
•
1.6K views
ニュースアプリで起きた不具合から学んだ 最適への一歩 by Yahoo!デベロッパーネットワーク
ニュースアプリで起きた不具合から学んだ 最適への一歩
Yahoo!デベロッパーネットワーク
•
4.5K views
GREE-Fsite by technicaldesign
GREE-Fsite
technicaldesign
•
35.1K views
ネットワークエンジニアがWeb開発をやってみて思ったこと by gree_tech
ネットワークエンジニアがWeb開発をやってみて思ったこと
gree_tech
•
1.4K views
第一回☆GREE AI Programming ContestでTensorFlow by gree_tech
第一回☆GREE AI Programming ContestでTensorFlow
gree_tech
•
1.2K views
DeNAの最新のマスタデータ管理システム Oyakata の全容 by sairoutine
DeNAの最新のマスタデータ管理システム Oyakata の全容
sairoutine
•
3.6K views
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕) by Developers Summit
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
Developers Summit
•
24.9K views
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development by Go2GroupJapan
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
Go2GroupJapan
•
575 views
AndApp開発における全て #denatechcon by DeNA
AndApp開発における全て #denatechcon
DeNA
•
2.7K views
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai... by Yahoo!デベロッパーネットワーク
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Yahoo!デベロッパーネットワーク
•
1.5K views
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps by Google Cloud Platform - Japan
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
Google Cloud Platform - Japan
•
13.7K views
私たちがGCPを使い始めた本当の理由 by gree_tech
私たちがGCPを使い始めた本当の理由
gree_tech
•
2.2K views
ゼロからのプログラミングRails講座 Codeanywhere版 by DIVE INTO CODE Corp.
ゼロからのプログラミングRails講座 Codeanywhere版
DIVE INTO CODE Corp.
•
10.7K views
[141004] cedec 2014 참관기 & 강연 리뷰 #1 by MinGeun Park
[141004] cedec 2014 참관기 & 강연 리뷰 #1
MinGeun Park
•
1.8K views
DataEngConf NYC’18 セッションサマリー #2 by gree_tech
DataEngConf NYC’18 セッションサマリー #2
gree_tech
•
3.6K views
Presto in Yahoo! JAPAN #yjdsnight by Yahoo!デベロッパーネットワーク
Presto in Yahoo! JAPAN #yjdsnight
Yahoo!デベロッパーネットワーク
•
1.5K views
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから by Yahoo!デベロッパーネットワーク
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo!デベロッパーネットワーク
•
11.5K views
Unification of the middle scale services by Nuxt.js by HajimeSasanuma
Unification of the middle scale services by Nuxt.js
HajimeSasanuma
•
2.6K views
Dangerでpull requestレビューの指摘事項を減らす by Shunsuke Maeda
Dangerでpull requestレビューの指摘事項を減らす
Shunsuke Maeda
•
4.6K views
More from gree_tech
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜 by
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
gree_tech
725 views
•
36 slides
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介 by
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
gree_tech
229 views
•
13 slides
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表 by
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
gree_tech
1K views
•
18 slides
アプリ起動時間高速化 ~推測するな、計測せよ~ by
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech
1.9K views
•
84 slides
長寿なゲーム事業におけるアプリビルドの効率化 by
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech
347 views
•
116 slides
Cloud Spanner をより便利にする運用支援ツールの紹介 by
Cloud Spanner をより便利にする運用支援ツールの紹介
gree_tech
682 views
•
31 slides
More from gree_tech
(20)
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜 by gree_tech
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
gree_tech
•
725 views
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介 by gree_tech
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
gree_tech
•
229 views
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表 by gree_tech
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
gree_tech
•
1K views
アプリ起動時間高速化 ~推測するな、計測せよ~ by gree_tech
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech
•
1.9K views
長寿なゲーム事業におけるアプリビルドの効率化 by gree_tech
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech
•
347 views
Cloud Spanner をより便利にする運用支援ツールの紹介 by gree_tech
Cloud Spanner をより便利にする運用支援ツールの紹介
gree_tech
•
682 views
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介 by gree_tech
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
gree_tech
•
596 views
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について by gree_tech
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
gree_tech
•
626 views
海外展開と負荷試験 by gree_tech
海外展開と負荷試験
gree_tech
•
593 views
翻訳QAでのテスト自動化の取り組み by gree_tech
翻訳QAでのテスト自動化の取り組み
gree_tech
•
305 views
組み込み開発のテストとゲーム開発のテストの違い by gree_tech
組み込み開発のテストとゲーム開発のテストの違い
gree_tech
•
572 views
サーバーフレームワークに潜んでる脆弱性検知ツール紹介 by gree_tech
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
gree_tech
•
209 views
データエンジニアとアナリストチーム兼務になった件について by gree_tech
データエンジニアとアナリストチーム兼務になった件について
gree_tech
•
308 views
シェアドサービスとしてのデータテクノロジー by gree_tech
シェアドサービスとしてのデータテクノロジー
gree_tech
•
432 views
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて- by gree_tech
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
gree_tech
•
1K views
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話 by gree_tech
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
gree_tech
•
1.1K views
比較サイトの検索改善(SPA から SSR に変換) by gree_tech
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
•
693 views
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行 by gree_tech
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
gree_tech
•
2.9K views
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜 by gree_tech
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
gree_tech
•
396 views
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮) by gree_tech
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
gree_tech
•
751 views
Recently uploaded
how query cost affects search behavior translated in JP by
how query cost affects search behavior translated in JP
Tobioka Ken
9 views
•
16 slides
AIで始めるRustプログラミング #SolDevHub by
AIで始めるRustプログラミング #SolDevHub
K Kinzal
20 views
•
25 slides
図解で理解するvetKD by
図解で理解するvetKD
ryoo toku
84 views
•
22 slides
lt.pptx by
lt.pptx
tomochamarika
51 views
•
13 slides
3Dプリンタでロボット作るよ#1_黎明編 by
3Dプリンタでロボット作るよ#1_黎明編
Yoshihiro Shibata
20 views
•
7 slides
SSH超入門 by
SSH超入門
Toru Miyahara
194 views
•
21 slides
Recently uploaded
(8)
how query cost affects search behavior translated in JP by Tobioka Ken
how query cost affects search behavior translated in JP
Tobioka Ken
•
9 views
AIで始めるRustプログラミング #SolDevHub by K Kinzal
AIで始めるRustプログラミング #SolDevHub
K Kinzal
•
20 views
図解で理解するvetKD by ryoo toku
図解で理解するvetKD
ryoo toku
•
84 views
lt.pptx by tomochamarika
lt.pptx
tomochamarika
•
51 views
3Dプリンタでロボット作るよ#1_黎明編 by Yoshihiro Shibata
3Dプリンタでロボット作るよ#1_黎明編
Yoshihiro Shibata
•
20 views
SSH超入門 by Toru Miyahara
SSH超入門
Toru Miyahara
•
194 views
robotics42.pptx by Natsutani Minoru
robotics42.pptx
Natsutani Minoru
•
168 views
Najah Matsuo Self Introduction by NajahMatsuo
Najah Matsuo Self Introduction
NajahMatsuo
•
7 views
PHP Version Up と AWS への移行
1.
Copyright © GREE,
Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. PHP Version Up と AWS に移行した話 グリー株式会社 吉本 将宣
2.
Copyright © GREE,
Inc. All Rights Reserved. 自己紹介 ● 吉本 将宣 ● 2014年 グリー Join ● インフラ/リードエンジニア ○ 本職は NoSQL のはずだが、、、 ○ 何でもやるスタイル ■ PM、フロント開発・コードレビュー... ■ 一時は Manager も ... ● 10月からメディア事業へ ○ iOS/Android アプリの開発メイン
3.
Copyright © GREE,
Inc. All Rights Reserved. 今日お話しすること ● PHP Version Up した話 ● AWS に移行した話
4.
Copyright © GREE,
Inc. All Rights Reserved. 今日お話しすること ● PHP Version Up した話 ● レガシーと戦って僕たちが手に入れた武器 ● AWS に移行した話 ● 僕たちが手に入れた武器で次にやったこと
5.
Copyright © GREE,
Inc. All Rights Reserved. グリーのサービス SNS & ゲームプラットフォーム ブラウザゲーム & ネイティブゲーム 広告 メディア事業など
6.
Copyright © GREE,
Inc. All Rights Reserved. Memcached / Redis / Flare MySQL Apache + PHP 基本システム構成 アプライアンス ロードバランサ + Apache Proxy ロードバランサ層 アプリケーション層 データベース層
7.
Copyright © GREE,
Inc. All Rights Reserved. 2年前の僕たちの環境 SNS & ゲームプラットフォーム ブラウザゲーム & ネイティブゲーム 広告 メディア事業など オンプレ AWS
8.
Copyright © GREE,
Inc. All Rights Reserved. 2年前の僕たちの環境 SNS & ゲームプラットフォーム ブラウザゲーム & ネイティブゲーム 広告 メディア事業など オンプレ AWS OS : Ubuntu Trusty PHP : 5.5 以上 MySQL : 5.6 以上
9.
Copyright © GREE,
Inc. All Rights Reserved. 2年前の僕たちの環境 SNS & ゲームプラットフォーム ブラウザゲーム & ネイティブゲーム 広告 メディア事業など オンプレ AWS OS : Debian Lenny PHP : 5.2 MySQL : 5.5
10.
Copyright © GREE,
Inc. All Rights Reserved. なぜオンプレがレガシー化したのか ● 新規 OS への対応遅れ ○ 数千台規模のサーバの入替はそれだけで長期に渡る ● 息の長いサービスは密結合化 ○ 古くからあるサービス ■ GREE SNS やガラケー時代からの内製ブラウザゲーム ○ プラットフォームやゲーム間で require ■ プラットフォームが出来る前のコード ■ API 化されていない部分 ■ 同じサーバで動いていた ● API 呼び出しより MySQL 直アクセスの方が速かった ● メンテナンスが入れづらい ○ ゲームプラットフォームの修正はパートナー様にも影響する ● 肥大化したコード
11.
Copyright © GREE,
Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. 抜け出せないレガシーの沼
12.
Copyright © GREE,
Inc. All Rights Reserved. しかし限界はある ● レスポンス速度の改善も限界 ○ 2年前の時点でも周回遅れの PHP 5.2 ● OS が古いことによるミドルウェアのメンテナンスコスト増大 ○ セキュリティパッチは独自で対応 ○ AWS は ubuntu trusty なので、同じミドルウェアで複数バージョンを メンテナンスしないといけない 意を決して内製のブラウザゲームからバージョンアップを始めた
13.
Copyright © GREE,
Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. 効率よく&スピード重視で 進めないといけない
14.
Copyright © GREE,
Inc. All Rights Reserved. どうしたのか ● 少人数によるプロトタイピング ● ノウハウの共有 ● 修正方針と QA のスケジューリング
15.
Copyright © GREE,
Inc. All Rights Reserved. 少人数によるプロトタイピング ● インフラチームを中心に各ゲーム・プラットフォームから数名で対応 ● ゲームや SNS 機能が最低限動くところまで一気にやった ○ 各サービス共通のコードを完成させる ○ よくある syntax error の修正方法を決める ■ 引数の変更など (regex_replace, etc… ● ミドルウェア・インフラ面の問題も先取り ○ 画像ライブラリ・Apache などの設定や問題の確認 ● 開発環境を統一 ○ chef を使って本番と共通の cookbook を作成 ○
16.
Copyright © GREE,
Inc. All Rights Reserved. ノウハウ共有 ● 全サービスで共通のエラーレポートフローを定義 ○ ゲーム内で閉じない不具合は全員に共有 ○ どのように対応したかも一覧で分かるように ● チームや領域によらずに修正 ○ インフラ・ゲーム・プラットフォームのチームに関係なく pull request ○ レビューやテストは各サービスのエンジニアが対応することで品質を担保 ● インフラチームが舵を取って積極的にノウハウを共有 ○ 全社で共通となっているインフラチームが中心になることで情報を集約
17.
Copyright © GREE,
Inc. All Rights Reserved. 修正方針と QA のスケジューリング ● 修正方針 ○ PHP5.2 と PHP5.5 両方で必ず動くように修正する ● QA とリリースまでのスケジュール調整 ○ 先行して一つのゲームで QA を実施 ■ 密結合なので、プラットフォームなどの不具合も見つることができた ■ 画像合成といったセンシティブで時間が掛かる問題も早めに検知できた ○ 共通の不具合を修正後は並行して QA を実施 ■ 定常的に実施しているイベント等の QA と同時に実施 ● PHP5.2 と PHP5.5 の両方の環境で QA すると時間が掛かりすぎる ■ 事前に発生しやすい問題は把握・対応できているので不具合は少なめ ○ プラットフォームは定常 QA で確認しつつ徐々にリリース ○ リリースは一台に投入して2週間以上様子を見てから ■ 負荷に問題がないか
18.
Copyright © GREE,
Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. 決してスマートとは 言えないやり方だが...
19.
Copyright © GREE,
Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. どうにか難題を乗り越えて 僕たちが勝ち得たものとは
20.
Copyright © GREE,
Inc. All Rights Reserved. 負荷の改善 ● 50%ほど load avergae が改善された ○ Web サーバを 40% 削減 PHP 5.2 PHP 5.5
21.
Copyright © GREE,
Inc. All Rights Reserved. レガシーからの脱却 ● バージョンアップ前 (2015年時点) ○ Trusty & PHP5.5:全体の 20% ● バージョンアップ後 (2016年時点) ○ Trusty & PHP5.5:全体の 90% ■ Lenny & PHP5.2 で残ったもの ● サーバ管理システム等 ● オンプレのネイティブゲーム
22.
Copyright © GREE,
Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. そんな数字よりも。。。
23.
Copyright © GREE,
Inc. All Rights Reserved. 僕たちが真に勝ち得たもの ● 互いのシステムへの相互理解 ○ サーバサイドエンジニアのインフラへの理解 ○ インフラエンジニアのアプリケーションへの理解 ● 組織を超えた強力なチームワーク ○ 一つの目標に向かって一丸となって進む力 ○ 自分の領域に囚われずに協力し合う信頼関係
24.
Copyright © GREE,
Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. AWS に行こう
25.
Copyright © GREE,
Inc. All Rights Reserved. AWS 移行したモチベーション システム観点では。。。 ● オンプレサーバの老朽化 ○ 2017年には EOSL を迎えてしまう ○ HDDおよびメモリの故障率の増加 ○ パフォーマンスの限界
26.
Copyright © GREE,
Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. でも、それだけじゃない
27.
Copyright © GREE,
Inc. All Rights Reserved. AWS 移行したモチベーション ● 一丸となってやれば何でもできる自信 ○ 10年来の超大規模レガシーから抜け出した自信 ● 次のチャレンジへの意欲向上 ○ PHP7 ○ 疎結合化 ○ etc...
28.
Copyright © GREE,
Inc. All Rights Reserved. AWS 移行したモチベーション ● やりたいことは非常に多い ● でも、さすがに一気に全部やるのは怖いので ● AWS 移行しつつ、並行して PHP7 の準備をしました
29.
Copyright © GREE,
Inc. All Rights Reserved. 1年でゲームを全部 AWS に移行した ● 2016年 SNS & ゲームプラットフォーム ブラウザゲーム & ネイティブゲーム 広告 メディア事業など オンプレ AWS
30.
Copyright © GREE,
Inc. All Rights Reserved. 1年でゲームを全部 AWS に移行した SNS & ゲームプラットフォーム ブラウザゲーム & スマホゲーム 広告 メディア事業など オンプレ AWS ● 2017年
31.
Copyright © GREE,
Inc. All Rights Reserved. 移行したサービス ● ブラウザゲーム ○ 密結合なものも含めて全て ● スマホ向けネイティブゲーム ○ ブラウザゲームで得たノウハウを活かして PHP Version Up も同時に ○ ネイティブ向けのゲームプラットフォームも ● ゲーム以外も ○ コーポレート、広告・メディア事業系のサイト 20を超えるサービス、数千台規模のサーバを AWS に移行
32.
Copyright © GREE,
Inc. All Rights Reserved. どうやって移行したか? ● Direct Connect 使った ○ 事前に MySQL のレプリカを AWS 上に作る ■ AWS 側のレプリカを一台、オンプレのサービスに入れて クエリ検証やレスポンス速度等を確認 ● 密結合な内製ブラウザゲームの場合、プラットフォームがオンプレに残るので AWS からオンプレへのレスポンス速度も重要 ○ テスト用の別ドメインを AWS 側につけてテスト実施 ■ AWS からオンプレの本番 DB にアクセスして確認 ● 移行日の深夜メンテで切替 ○ MySQL マスタ切替 & DNS 切替 ○ 最終的な動作チェック
33.
Copyright © GREE,
Inc. All Rights Reserved. 移行して良かったこと ● サーバ費用の削減 ○ 40% 近い削減を達成 ■ ハードウェア性能向上による負荷低減 ● サーバリソースの在庫調整が不要に ○ オンプレではサーバ増加における調達のために在庫が必要だった ● PHP5.5 に出来ていなかったサービスも完全移行 ○ オンプレに残っていたネイティブゲーム等
34.
Copyright © GREE,
Inc. All Rights Reserved. AWS 移行で起きた問題 ● 深夜メンテを入れて移行できなかったのは最初の一回だけ ○ 原因は疎結合化を同時にやろうとしたことによるテスト不足 ● メンテ当日の準備不足 ○ テスト用端末がログインできないプロダクトがあり 当日慌てて対応した 大きなトラブルはほとんどなかった
35.
Copyright © GREE,
Inc. All Rights Reserved. なぜ一年で数千台規模を移行できたのか ● 普通に PDCA 回した ○ 最初の移行ミスでプロジェクト並行する問題が把握できた ○ 事前にやる作業や修正を次の移行プロダクトに共有した ○ 負荷予測の精度も移行を経るごとに高くなった ● 円滑なコミュニケーション ○ PHPバージョンアップした時からの信頼関係 ○ 相互に仕組みを理解しているため話が早く 問題を早く検知しやすい ■ 認識齟齬などに問題も少なかった
36.
Copyright © GREE,
Inc. All Rights Reserved. 今後のチャレンジ ● PHP7 on Xenial ○ 一部サービスでは導入を開始 ■ memcached への connection 数が改善 ■ cpu 負荷も半分程度に ● HTTP2 を使った通信の高速化 ● オンプレに残ったサービスのハイブリッドクラウド
37.
Copyright © GREE,
Inc. All Rights Reserved. まとめ ● 強靭な意志でレガシーから抜け出せる ● 勝ち得たチームワークは次のチャレンジの大きな財産! ● パフォーマンスの改善はその副産物
38.
Copyright © GREE,
Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. 技術負債は 人的資源に変える 大きなチャンス!