Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GCP NEXT Tokyo GCP事例 CyberAgent Game事業 GKEで変える...
Search
CyberAgent SGE Engineer
September 06, 2016
Programming
3.8k
4
Share
GCP NEXT Tokyo GCP事例 CyberAgent Game事業 GKEで変える開発スタイル
GCP NEXT World Tour Tokyo
事例紹介
「ゲーム業界の方必見!GCPのすごいところ」
発表資料
CyberAgent SGE Engineer
September 06, 2016
More Decks by CyberAgent SGE Engineer
See All by CyberAgent SGE Engineer
SREチームの立ち上げから5年間とこれから
sgeengineer
0
2.5k
サムザップにおけるNotionの 活用事例とPHPでのNotionAPIを利用した仕組み構築の紹介
sgeengineer
0
2.7k
Laravel OctaneをどうしてもPharで運用したい話
sgeengineer
2
3.3k
大規模Unityゲーム開発の設計事例 〜ドメイン駆動設計とDIコンテナを導入した一年を振り返る〜 / cedec2021-ddd
sgeengineer
2
17k
ロボットを動かすビジュアルプログラミングでできることはPHPでもできる!
sgeengineer
0
2.4k
PHP8版!Swooleのフレームワークを比べてみた
sgeengineer
1
3.5k
「戦国炎舞 -KIZNA-」で行ったAWSのコスト最適化の話
sgeengineer
0
2.4k
AirtestとPocoとOpenSTFによるUnity製スマートフォン向けゲームの実機自動テスト環境構築とその利用方法
sgeengineer
0
5.8k
PHPでgRPCって どこまでいけるの?
sgeengineer
0
5.6k
Other Decks in Programming
See All in Programming
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
310
Inside Stream API
skrb
1
480
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
Inspired By RubyKaigi (EN)
atzzcokek
0
470
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
760
Swiftのレキシカルスコープ管理
kntkymt
0
210
net-httpのHTTP/2対応について
naruse
0
400
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.1k
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.2k
RailsTokyo 2026#4: AI様があれば、 Hotwireの弱点は消えるか?
naofumi
5
1k
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
4
1.6k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
310
Featured
See All Featured
Crafting Experiences
bethany
1
160
How STYLIGHT went responsive
nonsquared
100
6.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
How to make the Groovebox
asonas
2
2.2k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
390
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
150
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
190
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Amusing Abliteration
ianozsvald
1
190
How to Talk to Developers About Accessibility
jct
2
210
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
130
Designing for Timeless Needs
cassininazir
1
240
Transcript
ήʔϜۀքͷํඞݟ!GCP ͷ͍͢͝ͱ͜Ζ גࣜձࣾαΠόʔΤʔδΣϯτɹനҪɹӳ 2016/9/6 ʙGKEͰม͑Δ։ൃελΠϧʙ
• 吳䒭⠓爡؟؎غ٦ؒ٦آؑٝز • SGE窟䭍劤鿇䪮遭窟䭍㹓CTO • 涯❁խ薉 • ؒٝآص، • Twitter
@goodoo • Blog http://ameblo.jp/goodoo • DQ10 ּׅ(FB392-435) فؙٔه 偆蔓➂ ֶծ铩״
؟؎غ٦ؒ٦آؑٝزך٦ي✲噟
4(& </&95>4NBSUQIPOF(BNFT&OUFSUBJONFOU ήʔϜࣄۀʹܞΘΔࢠձ͕ࣾࣾॴଐ͢Δ৫
؎ٝؿٓ橆㞮
•CAךفٓ؎ك٦زؙٓؐس •AWS •GCP(GAEɺGCE) •ֻׁךؙٓؐس 植㖈⢪欽׃גְ橆㞮
僓ַאַגתׅ
剑鵚ך《穈
倜鋉،فٔך涪ׅח ֮ג䮶鵤
傀㶷ך橆㞮ך铬겗䠬 http://bit.ly/2by3DqT
Production橆㞮ה 涪橆㞮ךず♧䚍ך䬐⥂ ך̍
劤䔲חずׄזך http://bit.ly/2bNDdqc
Stagingהך䗍㦩ז䊴
رفٗ؎ָאְ ך2
儗ַַָ http://bit.ly/2c4tVlS
Ⰻ،فٔ؟٦غ ず儗חⴖ剏ְִ http://bit.ly/2bP11pg
إُؗٔذ؍ػحث֮גָ אְ ך3
أ؛٦ٕׅלׅקו אֻז http://bit.ly/2c5YSX3
ֿד
٦يך涪ח 倜זػٓت؎ي http://bit.ly/2bZhJDp
؝ٝذش䪮遭ח滠湡
ؚٕ٦فⰻח✲⢽ָ http://bit.ly/2bxMeU7
⯓➂ח㷕ע
؝ٝذشהְִל
#PSH http://research.google.com/pubs/pub43438.html
ؔ٦؛أزٖ٦ءّٝخ٦ ָٕזֽל麊欽ָ㔭ꨇ http://bit.ly/2cb6PNW
LVCFSOFUFT
涪أة؎ٕ㢌ִ
http://bit.ly/2bynn3t 《穈✲
ٗ٦ٕؕ涪橆㞮ה ؙٓؐس♳ך橆㞮הך ず♧䚍ך䬐⥂ ך̍
kubernetes + minikubeד㹋植 yaml
荈⹛⻉ ך2
Source Push ↓ Source build + Unit Test ↓ Web
API container docker build ↓ nginx container docker build ↓ migration ↓ deploy
醱侧ך橆㞮䩛鯪ח ך3
node Service + Pods branch A branch B branch C
؟٦غך侧孡חׇ׆⡲䧭דֹ
ث؛حزה橆㞮הך 穠ןאֽ ך4
node port:1234 /var/www/feature/1234 ⟃node.js⢪ג儗ך䊨㣗 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}; } }
LVCFSOFUFT橆㞮ד װג http://bit.ly/2bTwRU4
ث؛حز殢〾הURL穠ןאֽ dev.example.com 1200.example.com 1312.example.com server { listen 80; server_name ~^(?<branch>.+)\.example\.com;
location / { set $url nginx-service-${branch}; proxy_pass http://$url.default.svc.cluster.local; } } nginxךService 䮶ⴓֽ欽 Service API Serverך nginx-service-dev nginx-service-1200 nginx-service-1312 Serviceせ
《穈⚥ךֿה http://bit.ly/2ccpCZ8
ذأزPodד㹋遤׃ג穄 Pod嶊ׅ ך
➙כJenkins؟٦غ♳ד ذأز㹋遤
ـٕ٦ؚٔ٦ٝرفٗ؎ Not Rolling-Update ך
http://bit.ly/2bP11pg Ⰻ،فٔ؟٦غ ず儗חⴖ剏ִ
䖤ך
橆㞮ךず♧䚍ך䬐⥂ ך
رفٗ؎鸞䏝ך♧㹀⻉ ך
اؿزؐؑ،ך غ٦آّٝ،حفָ䩛鯪ח ך
תה
涪橆㞮ח㼎ׅ 倜ז钠陎 http://bit.ly/2bzBYKV
http://bit.ly/2bP48NS 橆㞮ؕآُ،ٕח ⡲湫ׇ
את
㢌⻉ח㼎䘔׃竲ֽ 嚂חׅ麊欽ה ぢֹさֲֿהָ דֹ״ֲחז http://bit.ly/sygcE9
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠