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
google-inside-fintech-2019-06-10
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Tomokazu Kozuma
June 10, 2019
Technology
860
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
310
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
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
4
610
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
500
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
160
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
350
小粒でもパワフルなJS Runtime Antjsについて
comamoca
0
100
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
280
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
140
LLM Internals: 언어 모델의 계보와 알고리즘 진화 (2023~2026)
inureyes
PRO
0
700
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
2
340
Webアクセシビリティ入門 2026
recruitengineers
PRO
3
660
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
250
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
900
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Embracing the Ebb and Flow
colly
88
5.1k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
The Curious Case for Waylosing
cassininazir
1
460
Facilitating Awesome Meetings
lara
57
7.1k
Product Roadmaps are Hard
iamctodd
55
12k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Designing for humans not robots
tammielis
254
26k
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ͳͲॏཁͳ͜ͱʹ࣌ؒΛ͑Δ