Upgrade to Pro — share decks privately, control downloads, hide ads and more …

google-inside-fintech-2019-06-10

 google-inside-fintech-2019-06-10

Tomokazu Kozuma

June 10, 2019
Tweet

More Decks by Tomokazu Kozuma

Other Decks in Technology

Transcript

  1. Πϯϑϥ؅ཧෆཁͷ'JSFCBTFͱ

    (,&Ͱ࣮ݱ͢ΔϞόΠϧΞϓϦ։ൃ
    June 10th, 2019
    Tomokazu Kozuma

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  10. ಠࣗͷݎ࿚ͳΠϯϑϥ
    શͯͷϒϩοΫνΣʔϯ
    ϊʔυΛࣗΒ؅ཧӡ༻
    ϒϩοΫνΣʔϯͷσʔλΛ

    ݕࡧ͢ΔγεςϜΛࣗ෼ୡͰߏங
    ߴ͍εέʔϥϏϦςΟ
    Node Block Explorer Scalability

    View full-size slide

  11. (JODPͷઆ໌͸Ҏ্

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  15. [
    [
    [
    ൿີ伴ͷ҆શͳ؅ཧ௨՟ରԠ ΫϥΠΞϯτͰ࣮૷
    ϒϩοΫνΣʔϯϊʔυӡ༻ ,VCFSOFUFT (,&

    ɾϚϧνϒϩοΫνΣʔϯ
    ɾՄ༻ੑ
    ϒϩοΫΤΫεϓϩʔϥͷߏங
    ɾૹडۚͷऔҾཤྺ
    'JSFCBTF
    ɾΞυϨε௨՟ผͷ࢒ߴ؅ཧ
    ΢ΥϨοτʹඞཁͳ΋ͷ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  26. [
    Bitcoin
    )FBMUI$IFDL

    4FSWJDF
    #MPDL)FJHIU
    Bitcoin
    Bitcoin
    Engine
    Kubernetes

    [
    ࠷৽ϒϩοΫΛಉظͰ͖͍ͯͳ͍৔߹-#͔Β֎͢
    -BUFTU#MPDL
    ϒϩοΫνΣʔϯಛԽͷϔϧενΣοΫػೳ

    View full-size slide

  27. [
    Bitcoin
    )FBMUI$IFDL

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

    View full-size slide

  28. [
    CircleCI
    Engine
    Container
    $MPVE

    #VJME
    Engine
    Kubernetes
    Stackdriver
    $POUBJOFS

    3FHJTUPSZ
    ᶄϏϧυ5FTU
    ᶅ*NBHFΛϏϧυ
    ᶆ*NBHFΛొ࿥ ᶇ1PEͷ*NBHFͷߋ৽
    GitHub
    ᶃϚʔδͨ͠ΒΩοΫ
    (,&΁ͷσϓϩΠ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  37. [
    • N#BB4ɿϞόΠϧόοΫΤϯυαʔϏε
    • αʔόαΠυͷ։ൃ޻਺Λ࡟ݮ͢ΔͨΊʹϓογϡ௨஌ͳͲ

    ൚༻ػೳΛΫϥ΢υαʔϏεͱͯ͠ఏڙ
    • "VUI %BUBTUPSFʢ'JSFTUPSFʣ 4UPSBHF 'VODUJPOT
    • .FTTBHJOH "OBMZUJDT 3FNPUF$POpH )PTUJOH
    'JSFCBTFͱ͸ʁ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  41. 'JSFTUPSF࢖ͬͯΈͯͷ஌ݟ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  47. [
    ӡ༻ϝϯόʔ
    • ࠷ऴతʹΞϓϦΤϯδχΞͷΈͰӡ༻
    • %#ઃܭ͸ϊ΢ϋ΢͕ඞཁͳͷͰ૬ஊ͠ͳ͕ΒਐΊΔ
    • ΞϓϦΤϯδχΞͷ੹೚ൣғ͕޿͘ͳΔ͕

    খ͍͞νʔϜͰεέʔϧ͢ΔαʔϏεΛ࡞Δ͜ͱ͕Ͱ͖Δ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    ɹ#JH2VFSZ΁ϩʔυ͢Δ"1*Λ࣮ߦ

    View full-size slide

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

    View full-size slide

  62. 4UBDLESJWFS-PHHJOH

    View full-size slide

  63. 4UBDLESJWFS&SSPS3FQPSUJOH

    View full-size slide

  64. 4UBDLESJWFS.POJUPSJOH

    View full-size slide

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

    View full-size slide