Slide 1

Slide 1 text

Πϯϑϥ؅ཧෆཁͷ'JSFCBTFͱ
 (,&Ͱ࣮ݱ͢ΔϞόΠϧΞϓϦ։ൃ June 10th, 2019 Tomokazu Kozuma

Slide 2

Slide 2 text

Tomokazu Kozuma @Tomokazu106 ౦ژ޻ۀେֶେֶӃଔۀޙɺαΠόʔΤʔδΣϯτͰεϚϗήʔϜͷαʔόɺΠϯϑϥશ ൠΛ୲౰ɻϒϩοΫνΣʔϯԾ૝௨՟ʹ͍ٕͭͯज़ϒϩάΛॻ͍ͯΔ͏ͪʹ೤த͠ɺຊ ৬ͱͯ͠஫ྗ͢ΔͨΊʹ(JODPʹೖࣾɻ(JODPͰ͸ૹۚϓϩτίϧͷ࣮૷ɺϒϩοΫ νΣʔϯϊʔυӡ༻ɺϋʔυϑΥʔΫରԠͳͲ෯޿͘୲౰ɻ

Slide 3

Slide 3 text

։ൃͷ࿩ͷલʹʜ(JODPʹ͍ͭͯ

Slide 4

Slide 4 text

U U U Wallet Mining Solution ϞϯΰϧͰͷ Ծ૝௨՟ϚΠχϯά ϒϩοΫνΣʔϯͷ αʔϏε։ൃˍ࣮ূ࣮ݧ αϙʔτ ҆৺ɾ҆શͷ Ծ૝௨՟΢ΥϨοτ ϒϩοΫνΣʔϯʹಛԽͨ͠ݚڀɾ։ൃΛߦ͍ɺ΢ΥϨοτ΍ϚΠχϯάͳͲΛࣄۀԽ

Slide 5

Slide 5 text

U U ϒϩοΫνΣʔϯʹಛԽͨ͠ݚڀɾ։ൃΛߦ͍ɺ΢ΥϨοτ΍ϚΠχϯάͳͲΛࣄۀԽ U Wallet Mining Solution ϞϯΰϧͰͷ Ծ૝௨՟ϚΠχϯά ϒϩοΫνΣʔϯͷ αʔϏε։ൃˍ࣮ূ࣮ݧ αϙʔτ ҆৺ɾ҆શͷ Ծ૝௨՟΢ΥϨοτ

Slide 6

Slide 6 text

Ծ૝௨՟΢ΥϨοτͱ͸ [ [ ࢿ࢈Λಈ͔͢͜ͱ͕Ͱ͖Δൿີ伴Λ؅ཧ [ [ ൿີ伴͕औΒΕΔʹࢿ࢈͕౪·ΕΔ Ծ૝௨՟ͷૹडۚɾऔҾཤྺɾ࢒ߴΛ؅ཧ αʔόܕͱΫϥΠΞϯτܕ͕͋Δ

Slide 7

Slide 7 text

ΫϥΠΞϯτܕ΢ΥϨοτΞϓϦ Ϣʔβʔͷ୺຤಺Ͱࢿ࢈Λ҆શʹ؅ཧ ෳ਺ϒϩοΫνΣʔϯʹରԠ ࢖͍΍͘͢෼͔Γ΍͍͢6*69

Slide 8

Slide 8 text

ϦϦʔε #$)ରԠ -5$ରԠ 931ରԠ ¥10,000,000,00 &5$ରԠ ྦྷܭೖֹۚۚ μ΢ϯϩʔυ਺ ԯԁ 100 50,000 DL+ ࠃ಺།ҰͷϚϧνϒϩοΫνΣʔϯରԠ %&9ػೳ΍ϙʔτϑΥϦΦػೳ΋׬උ

Slide 9

Slide 9 text

ࣄۀऀ޲͚΢ΥϨοτγεςϜ U ࢿ࢈͸ϚϧνγάͰ؅ཧ U ൿີ伴͸Ϣʔβʔͷ୺຤಺Ͱ҆શʹ؅ཧ U ෳ਺ϒϩοΫνΣʔϯʹରԠ

Slide 10

Slide 10 text

ಠࣗͷݎ࿚ͳΠϯϑϥ શͯͷϒϩοΫνΣʔϯ ϊʔυΛࣗΒ؅ཧӡ༻ ϒϩοΫνΣʔϯͷσʔλΛ
 ݕࡧ͢ΔγεςϜΛࣗ෼ୡͰߏங ߴ͍εέʔϥϏϦςΟ Node Block Explorer Scalability

Slide 11

Slide 11 text

(JODPͷઆ໌͸Ҏ্

Slide 12

Slide 12 text

ϞόΠϧΞϓϦͷٕज़બఆ

Slide 13

Slide 13 text

ϦϦʔε·Ͱͷ։ൃνʔϜ [ [ όοΫΤϯυΤϯδχΞਓ J04ΤϯδχΞਓ

Slide 14

Slide 14 text

݄ ݄ ݄ ݄ ݄ ཁ݅ఆٛ Ќ൛։ൃ Ќ൛ʢ&5)ʣ ϦϦʔε W։ൃ ਖ਼ࣜ൛ʢ#5$ʣ ϦϦʔε ։ൃεέδϡʔϧ

Slide 15

Slide 15 text

[ [ [ ൿີ伴ͷ҆શͳ؅ཧ௨՟ରԠ ΫϥΠΞϯτͰ࣮૷ ϒϩοΫνΣʔϯϊʔυӡ༻ ,VCFSOFUFT (,& ɾϚϧνϒϩοΫνΣʔϯ ɾՄ༻ੑ ϒϩοΫΤΫεϓϩʔϥͷߏங ɾૹडۚͷऔҾཤྺ 'JSFCBTF ɾΞυϨε௨՟ผͷ࢒ߴ؅ཧ ΢ΥϨοτʹඞཁͳ΋ͷ

Slide 16

Slide 16 text

[ [ ஫ྗ͢΂͖͸ൿີ伴ͷ؅ཧɺ௨՟ରԠɺ6*69 ϊʔυӡ༻ͱϒϩοΫΤΫεϓϩʔϥ΋ॏཁ͚ͩͲ ෛ୲ΛݮΒ͍ͨ͠ ͦͷͨΊʹ(,&ͱ'JSFCBTFΛར༻ ॏཁͳ͜ͱʹ஫ྗ͍ͨ͠

Slide 17

Slide 17 text

(,&Λ࢖ͬͨϒϩοΫνΣʔϯϊʔυӡ༻

Slide 18

Slide 18 text

[ [ • "͕#ʹૹͬͨͱ͍͏ཤྺʢτϥϯβΫγϣϯʣΛอ࣋ • ୭ͷڐՄ΋ͳ͘ӡ༻Ͱ͖த਎Λ֬ೝͰ͖Δ • ϊʔυ͸ੈքதͰӡ༻͞Ε͍ͯͯɺ૬ޓʹσʔλΛड͚౉͢͜ͱͰಉ͡σʔλΛಉظ ϒϩοΫνΣʔϯͱ͸ ΢ΥϨοτΛ։ൃ͢Δ্ͰϒϩοΫνΣʔϯ্ͷσʔλʹৗʹΞΫηεͰ͖Δ͜ͱ͕ॏཁ

Slide 19

Slide 19 text

[ [ [ ϒϩοΫνΣʔϯϊʔυͷӡ༻Ͱେࣄͳ͜ͱ Մ༻ੑ ֤ϊʔυͷόʔδϣϯΞοϓͷ͠΍͢͞ 3%͕͠΍͍͢

Slide 20

Slide 20 text

[ • ঢ়ଶΛίʔυͰઃఆˠએݴతઃఆ • มߋΛՃ͑ΒΕͳ͍৽نͰ࡞Γ௚͢ˠ*NNVUBCJMJUZ • ࢦఆͨ͠ঢ়ଶʹࣗಈͰम෮ˠηϧϑώʔϦϯά [ • શͯͷΠϯϑϥΛZBNMϑΝΠϧͰ؅ཧͰ͖ɺ$*πʔϧΛ࢖ͬͯσϓϩΠՄೳ • ߏங͢΂͖Ϧιʔεଟ͍ͷͰΠϯελϯεΑΓ΋ίϯςφͷํ͕։ൃӡ༻ָ͕ • ىಈ͕ૣ͍ͷͰ࡞ͬͯյͯ͠ͷ3%͕΍Γ΍͍͢ બఆཧ༝ ,VCFSOFUFTͷಛ௃

Slide 21

Slide 21 text

[ (,&ͷಛ௃ • ,VCFSOFUFTͷϑϧϚωʔδυαʔϏε • ΫϥελʔͷΦʔτεέʔϦϯά • ,VCFSOFUFTͷࣗಈΞοϓάϨʔυ • 4UBDLESJWFSʹΑΔϩΪϯάϞχλϦϯά

Slide 22

Slide 22 text

[ ଞࣾϑϧϚωʔδυ,VCFSOFUFTͱͷҧ͍ • ϩΪϯάϞχλϦϯάͷ࢖༻ʹ௥Ճઃఆ͸ඞཁͳ͍ • *OHSFTTʹࣗಈͰ-ͷ-#ׂ͕Γ౰ͯΒΕΔ • Φʔτεέʔϧͷઃఆ͸0/0''ͷ੾Γସ͑ͷΈ • ,VCFSOFUFTͷࣗಈόʔδϣϯΞοϓʢ0/0''Ͱ੾Γସ͑Մೳʣ [ (,&ͳΒઃఆͳ͠ʹ͙͢ʹ࢖͍࢝ΊΒΕΔ

Slide 23

Slide 23 text

(JODPͰ࣮ࡍʹͲͷ͘Β͍࢖༻͍ͯ͠Δ͔

Slide 24

Slide 24 text

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 ૹۚ༻ ؀ڥ͋ͨΓϊʔυ

Slide 25

Slide 25 text

%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 [ • શ؀ڥͰϊʔυҎ্Λӡ༻ • ϒϩΫνΣʔϯಛԽͷϔϧενΣοΫػೳ • ಠࣗͷϑΣΠϧΦʔόʔػೳ શ؀ڥ

Slide 26

Slide 26 text

[ Bitcoin )FBMUI$IFDL
 4FSWJDF #MPDL)FJHIU Bitcoin Bitcoin Engine Kubernetes [ ࠷৽ϒϩοΫΛಉظͰ͖͍ͯͳ͍৔߹-#͔Β֎͢ -BUFTU#MPDL ϒϩοΫνΣʔϯಛԽͷϔϧενΣοΫػೳ

Slide 27

Slide 27 text

[ Bitcoin )FBMUI$IFDL
 4FSWJDF /PEF" Bitcoin Bitcoin Engine Kubernetes /PEF# /PEF$ [ ಉظͰ͖͍ͯͳ͍ϊʔυʹਖ਼ৗͳϊʔυΛڭ͑઀ଓͤ͞Δ /PEF$ʹ"Λڭ͑Δ ಠࣗͷϑΣΠϧΦʔόʔػೳ

Slide 28

Slide 28 text

[ CircleCI Engine Container $MPVE
 #VJME Engine Kubernetes Stackdriver $POUBJOFS
 3FHJTUPSZ ᶄϏϧυ5FTU ᶅ*NBHFΛϏϧυ ᶆ*NBHFΛొ࿥ ᶇ1PEͷ*NBHFͷߋ৽ GitHub ᶃϚʔδͨ͠ΒΩοΫ (,&΁ͷσϓϩΠ

Slide 29

Slide 29 text

,VCFSOFUFTΛ࢖ͬͯͷར఺ [ [ [ ϚΠΫϩαʔϏεͱͯ͠ಠࣗͷػೳΛ௥Ճ͠΍͍͢ ༷ʑͳछྨͷϦιʔε؅ཧͱσϓϩΠ͕༰қ (,&ͳΒॳظઃఆ͕ॆ࣮͍ͯ͠ΔͷͰ͙͢ʹຊ൪ར༻Ͱ͖Δ

Slide 30

Slide 30 text

'JSFCBTFΛ࢖ͬͨϒϩοΫΤΫεϓϩʔϥͷߏங

Slide 31

Slide 31 text

[ • ϒϩοΫνΣʔϯͷσʔλΛݕࡧ͢ΔγεςϜ • ϒϩοΫνΣʔϯϊʔυࣗମʹॊೈͳݕࡧγεςϜ͕ͳ͍ • ϒϩοΫνΣʔϯϊʔυ͸ߴෛՙʹ͸଱͑ΒΕͳ͍ • ΢ΥϨοτʹݶΒͣϒϩοΫνΣʔϯΛ࢖ͬͨαʔϏεΛ࡞Δʹ͸Ϛετͳػೳ ϒϩοΫνΣʔϯ ϒϩοΫΤΫεϓϩʔϥ 5Y ࢒ߴ ϒϩοΫΤΫεϓϩʔϥʔͱ͸ʁ

Slide 32

Slide 32 text

ϒϩοΫΤΫεϓϩʔϥʔͰେࣄͳ͜ͱ [ [ [ શͯͷϒϩοΫνΣʔϯͰͷ౷ҰతͳΠϯλʔϑΣʔε σʔλݕࡧͷ͠΍͢͞ ϦΞϧλΠϜʹมߋΛऔಘͰ͖Δ

Slide 33

Slide 33 text

[ [ ଞࣾ੡ϒϩοΫΤΫεϓϩʔϥ ࣗࣾ੡ϒϩοΫΤΫεϓϩʔϥ #JUDPJOͷΤΫεϓϩʔϥ &UIFSFVNͷΤΫεϓϩʔϥ 3JQQMFͷΤΫεϓϩʔϥ ɾ ɾ (JODPͷϒϩοΫΤΫεϓϩʔϥ ̍ͭͰෳ਺ରԠ

Slide 34

Slide 34 text

ϒϩοΫΤΫεϓϩʔϥʔΛࣗ࡞͢Δཧ༝ ଞࣾ੡ ࣗࣾ੡ ϝϦοτ ͙͢࢖͍࢝ΊΒΕΔ શϒϩοΫνΣʔϯͰ*'Λ౷Ұ ϦΞϧλΠϜʹऔಘ͢Δ৔߹΋*'Λ౷Ұ σϝϦοτ ϒϩοΫνΣʔϯຖʹ*'͕มΘΔ ϒϩοΫνΣʔϯͷਂ͍ཧղͱ࣮૷޻਺

Slide 35

Slide 35 text

ϒϩοΫΤΫεϓϩʔϥͷߏஙͷมભ

Slide 36

Slide 36 text

[ • ("&$MPVE%BUBTUPSFΛ࢖༻ • "1*࣮૷ɺΠϯλʔϑΣʔεͷࡲΓ߹Θͤʹ࣌ؒΛফඅ • ϦΞϧλΠϜʹσʔλऔಘ͢Δʹ͸͞Βʹ޻਺͕͔͔Δ • ਓ਺͕গͳ͍ͨΊ஫ྗ͍ͨ͠΢ΥϨοτͷ։ൃʹूதͰ͖ͳ͍ Cloud Datastore ϒϩοΫΤΫεϓϩʔϥ ։ൃॳظ

Slide 37

Slide 37 text

[ • N#BB4ɿϞόΠϧόοΫΤϯυαʔϏε • αʔόαΠυͷ։ൃ޻਺Λ࡟ݮ͢ΔͨΊʹϓογϡ௨஌ͳͲ
 ൚༻ػೳΛΫϥ΢υαʔϏεͱͯ͠ఏڙ • "VUI %BUBTUPSFʢ'JSFTUPSFʣ 4UPSBHF 'VODUJPOT • .FTTBHJOH "OBMZUJDT 3FNPUF$POpH )PTUJOH 'JSFCBTFͱ͸ʁ

Slide 38

Slide 38 text

[ • αʔόϨεͰ؅ཧίετແ͠ • άϩʔόϧϨϕϧͷεέʔϦϯά଱ੑ • ϦΞϧλΠϜΞοϓσʔτ • ΦϑϥΠϯαϙʔτ • $MPVE'VODUJPOTͳͲଞαʔϏεͱͷ࿈ܞ $MPVE'JSFTUPSFಛ௃

Slide 39

Slide 39 text

[ Cloud Datastore ϒϩοΫΤΫεϓϩʔϥ 'JSFTUPSFͰͲ͏มΘ͔ͬͨ

Slide 40

Slide 40 text

[ $MPVE'JSFTUPSFʹͯ͠ಘΒΕͨϝϦοτ • ௚઀ΞΫηε͢Δ͜ͱͰHFUTFUܥͷ"1*͕ඞཁͳ͍ • XFCTPDLFUͷ࣮૷ͳ͠ʹϦΞϧλΠϜͳมߋΛऔಘͰ͖Δ • Πϯϑϥͷෳࡶੑ͕ͳ͘ͳΔ • αʔό։ൃ؅ཧςετ޻਺Λ࡟ݮ • ͦͷ݁Ռɺൿີ伴ͷ؅ཧɺෳ਺௨՟ରԠɺ6*69ͷ࣮૷ʹઐ೦

Slide 41

Slide 41 text

'JSFTUPSF࢖ͬͯΈͯͷ஌ݟ

Slide 42

Slide 42 text

'JSFTUPSFΛ࢖ͬͯΈͯͷ஌ݟ [ [ ϥϯχϯάίετӡ༻ίετ ΞΫηείϯτϩʔϧ

Slide 43

Slide 43 text

ϥϯχϯάίετӡ༻ίετ

Slide 44

Slide 44 text

[ 'JSFTUPSFͷඅ༻ײ • શ؀ڥ߹Θͤͯ΋ສԁఔ౓ • ىಈ࣌ؒͰ͸ͳ͘ݺͼग़͠ճ਺ͱอଘσʔλྔʹ՝ۚ͞ΕΔ • ແྉ࿮͕͋ΔͷͰɺϦϦʔε·Ͱ͸ίετΛ཈͑Δ͜ͱ͕Ͱ͖Δ • ແྉ࿮͸σΠϦʔ3FBEສճɺ8SJUF%FMFUFສճ • ϦϦʔεલ͸݄ສԁఔ౓ͱελʔτΞοϓʹ༏͍͠

Slide 45

Slide 45 text

[ 'JSFTUPSFͷ৑௕Խ • σʔλͷ৑௕Խ͸κʔϯؒͰࣗಈͰෳ੡͞ΕΔ • ϚϧνϦʔδϣϯͰͷ৑௕Խ΋ઃఆՄೳ • ࡞੒࣌ʹεϖοΫͷઃఆ͕͍Βͳ͍ • ؆୯ʹ࢖͍࢝ΊΒΕͯͦͷ··ຊ൪ӡ༻͕Ͱ͖Δ • 'JSFTUPSFͳΒΠϯϑϥઐ೚ͷΤϯδχΞ͸ඞཁͳ͍

Slide 46

Slide 46 text

[ 'JSFTUPSFͷεΩʔϚΠϯσοΫε • εΩʔϚϨεͳͷͰϚΠάϨʔγϣϯ͕͍Βͳ͍ • "MUFSจ͸ͳ͍ͷͰࣗྗͰόονΛ࣮૷͢Δඞཁ͕͋Δ • ୯ҰϑΟʔϧυͷΠϯσοΫε͸ࣗಈͰுͬͯ͘ΕΔ • ෳ਺ϑΟʔϧυʹର͢ΔΫΤϦ͸ෳ߹ΠϯσοΫε͕ඞਢ

Slide 47

Slide 47 text

[ ӡ༻ϝϯόʔ • ࠷ऴతʹΞϓϦΤϯδχΞͷΈͰӡ༻ • %#ઃܭ͸ϊ΢ϋ΢͕ඞཁͳͷͰ૬ஊ͠ͳ͕ΒਐΊΔ • ΞϓϦΤϯδχΞͷ੹೚ൣғ͕޿͘ͳΔ͕
 খ͍͞νʔϜͰεέʔϧ͢ΔαʔϏεΛ࡞Δ͜ͱ͕Ͱ͖Δ

Slide 48

Slide 48 text

'JSFTUPSFͷΞΫηείϯτϩʔϧ

Slide 49

Slide 49 text

[ 'JSFTUPSFͷΞΫηείϯτϩʔϧ • ΫϥΠΞϯτ͔Β௚઀'JSFTUPSFʹΞΫηεՄೳ • ΞΫηεʹ͸"1*Ωʔ͕ඞཁ • "1*Ωʔ͸ΫϥΠΞϯτʹຒΊࠐΉͷͰ୭Ͱ΋֬ೝՄೳ • ୭Ͱ΋ΞΫηεͰ͖ΔͨΊSVMFTͰ੍ޚ [ "1*ΩʔͰΞΫηε

Slide 50

Slide 50 text

[ Firestore Cloud Rules "1*ΩʔͰΞΫηε • SFBEXSJUFݖݶ • σʔλͷόϦσʔγϣϯ 'JSFTUPSFSVMFT

Slide 51

Slide 51 text

[ match /Users/{uid} { allow get: if someCondition(); allow create: if someCondition(); } function someCondition() { … } SFBE୯ҰEPDΛऔಘ͢ΔHFUͱෳ਺औಘ͢ΔMJTU XSJUFDSFBUF VQEBUF EFMFUF SFBEXSJUFݖݶ

Slide 52

Slide 52 text

[ 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 σʔλͷόϦσʔγϣϯ

Slide 53

Slide 53 text

[ 'JSFCBTF-PDBM&NVMBUPS • ೥݄ʹ'JSFTUPSF-PDBM&NVMBUPS͕ൃද • SVMFTͷςετ͸ϩʔΧϧ؀ڥ͚ͩͰ׬݁ • ଞਓͷ࡞ۀΛҙࣝ͠ͳͯ͘ྑ͘ͳͬͨͷͰSVMFTͷ௥Ճɾमਖ਼͕͠΍͘͢ͳͬͨ • ςετ࣮ߦ࣌ؒ͸ʹ࡟ݮ

Slide 54

Slide 54 text

'JSFCBTFͷͦͷଞͷػೳʹ͍ͭͯ

Slide 55

Slide 55 text

[ • ϓογϡ௨஌ • Ϋϥογϡϩάʢ*TTVFԽ4MBDL௨஌ʣ • Ϣʔβʔߦಈϩάͷه࿥ • ڧ੍Ξοϓσʔτ • 'JSFTUPSFͷόοΫΞοϓͱ#JH2VFSZ࿈ܞ • ϞχλϦϯά ΢ΥϨοτҎ֎ͷػೳ

Slide 56

Slide 56 text

[ Functions Cloud ᶃσʔλ͕ߋ৽͞ΕͨΒ'VODJUPOTΛىಈ ᶄ.FTTBHJOHʹ௨஌ ᶅ.FTTBHJOH͔Β୺຤ʹ௨஌ Firestore Cloud Messaging Cloud ϓογϡ௨஌

Slide 57

Slide 57 text

[ Ϋϥογϡϩά ᶃΫϥογϡϩάΛ௨஌ Functions Cloud ᶄ'VODUJPOΛىಈ ᶆ(JU)VCʹJTTVF࡞੒ Crashlytics GitHub Slack ᶇ4MBDLʹ௨஌ ᶅ'VODUJPO͔Β֤छαʔϏεʹ௨஌

Slide 58

Slide 58 text

[ ᶃΞΫγϣϯΛ&WFOUʹϓογϡ Analytics Functions Cloud ᶄ&WFOUΛτϦΨʔʹىಈ ֎෦ API ᶅ֎෦"1*Λ࣮ߦʢ޿ࠂͷଌఆʣ ΞΫγϣϯͷαϚϦΛݟΕΔ Ϣʔβʔߦಈϩάͷه࿥

Slide 59

Slide 59 text

[ ڧ੍Ξοϓσʔτ Config Remote ᶃىಈ࣌ʹ3FNPUF$POpH͔Β࠷௿όʔδϣϯΛऔಘ 04ผʹ࠷௿όʔδϣϯΛઃఆ ɾJ04W ɾ"OESPJEW

Slide 60

Slide 60 text

[ 'JSFTUPSFͷόοΫΞοϓͱ#JH2VFSZ࿈ܞ Scheduler Cloud Functions Cloud ᶃ#BDLVQ"1*Λ࣮ߦ Storage Cloud ᶄ#BDLVQϑΝΠϧ͕࡞੒͞ΕΔ BigQuery ᶅ#BDLVQϑΝΠϧͷ࡞੒͕׬ྃޙ
 ɹ#JH2VFSZ΁ϩʔυ͢Δ"1*Λ࣮ߦ

Slide 61

Slide 61 text

[ 4UBDLESJWFS-PHHJOH.POJUPSJOH Engine Kubernetes Stackdriver Functions Cloud Slack ᶅᮢ஋Λ௒͑ͨΒ௨஌ ᶄ4UBDLESJWFSͰϞχλϦϯά ᶃࣗಈͰ4UBDLESJWFSʹूܭ͞ΕΔ

Slide 62

Slide 62 text

4UBDLESJWFS-PHHJOH

Slide 63

Slide 63 text

4UBDLESJWFS&SSPS3FQPSUJOH

Slide 64

Slide 64 text

4UBDLESJWFS.POJUPSJOH

Slide 65

Slide 65 text

·ͱΊ [ [ [ (,&Λ࢖͏͜ͱͰ๲େͳϦιʔε؅ཧ͕༰қʹͳΔ 'JSFCBTFͳΒখ͍͞νʔϜͰ΋εέʔϥϒϧͳαʔϏε։ൃ͕Ͱ͖Δ ݁Ռͱͯ͠伴؅ཧɺ௨՟ରԠɺ6*69ͳͲॏཁͳ͜ͱʹ࣌ؒΛ࢖͑Δ