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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
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
現場に行くだけでは足りない——プロダクトエンジニアが業務の流れを捉える観点と、その鍛え方
takumiengineering
0
300
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
180
薬剤師(ドメインエキスパート)と一緒に育てる薬局向けAIアシスタント
kakehashi
PRO
2
110
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
240
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
250
生成AI時代の クレデンシャルとパーミッション設計
nrinetcom
PRO
3
1.5k
AndroidでHDRメディアを「壊さずに」扱う
chigichan24
0
410
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
350
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
0
430
推論の観測、できていますか? 〜 Google Cloud Gemini Enterprise Agent Platformで 3つの Gemini モデルを実測して踏んだ、評価の罠 〜
shukob
PRO
0
150
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
250
20260903 Tokyo Jazug Night #62 | Azure エンジニアよ、 その環境は本当にセキュアか?
olivia_0707
1
620
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Documentation Writing (for coders)
carmenintech
77
5.5k
The browser strikes back
jonoalderson
0
1.6k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
410
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
970
Are puppies a ranking factor?
jonoalderson
2
3.9k
Everyday Curiosity
cassininazir
0
310
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
510
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
470
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ͳͲॏཁͳ͜ͱʹ࣌ؒΛ͑Δ