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
appengine-ja-night-35.pdf
Search
Hiroyoshi HOUCHI
November 09, 2016
0
98
appengine-ja-night-35.pdf
Hiroyoshi HOUCHI
November 09, 2016
Tweet
Share
More Decks by Hiroyoshi HOUCHI
See All by Hiroyoshi HOUCHI
aws-dev-day-2020-f9-cdk-bestpractice
hixi
0
290
CDK 利用者から見る CDK
hixi
3
1.1k
ITS を支える 情報集約基盤 アーキテクチャ / ITS Tech Study #02
hixi
1
780
SIerIoT vol.7
hixi
1
550
AWS IoT を用いた DeNA オートモーティブアーキテクチャ / DeNA Techcon 2018 Houchi Hiroyoshi
hixi
1
34k
sake-game-gcp-5.pdf
hixi
0
100
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing for Performance
lara
604
68k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
A Philosophy of Restraint
colly
203
16k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Automating Front-end Workflow
addyosmani
1368
200k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
How GitHub (no longer) Works
holman
314
140k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Transcript
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Hiroyoshi HOUCHI System
Development Dept. Open Platform Business Unit DeNA Co., Ltd. "OE"QQ %F/" ʹ͓͚Δ("&(P બఆ͔Β׆༻·Ͱ BQQFOHJOFKBOJHIU 1
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ࣗݾհ 2
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ࣗݾհ ์Ղ ⁃
@hixi_hyi ͱ͔ hixi ͱ͔ͷ HN ͬͯ·͢ ॴଐʑ ⁃ גࣜձࣾDeNA ΦʔϓϯϓϥοτϑΥʔϜࣄۀຊ෦γεςϜ෦ ⁃ ৽ଔೖ͔ࣾΒͣͬͱϓϥοτϑΥʔϜ։ൃ (̐) ⁃ ࠓճͷϓϩδΣΫτͰٕज़બఆ GCP ΛͲͷΑ͏ʹ͍ͬͯ͘ͱ͔ܾΊ ͨΓͯ͠·ͨ͠ 3
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ࠓͷ༰ 4
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. AndApp ʹ͓͚Δ GAE/Go
બఆ͔Β׆༻·Ͱ ͳͥ GAE/Go ΛબΜͩͷ͔ ݁ՌͲ͏͍ͬͨγεςϜΞʔΩςΫνϟʹҭͬͨͷ͔ 5
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. AndApp հ 6
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. AndApp ⁃ DeNA
͕ఏڙ͢Δ PC ͚ϓϥοτϑΥʔϜ - ̍ͭͷΞϓϦΛ֎ͰεϚϗɺՈͰ PC Ͱ ⁃ ࣄલొ͓ͯ͠Γ·͢ͷͰੋඇ - https://www.andapp.jp 7
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ࣄྫհ 8
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ʙGAE/Go ܾఆ·Ͱ 9
ࣄྫհ
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. GAE/Go ʹৼΓͬͨͱ͖ͷ։ൃঢ়گ ⁃
ϑϧϚωʔδυͰͷӡ༻ݮΛࢦͯ͠ GCP ར༻Λߟ͑ͯͨ ⁃ ϑϧϚωʔδυαʔϏεॳΊͯ (ࠓ·ͰΦϯϓϨ, AWS(EC2)) ⁃ ઌߦͯ͠ GKE/Go, GAE/Java, GAEFE/Perl Ͱ։ൃத(ࡁ)ͷ service ͋Γ ⁃ 3ϲ݄ޙʹύʔτφʔ༷ʹ৽نγεςϜΛఏڙ͢Δ - ৽نՃͷઃܭظؒͱͯ͠ 2 िؒ΄Ͳ࣌ؒ͋Γ - αʔό։ൃऀͦͷ࣌Ͱ 15 ਓ΄ͲΞαΠϯࡁΈ 10
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 11 ར༻ͨ͠ΞʔΩςΫνϟɾ ݴޠ͕ΒΒ
ઌߦͯ͠࡞͍ͬͯͨ service ͷ ("&+BWB ("&'&1FSM (,&(P
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ར༻ͨ͠ΞʔΩςΫνϟɾݴޠ͕ΒΒ ։ൃํ๏ɺӡ༻ํɾࢿྉͳͲ͕·ͱ·ΓͣΒ͍ ⁃
࣭ΛकΔͨΊͷ࡞ۀʹଟ͘ͷਓһ͕͔͞ΕΔ͜ͱʹͳΔ ⁃ GCP(ϑϧϚωʔδυ) ࣗମॳͰ͋ΔͨΊɺࢼߦࡨޡ͕͋Δͣɻ มԽ͕͋ͬͨࡍʹɺͯ͢ʹద༻͍͔ͯ͠ͳ͚Εߦ͚ͳ͍ ਓͷྲྀಈੑʹ͔͚Δ ⁃ ΞʔΩςΫνϟݴޠҟͳΔͨΊɺαϙʔτΛཔΉࡍʹֶश͕͔͔Δ 12
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 13 ΞʔΩςΫνϟɾݴޠΛҰͭʹ
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ΞʔΩςΫνϟɾݴޠΛҰͭʹ ࣝͷڞ༗ ⁃
୭͔͕ϋϚͬͯ୭͔͕ղܾ͍ͯ͠Δ ⁃ Ͳ͏͢Δ͖͔ΜͩΒଞͷਓͱ૬ஊͰ͖Δ ϥΠϒϥϦͷڞ༗ ⁃ ڞ௨ϥΠϒϥϦ࣮֬ʹඞཁʹͳΔ ⁃ ผݴޠͩͱҠ২ίετ͕ൃੜ͢Δ ਓͷྲྀಈੑΛߴΊΔ ⁃ ୭͔ॿ͚ͯʔ͕ग़དྷΔ ⁃ τϥϒϧγϡʔςΟϯά͕ΈΜͳͰڠྗͰ͖Δ 14
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ݕ౼ͨ͠γεςϜ GKE/XXX ➖
IaaS Ͱ͋Δ͕Ώ͑ʹϓϩηεཧɾӡ༻ΛͲͷΑ͏ʹ͢Δͷ͔֤ར༻ऀଆ͕ Ұఆߟ͑Δඞཁ͕͋Δ GAEFE/XXX ➕ ׳Ε͍ͯΔ Perl / Ruby Ͱ։ൃ͍ͨ͠ͱ͍͏ཁ͕͋ͬͨ ➖ ͦΕͧΕͷϓϩάϥϜͷϥϯλΠϜ͕ଘࡏ͠ͳ͍ͨΊɺࣗલͰ࡞Βͳ͚Ε͍ ͚ͳ͍ͷ͕Ұఆଘࡏ͢Δ ➖ ݱঢ়ͩͱਖ਼ GAE ͱ͍͏ΑΓ GCE/GKE ͱಉ͡ IaaS GAE/Java ➕ GAESE Ͱ͋Γɺ͔ͭ Web Ͱͷݟ͕Ұ൪ଟ͘ଘࡏ͍ͯ͠Δ ➖ ݴޠ༷తʹߏ͕Ͱ͔͘ͳΓ͕ͪͰ͋Δ 15
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ٕज़બఆ 16 GAE/Go
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. GAE/Go GAE ඪ४αϙʔτ
⁃ GCS / BigQuery ͳͲ GCP ίϯϙʔωϯτͱͷ݁߹͕༻ҙ εέʔϧͳͲؚΊͯϑϧϚωʔδυ ଞࣾͰͷར༻࣮ͷᷚ͋Γ γϯϓϧͳߏͰ͔͚Δ ⁃ ϝΠϯϩδοΫʹूதͰ͖Δ ⁃ ίϯϙʔωϯτຖͷಛघߏ͕͋·Γ࡞ΒΕͳ͍ͷͰɺֶशίετ͕͘ͳ Δ 17
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ʙGAE/Go ͷ։ൃ͕࢝·Δ·Ͱ 18
ࣄྫհ
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ४උ Ұ൪ૣ͍ઃܭ·Ͱ2िؒ΄Ͳ༛༧͋Γ PortalSite
(GAEFE/Perl) Λ GAE/Go Ͱ࡞Γ͢ ⁃ ϋϚϦϙΠϯτͷѲ ⁃ ৽ن service ͷ࡞Γํͷࢀߟͱͯ͠ ⁃ εϜʔζͳ։ൃ͕ग़དྷΔΑ͏ͳඞཁ࠷ݶͷ४උ 19
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ※ ͳΜͰ࡞Γͨ͠ͷʁ PortalSite
ࠓޙਐԽ͍ͯ͘͜͠ͱ͕Θ͔͍ͬͯͨ ⁃ ͦͷࡍʹҧ͏ΞʔΩςΫνϟΛબ͍ͯ͠Δͱਓͷྲྀಈੑ͕͕Εͯ͠·͏ ࣮ࡍʹಈ͍͍ͯΔͷͩͬͨ ⁃ ઃܭ͕࣌ؒͳ͘ɺεϜʔζʹσϑΝΫτΛ࡞ΕΔ ΈΜͳͰϋϚΔͱඇޮͳͨΊɺ·ͣ̍ਓͰΨοπϦ Δ ※ ͦͷޙ GKE/Go GAE/Java ʹ͍ͭͯ࡞Γ͠ 20
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ʙγεςϜ্͕Γ 21 ࣄྫհ
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 20 Ҏ্ͷ services
22 Portal Web Cer,ficate Client User Token Connect Product Transac,on Dashboard No,fica,on Payment Accoun,ng CrashReport Applica,on Adver,sement Analy,cs Generic Token Metadata Signer OPE Sta,c Resource Proxy Google Front End ※ ·֦ͩେத
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 20 Ҏ্ͷ services
ߏ ⁃ ෦௨৴ଟ༻ ⁃ ΞʔΩςΫνϟతʹ GAE ʹ߹ͬͯͳ͍ͷ GAE ʹৼΓͬͨ • ※ GAE/Go ͷ RSA ॲཧʹ͋ΓͰɺ̍ݸ͚ͩ GAE/PHP ΛͬͯΔ ઃఆ ⁃ basic scaling ⁃ CPU όϯυҎ֎ instance type B2 • ։ൃڥͰ B1 / max_instance:1 23
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ʙݱঢ়Ͱͷ·ͱΊ 24 ࣄྫհ
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ݱࡏ·Ͱͷ݁Ռ·ͱΊ ։ൃޮ ⁃
Perl/Ruby ΛϝΠϯʹ͍ͬͯͨͷͰݴޠҠߦίετൃੜ ⁃ γϯϓϧͳߏͷͨΊɺҰॻ͍ͯΈΔͱͦΕҎ߱ಛʹͳ͠ ⁃ ݸਓ༻ͷ։ൃڥΛߏஙͰ͖ΔͳͲ(Datastoreڞ༻)ޮ্͕͕ͬͨ Πϯϑϥ ⁃ App deploy ͚ͩͰ৽͘͠ service Λ্ཱͪ͛ΕΔͷͰ͘͢͝ḿͬͨ ⁃ جຊతʹΠϯϑϥͱ͔ҙࣝͤͣɺϩδοΫʹूதͰ͖ͨ ⁃ GAE ͷجຊ௨Γʹ࡞͓͚ͬͯɺεέʔϦϯάউखʹͯ͘͠ΕΔɻ ϓϩδΣΫτޮ ⁃ service ؒͷਓͷҠߦ͕༰қͰϑϨΩγϒϧͳ։ൃܭը͕Մೳ 25
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ࠓޙ 26
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ࠓޙ 1VC4VC %BUBqPXͳͲΛͲΜͲΜར༻͍ͯ͘͠
⁃ ઃܭͷෆ׳Εग़ͯ͠·͏ͨΊɺ جຊతʹࠓ·Ͱͱಉ༷ʹ͑ΔΑ͏ͳߏΛऔͬͨ ⁃ TaskQueue Λ༻͍ͨඇಉظॲཧɻॲཧͷΩοΫ Computing ෦Ͱ GAE/Go ͕࠷ળͷબͩͱࢥ͍ͬͯΔ ⁃ ҰํͰ GAE Ͱղܾग़དྷͳ͍Α͏ͳͷग़ͯ͘Δ(ConnectionషΓଓ͚ͱ ͔) ⁃ ͕ͨͬͯ͠ GKE ͳͲͷબࢶࠓޙ͔ͬ͠Γษڧ͍͔ͯ͠ͳ͚Ε͍͚ͳ ͍ͣ 27
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 28