Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
google-inside-fintech-2019-06-10
Search
Tomokazu Kozuma
June 10, 2019
Technology
870
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
google-inside-fintech-2019-06-10
Tomokazu Kozuma
June 10, 2019
More Decks by Tomokazu Kozuma
See All by Tomokazu Kozuma
PORT-Firebase × Blockchain-2019-05-21
tomokazukozuma
1
320
ginco-engineer-meetup-2019-04-11
tomokazukozuma
4
3.5k
blockchain.tokyo#18-2019-03-26
tomokazukozuma
3
2.1k
firebase-meetup-#11-2019-02-18
tomokazukozuma
5
2.1k
KyberNetwork-DEX-research2-at-Neutrino-2018-11-12.pdf
tomokazukozuma
0
2k
career-event-by-techbowl-at-mercari-2018-11-07.pdf
tomokazukozuma
0
1.5k
Backend of Cryptocurrency Wallet and Ginco integrated with DEX KyberNetwork
tomokazukozuma
7
8.7k
Other Decks in Technology
See All in Technology
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
360
Running Kotlin + Quarkus with Lambda
nealle
1
460
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
180
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
620
自主式軟體工廠
philipz
0
260
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
120
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
180
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3k
go-sqletch
moznion
0
140
[AWS 秋のクラウドオペレーション祭り 2026]AWS DevOps Agentで変わるリリースと運用対応 ~リリース管理機能と Directed actions のご紹介~
furuton
4
1.2k
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
1
420
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
360
Featured
See All Featured
BBQ
matthewcrist
90
10k
Facilitating Awesome Meetings
lara
57
7.2k
Code Reviewing Like a Champion
maltzj
529
40k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
The Invisible Side of Design
smashingmag
301
52k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
360
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Believing is Seeing
oripsolob
1
240
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Transcript
Πϯϑϥཧෆཁͷ'JSFCBTFͱ (,&Ͱ࣮ݱ͢ΔϞόΠϧΞϓϦ։ൃ June 10th, 2019 Tomokazu Kozuma
Tomokazu Kozuma @Tomokazu106 ౦ژۀେֶେֶӃଔۀޙɺαΠόʔΤʔδΣϯτͰεϚϗήʔϜͷαʔόɺΠϯϑϥશ ൠΛ୲ɻϒϩοΫνΣʔϯԾ௨՟ʹ͍ٕͭͯज़ϒϩάΛॻ͍ͯΔ͏ͪʹத͠ɺຊ ৬ͱͯ͠ྗ͢ΔͨΊʹ(JODPʹೖࣾɻ(JODPͰૹۚϓϩτίϧͷ࣮ɺϒϩοΫ νΣʔϯϊʔυӡ༻ɺϋʔυϑΥʔΫରԠͳͲ෯͘୲ɻ
։ൃͷͷલʹʜ(JODPʹ͍ͭͯ
U U U Wallet Mining Solution ϞϯΰϧͰͷ Ծ௨՟ϚΠχϯά ϒϩοΫνΣʔϯͷ αʔϏε։ൃˍ࣮ূ࣮ݧ
αϙʔτ ҆৺ɾ҆શͷ Ծ௨՟ΥϨοτ ϒϩοΫνΣʔϯʹಛԽͨ͠ݚڀɾ։ൃΛߦ͍ɺΥϨοτϚΠχϯάͳͲΛࣄۀԽ
U U ϒϩοΫνΣʔϯʹಛԽͨ͠ݚڀɾ։ൃΛߦ͍ɺΥϨοτϚΠχϯάͳͲΛࣄۀԽ U Wallet Mining Solution ϞϯΰϧͰͷ Ծ௨՟ϚΠχϯά ϒϩοΫνΣʔϯͷ
αʔϏε։ൃˍ࣮ূ࣮ݧ αϙʔτ ҆৺ɾ҆શͷ Ծ௨՟ΥϨοτ
Ծ௨՟ΥϨοτͱ [ [ ࢿ࢈Λಈ͔͢͜ͱ͕Ͱ͖Δൿີ伴Λཧ [ [ ൿີ伴͕औΒΕΔʹࢿ࢈͕౪·ΕΔ Ծ௨՟ͷૹडۚɾऔҾཤྺɾߴΛཧ αʔόܕͱΫϥΠΞϯτܕ͕͋Δ
ΫϥΠΞϯτܕΥϨοτΞϓϦ ϢʔβʔͷͰࢿ࢈Λ҆શʹཧ ෳϒϩοΫνΣʔϯʹରԠ ͍͔͘͢Γ͍͢6*69
ϦϦʔε #$)ରԠ -5$ରԠ 931ରԠ ¥10,000,000,00 &5$ରԠ ྦྷܭೖֹۚۚ μϯϩʔυ ԯԁ 100
50,000 DL+ ࠃ།ҰͷϚϧνϒϩοΫνΣʔϯରԠ %&9ػೳϙʔτϑΥϦΦػೳඋ
ࣄۀऀ͚ΥϨοτγεςϜ U ࢿ࢈ϚϧνγάͰཧ U ൿີ伴ϢʔβʔͷͰ҆શʹཧ U ෳϒϩοΫνΣʔϯʹରԠ
ಠࣗͷݎ࿚ͳΠϯϑϥ શͯͷϒϩοΫνΣʔϯ ϊʔυΛࣗΒཧӡ༻ ϒϩοΫνΣʔϯͷσʔλΛ ݕࡧ͢ΔγεςϜΛࣗୡͰߏங ߴ͍εέʔϥϏϦςΟ Node Block Explorer Scalability
(JODPͷઆ໌Ҏ্
ϞόΠϧΞϓϦͷٕज़બఆ
ϦϦʔε·Ͱͷ։ൃνʔϜ [ [ όοΫΤϯυΤϯδχΞਓ J04ΤϯδχΞਓ
݄ ݄ ݄ ݄ ݄ ཁ݅ఆٛ Ќ൛։ൃ Ќ൛ʢ&5)ʣ ϦϦʔε W։ൃ
ਖ਼ࣜ൛ʢ#5$ʣ ϦϦʔε ։ൃεέδϡʔϧ
[ [ [ ൿີ伴ͷ҆શͳཧ௨՟ରԠ ΫϥΠΞϯτͰ࣮ ϒϩοΫνΣʔϯϊʔυӡ༻ ,VCFSOFUFT (,& ɾϚϧνϒϩοΫνΣʔϯ ɾՄ༻ੑ
ϒϩοΫΤΫεϓϩʔϥͷߏங ɾૹडۚͷऔҾཤྺ 'JSFCBTF ɾΞυϨε௨՟ผͷߴཧ ΥϨοτʹඞཁͳͷ
[ [ ྗ͖͢ൿີ伴ͷཧɺ௨՟ରԠɺ6*69 ϊʔυӡ༻ͱϒϩοΫΤΫεϓϩʔϥॏཁ͚ͩͲ ෛ୲ΛݮΒ͍ͨ͠ ͦͷͨΊʹ(,&ͱ'JSFCBTFΛར༻ ॏཁͳ͜ͱʹྗ͍ͨ͠
(,&ΛͬͨϒϩοΫνΣʔϯϊʔυӡ༻
[ [ • "͕#ʹૹͬͨͱ͍͏ཤྺʢτϥϯβΫγϣϯʣΛอ࣋ • ୭ͷڐՄͳ͘ӡ༻Ͱ͖தΛ֬ೝͰ͖Δ • ϊʔυੈքதͰӡ༻͞Ε͍ͯͯɺ૬ޓʹσʔλΛड͚͢͜ͱͰಉ͡σʔλΛಉظ ϒϩοΫνΣʔϯͱ ΥϨοτΛ։ൃ͢Δ্ͰϒϩοΫνΣʔϯ্ͷσʔλʹৗʹΞΫηεͰ͖Δ͜ͱ͕ॏཁ
[ [ [ ϒϩοΫνΣʔϯϊʔυͷӡ༻Ͱେࣄͳ͜ͱ Մ༻ੑ ֤ϊʔυͷόʔδϣϯΞοϓͷ͢͠͞ 3%͕͍͢͠
[ • ঢ়ଶΛίʔυͰઃఆˠએݴతઃఆ • มߋΛՃ͑ΒΕͳ͍৽نͰ࡞Γ͢ˠ*NNVUBCJMJUZ • ࢦఆͨ͠ঢ়ଶʹࣗಈͰम෮ˠηϧϑώʔϦϯά [ • શͯͷΠϯϑϥΛZBNMϑΝΠϧͰཧͰ͖ɺ$*πʔϧΛͬͯσϓϩΠՄೳ
• ߏங͖͢Ϧιʔεଟ͍ͷͰΠϯελϯεΑΓίϯςφͷํ͕։ൃӡ༻ָ͕ • ىಈ͕ૣ͍ͷͰ࡞ͬͯյͯ͠ͷ3%͕Γ͍͢ બఆཧ༝ ,VCFSOFUFTͷಛ
[ (,&ͷಛ • ,VCFSOFUFTͷϑϧϚωʔδυαʔϏε • ΫϥελʔͷΦʔτεέʔϦϯά • ,VCFSOFUFTͷࣗಈΞοϓάϨʔυ • 4UBDLESJWFSʹΑΔϩΪϯάϞχλϦϯά
[ ଞࣾϑϧϚωʔδυ,VCFSOFUFTͱͷҧ͍ • ϩΪϯάϞχλϦϯάͷ༻ʹՃઃఆඞཁͳ͍ • *OHSFTTʹࣗಈͰ-ͷ-#ׂ͕ΓͯΒΕΔ • Φʔτεέʔϧͷઃఆ0/0''ͷΓସ͑ͷΈ • ,VCFSOFUFTͷࣗಈόʔδϣϯΞοϓʢ0/0''ͰΓସ͑Մೳʣ
[ (,&ͳΒઃఆͳ͠ʹ͙͢ʹ͍࢝ΊΒΕΔ
(JODPͰ࣮ࡍʹͲͷ͘Β͍༻͍ͯ͠Δ͔
Engine Kubernetes Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin Litecoin
XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum ཤྺ༻ Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin Litecoin XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum ૹۚ༻ ڥ͋ͨΓϊʔυ
%FWFMPQɿ5FTUOFU 4UBHJOHɿ-JWFOFU 1SPEVDUJPO-JWFOFU Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin
Litecoin XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin Litecoin XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin Litecoin XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin Litecoin XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin Litecoin XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin Litecoin XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum [ • શڥͰϊʔυҎ্Λӡ༻ • ϒϩΫνΣʔϯಛԽͷϔϧενΣοΫػೳ • ಠࣗͷϑΣΠϧΦʔόʔػೳ શڥ
[ Bitcoin )FBMUI$IFDL 4FSWJDF #MPDL)FJHIU Bitcoin Bitcoin Engine Kubernetes
[ ࠷৽ϒϩοΫΛಉظͰ͖͍ͯͳ͍߹-#͔Β֎͢ -BUFTU#MPDL ϒϩοΫνΣʔϯಛԽͷϔϧενΣοΫػೳ
[ Bitcoin )FBMUI$IFDL 4FSWJDF /PEF" Bitcoin Bitcoin Engine Kubernetes /PEF#
/PEF$ [ ಉظͰ͖͍ͯͳ͍ϊʔυʹਖ਼ৗͳϊʔυΛڭ͑ଓͤ͞Δ /PEF$ʹ"Λڭ͑Δ ಠࣗͷϑΣΠϧΦʔόʔػೳ
[ CircleCI Engine Container $MPVE #VJME Engine Kubernetes Stackdriver $POUBJOFS
3FHJTUPSZ ᶄϏϧυ5FTU ᶅ*NBHFΛϏϧυ ᶆ*NBHFΛొ ᶇ1PEͷ*NBHFͷߋ৽ GitHub ᶃϚʔδͨ͠ΒΩοΫ (,&ͷσϓϩΠ
,VCFSOFUFTΛͬͯͷར [ [ [ ϚΠΫϩαʔϏεͱͯ͠ಠࣗͷػೳΛՃ͍͢͠ ༷ʑͳछྨͷϦιʔεཧͱσϓϩΠ͕༰қ (,&ͳΒॳظઃఆ͕ॆ࣮͍ͯ͠ΔͷͰ͙͢ʹຊ൪ར༻Ͱ͖Δ
'JSFCBTFΛͬͨϒϩοΫΤΫεϓϩʔϥͷߏங
[ • ϒϩοΫνΣʔϯͷσʔλΛݕࡧ͢ΔγεςϜ • ϒϩοΫνΣʔϯϊʔυࣗମʹॊೈͳݕࡧγεςϜ͕ͳ͍ • ϒϩοΫνΣʔϯϊʔυߴෛՙʹ͑ΒΕͳ͍ • ΥϨοτʹݶΒͣϒϩοΫνΣʔϯΛͬͨαʔϏεΛ࡞ΔʹϚετͳػೳ ϒϩοΫνΣʔϯ
ϒϩοΫΤΫεϓϩʔϥ 5Y ߴ ϒϩοΫΤΫεϓϩʔϥʔͱʁ
ϒϩοΫΤΫεϓϩʔϥʔͰେࣄͳ͜ͱ [ [ [ શͯͷϒϩοΫνΣʔϯͰͷ౷ҰతͳΠϯλʔϑΣʔε σʔλݕࡧͷ͢͠͞ ϦΞϧλΠϜʹมߋΛऔಘͰ͖Δ
[ [ ଞࣾϒϩοΫΤΫεϓϩʔϥ ࣗࣾϒϩοΫΤΫεϓϩʔϥ #JUDPJOͷΤΫεϓϩʔϥ &UIFSFVNͷΤΫεϓϩʔϥ 3JQQMFͷΤΫεϓϩʔϥ ɾ ɾ
(JODPͷϒϩοΫΤΫεϓϩʔϥ ̍ͭͰෳରԠ
ϒϩοΫΤΫεϓϩʔϥʔΛࣗ࡞͢Δཧ༝ ଞࣾ ࣗࣾ ϝϦοτ ͙͍࢝͢ΊΒΕΔ શϒϩοΫνΣʔϯͰ*'Λ౷Ұ ϦΞϧλΠϜʹऔಘ͢Δ߹*'Λ౷Ұ σϝϦοτ ϒϩοΫνΣʔϯຖʹ*'͕มΘΔ ϒϩοΫνΣʔϯͷਂ͍ཧղͱ࣮
ϒϩοΫΤΫεϓϩʔϥͷߏஙͷมભ
[ • ("& $MPVE%BUBTUPSFΛ༻ • "1*࣮ɺΠϯλʔϑΣʔεͷࡲΓ߹Θͤʹ࣌ؒΛফඅ • ϦΞϧλΠϜʹσʔλऔಘ͢Δʹ͞Βʹ͕͔͔Δ • ਓ͕গͳ͍ͨΊྗ͍ͨ͠ΥϨοτͷ։ൃʹूதͰ͖ͳ͍
Cloud Datastore ϒϩοΫΤΫεϓϩʔϥ ։ൃॳظ
[ • N#BB4ɿϞόΠϧόοΫΤϯυαʔϏε • αʔόαΠυͷ։ൃΛݮ͢ΔͨΊʹϓογϡ௨ͳͲ ൚༻ػೳΛΫϥυαʔϏεͱͯ͠ఏڙ • "VUI %BUBTUPSFʢ'JSFTUPSFʣ 4UPSBHF
'VODUJPOT • .FTTBHJOH "OBMZUJDT 3FNPUF$POpH )PTUJOH 'JSFCBTFͱʁ
[ • αʔόϨεͰཧίετແ͠ • άϩʔόϧϨϕϧͷεέʔϦϯάੑ • ϦΞϧλΠϜΞοϓσʔτ • ΦϑϥΠϯαϙʔτ •
$MPVE'VODUJPOTͳͲଞαʔϏεͱͷ࿈ܞ $MPVE'JSFTUPSFಛ
[ Cloud Datastore ϒϩοΫΤΫεϓϩʔϥ 'JSFTUPSFͰͲ͏มΘ͔ͬͨ
[ $MPVE'JSFTUPSFʹͯ͠ಘΒΕͨϝϦοτ • ΞΫηε͢Δ͜ͱͰHFUTFUܥͷ"1*͕ඞཁͳ͍ • XFCTPDLFUͷ࣮ͳ͠ʹϦΞϧλΠϜͳมߋΛऔಘͰ͖Δ • Πϯϑϥͷෳࡶੑ͕ͳ͘ͳΔ • αʔό։ൃཧςετΛݮ
• ͦͷ݁Ռɺൿີ伴ͷཧɺෳ௨՟ରԠɺ6*69ͷ࣮ʹઐ೦
'JSFTUPSFͬͯΈͯͷݟ
'JSFTUPSFΛͬͯΈͯͷݟ [ [ ϥϯχϯάίετӡ༻ίετ ΞΫηείϯτϩʔϧ
ϥϯχϯάίετӡ༻ίετ
[ 'JSFTUPSFͷඅ༻ײ • શڥ߹Θͤͯສԁఔ • ىಈ࣌ؒͰͳ͘ݺͼग़͠ճͱอଘσʔλྔʹ՝ۚ͞ΕΔ • ແྉ͕͋ΔͷͰɺϦϦʔε·ͰίετΛ͑Δ͜ͱ͕Ͱ͖Δ • ແྉσΠϦʔ3FBEສճɺ8SJUF%FMFUFສճ
• ϦϦʔεલ݄ສԁఔͱελʔτΞοϓʹ༏͍͠
[ 'JSFTUPSFͷԽ • σʔλͷԽκʔϯؒͰࣗಈͰෳ͞ΕΔ • ϚϧνϦʔδϣϯͰͷԽઃఆՄೳ • ࡞࣌ʹεϖοΫͷઃఆ͕͍Βͳ͍ • ؆୯ʹ͍࢝ΊΒΕͯͦͷ··ຊ൪ӡ༻͕Ͱ͖Δ
• 'JSFTUPSFͳΒΠϯϑϥઐͷΤϯδχΞඞཁͳ͍
[ 'JSFTUPSFͷεΩʔϚΠϯσοΫε • εΩʔϚϨεͳͷͰϚΠάϨʔγϣϯ͕͍Βͳ͍ • "MUFSจͳ͍ͷͰࣗྗͰόονΛ࣮͢Δඞཁ͕͋Δ • ୯ҰϑΟʔϧυͷΠϯσοΫεࣗಈͰுͬͯ͘ΕΔ • ෳϑΟʔϧυʹର͢ΔΫΤϦෳ߹ΠϯσοΫε͕ඞਢ
[ ӡ༻ϝϯόʔ • ࠷ऴతʹΞϓϦΤϯδχΞͷΈͰӡ༻ • %#ઃܭϊϋ͕ඞཁͳͷͰ૬ஊ͠ͳ͕ΒਐΊΔ • ΞϓϦΤϯδχΞͷൣғ͕͘ͳΔ͕ খ͍͞νʔϜͰεέʔϧ͢ΔαʔϏεΛ࡞Δ͜ͱ͕Ͱ͖Δ
'JSFTUPSFͷΞΫηείϯτϩʔϧ
[ 'JSFTUPSFͷΞΫηείϯτϩʔϧ • ΫϥΠΞϯτ͔Β'JSFTUPSFʹΞΫηεՄೳ • ΞΫηεʹ"1*Ωʔ͕ඞཁ • "1*ΩʔΫϥΠΞϯτʹຒΊࠐΉͷͰ୭Ͱ֬ೝՄೳ • ୭ͰΞΫηεͰ͖ΔͨΊSVMFTͰ੍ޚ
[ "1*ΩʔͰΞΫηε
[ Firestore Cloud Rules "1*ΩʔͰΞΫηε • SFBEXSJUFݖݶ • σʔλͷόϦσʔγϣϯ 'JSFTUPSFSVMFT
[ match /Users/{uid} { allow get: if someCondition(); allow create:
if someCondition(); } function someCondition() { … } SFBE୯ҰEPDΛऔಘ͢ΔHFUͱෳऔಘ͢ΔMJTU XSJUFDSFBUF VQEBUF EFMFUF SFBEXSJUFݖݶ
[ match /Users/{uid} { allow update: if request.resource.data.keys().hasOnly(["name", "age"]) &&
request.resource.data.name is string && request.resource.data.name != "" && request.resource.data.age == resource.data.age } 'JSFTUPSFͷมߋલͷσʔλɿSFTPVSDFEBUB 'JSFTUPSFͷมߋޙͷσʔλɿSFRVFTUSFTPVSDFEBUB ܕɿJOU TUSJOH CPPM UJNFTUBNQͳͲ LFZɿIBT"MM IBT0OMZ IBT"OZ σʔλͷόϦσʔγϣϯ
[ 'JSFCBTF-PDBM&NVMBUPS • ݄ʹ'JSFTUPSF-PDBM&NVMBUPS͕ൃද • SVMFTͷςετϩʔΧϧڥ͚ͩͰ݁ • ଞਓͷ࡞ۀΛҙࣝ͠ͳͯ͘ྑ͘ͳͬͨͷͰSVMFTͷՃɾमਖ਼͕͘͢͠ͳͬͨ • ςετ࣮ߦ࣌ؒʹݮ
'JSFCBTFͷͦͷଞͷػೳʹ͍ͭͯ
[ • ϓογϡ௨ • Ϋϥογϡϩάʢ*TTVFԽ4MBDL௨ʣ • Ϣʔβʔߦಈϩάͷه • ڧ੍Ξοϓσʔτ •
'JSFTUPSFͷόοΫΞοϓͱ#JH2VFSZ࿈ܞ • ϞχλϦϯά ΥϨοτҎ֎ͷػೳ
[ Functions Cloud ᶃσʔλ͕ߋ৽͞ΕͨΒ'VODJUPOTΛىಈ ᶄ.FTTBHJOHʹ௨ ᶅ.FTTBHJOH͔Βʹ௨ Firestore Cloud Messaging Cloud
ϓογϡ௨
[ Ϋϥογϡϩά ᶃΫϥογϡϩάΛ௨ Functions Cloud ᶄ'VODUJPOΛىಈ ᶆ(JU)VCʹJTTVF࡞ Crashlytics GitHub Slack
ᶇ4MBDLʹ௨ ᶅ'VODUJPO͔Β֤छαʔϏεʹ௨
[ ᶃΞΫγϣϯΛ&WFOUʹϓογϡ Analytics Functions Cloud ᶄ&WFOUΛτϦΨʔʹىಈ ֎෦ API ᶅ֎෦"1*Λ࣮ߦʢࠂͷଌఆʣ ΞΫγϣϯͷαϚϦΛݟΕΔ
Ϣʔβʔߦಈϩάͷه
[ ڧ੍Ξοϓσʔτ Config Remote ᶃىಈ࣌ʹ3FNPUF$POpH͔Β࠷όʔδϣϯΛऔಘ 04ผʹ࠷όʔδϣϯΛઃఆ ɾJ04W ɾ"OESPJEW
[ 'JSFTUPSFͷόοΫΞοϓͱ#JH2VFSZ࿈ܞ Scheduler Cloud Functions Cloud ᶃ#BDLVQ"1*Λ࣮ߦ Storage Cloud ᶄ#BDLVQϑΝΠϧ͕࡞͞ΕΔ
BigQuery ᶅ#BDLVQϑΝΠϧͷ࡞͕ྃޙ ɹ#JH2VFSZϩʔυ͢Δ"1*Λ࣮ߦ
[ 4UBDLESJWFS-PHHJOH.POJUPSJOH Engine Kubernetes Stackdriver Functions Cloud Slack ᶅᮢΛ͑ͨΒ௨ ᶄ4UBDLESJWFSͰϞχλϦϯά
ᶃࣗಈͰ4UBDLESJWFSʹूܭ͞ΕΔ
4UBDLESJWFS-PHHJOH
4UBDLESJWFS&SSPS3FQPSUJOH
4UBDLESJWFS.POJUPSJOH
·ͱΊ [ [ [ (,&Λ͏͜ͱͰେͳϦιʔεཧ͕༰қʹͳΔ 'JSFCBTFͳΒখ͍͞νʔϜͰεέʔϥϒϧͳαʔϏε։ൃ͕Ͱ͖Δ ݁Ռͱͯ͠伴ཧɺ௨՟ରԠɺ6*69ͳͲॏཁͳ͜ͱʹ࣌ؒΛ͑Δ