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

そのIoTシステム、デバイスが1000台になっても大丈夫ですか?

Y_uuu
September 15, 2020

 そのIoTシステム、デバイスが1000台になっても大丈夫ですか?

2020-09-15(Tue)
IoT縛りの勉強会! IoTLT vol.67 にて発表
https://iotlt.connpass.com/event/185929/

技術書典9に出展している本も、併せてよろしくお願いいたします!
https://techbookfest.org/product/5189029702139904?productVariantID=6282051762257920

Y_uuu

September 15, 2020
Tweet

More Decks by Y_uuu

Other Decks in Programming

Transcript

  1. ͦͷIoTγεςϜɺ
    σόΠε͕1000୆ʹͳͬͯ΋େৎ෉Ͱ͔͢ʁ
    2020-09-15(Tue)
    IoTറΓͷษڧձ! IoTLT vol.67
    ઌਐٕज़෦໳ IoTνʔϜ ΤϯδχΞ
    Ԭቌ ༤ฏ
    1

    View Slide

  2. ࣗݾ঺հ
    Ԭቌ ༤ฏ
    Okazaki Yuhei
    ‣ ID
    - @yuuu @Y_uuu
    ‣ ࣗݾ঺հ
    • ઌਐٕज़෦໳ IoTνʔϜ ΤϯδχΞ
    • ݩɾ૊ࠐΈΤϯδχΞ(2018೥͔ΒWebܥ΁)
    • ޷͖ͳσόΠε͸M5StickC
    ‣ Skill
    2
    image

    View Slide

  3. ٕज़ॻయ9ͰຊΛൢച͍ͯ͠·͢
    3
    https://techbookfest.org/product/5189029702139904

    View Slide

  4. ٕज़ॻయ9ͰຊΛൢച͍ͯ͠·͢
    4
    https://techbookfest.org/product/5189029702139904

    View Slide

  5. ٕज़ॻయ9ͰຊΛൢച͍ͯ͠·͢
    5
    https://techbookfest.org/product/5189029702139904

    View Slide

  6. ͔͜͜Βຊ୊Ͱ͢
    Start

    View Slide

  7. େ఍ͷIoT͸PoC͔Β͸͡·Δ
    7
    Ғ͍ਓ
    ࠓճͷγεςϜ͸1P$˞͔ͩΒ
    ͱΓ͋͑ͣಈ͔͢͜ͱ༏ઌͰେৎ෉ʂ
    σόΠε΋਺୆Ͱ͢΋ΜͶʂ
    ͬ͞ͱ࡞ͬͨͷͰͥͻࢼͯ͠Έ͍ͯͩ͘͞
    ˞1P$1SPPGPG$PODFQUͷུɺࢼ࡞։ൃͷલஈ֊ʹ͓͚Δݕূ΍σϞͷ͜ͱ
    ΤϯδχΞ

    View Slide

  8. ਺Χ݄ޙ…

    View Slide

  9. ಥવͷεέʔϧΞ΢τ
    9
    Ғ͍ਓ
    લͷPoC্͕ख͍ͬͨͧ͘ʂʂʂ
    γεςϜΛશࠃʹల։͢Δ͜ͱ͕ܾ·ͬͯ
    1000୆ͷσόΠε͔ΒσʔλΛૹΔ͔Βʂ
    (͏Θͬ…1000୆ͬͯେৎ෉͔ͳ)
    ΤϯδχΞ

    View Slide

  10. ͦͷIoTγεςϜɺ
    σόΠε͕1000୆ʹͳͬͯ΋େৎ෉Ͱ͔͢ʁ
    ?

    View Slide

  11. ྫ୊: ର৅γεςϜ
    11
    • IoTͰΑ͋͘ΔؾԹ؂ࢹγεςϜ ※ʮAWSͱM5StickCͰ࡞ΔIoT։ൃೖ໳ʯ͔ΒҾ༻
    • ؾԹ͕30℃Λ௒͑ΔͱSlack΁௨஌ɺWeb͔Β΋άϥϑ͕ݟΒΕΔ

    View Slide

  12. ྫ୊: ର৅γεςϜ
    12
    • ͨͩ͠ɺखҧ͍ͰҎԼͷΑ͏ͳઃఆ͕͞Ε͍ͯΔ
    • Lambdaͷಉ࣮࣌ߦ਺͕1
    • DynamoDBͷΩϟύγςΟϢχοτ(RCU, WCU)͕ϓϩϏδϣϯυͷ1
    ಉ࣮࣌ߦ਺: 1
    RCU, WCU: 1
    ✕1000୆

    View Slide

  13. ͋ͨ·ͷதͰ͏͔ͯ͝͠ΈΑ͏
    13
    • ͨͿΜɺIoT Core→Lambda͕٧·Δ
    • ͓ͦΒ͘ɺIoT Core→DynamoDB͕٧·Δ
    • ͦͯ͠…Ͳ͏ͳΔʁ
    ಉ࣮࣌ߦ਺: 1
    RCU, WCU: 1
    ✕1000୆

    View Slide

  14. ࣮ࡍʹ΍ͬͯΈͨ

    View Slide

  15. ࣮ࡍʹ΍ͬͯΈͨ
    15
    • mockmockͰ1000୆ͷԾ૝σόΠεΛ࡞੒
    • M5StickCͱಉ༷ʹ10ඵपظͰσʔλૹ৴

    ※ cn1kͱ͍͏༗ྉͷϓϥϯΛ࢖༻͍ͯ͠·͢
    Ծ૝σόΠε✕1000୆
    10ඵपظͰσʔλૹ৴

    View Slide

  16. ࢀߟ: mockmockͱ͸
    16
    • IoT։ൃʹ͓͚ΔςετΛࢧԉ͢ΔαʔϏε
    • σόΠεͷ୅ΘΓʹԾ૝σόΠε(mock)͕όοΫΤϯυ΁σʔλΛૹ৴͢Δ
    • mock͸࠷େ5ສ୆·ͰىಈՄೳ
    Ͱݕࡧͯ͠Έ͍ͯͩ͘͞
    NPDLNPDL
    ৄࡉ͸

    View Slide

  17. 1000୆ͷmockΛىಈʂ
    17

    View Slide

  18. ͍Ζ͍Ζ໰୊͕ى͜Δ
    ʂ

    View Slide

  19. SlackͷIncoming WebhookͰϫʔχϯά͕ग़Δ
    19
    • ʮΞΫςΟϏςΟ͕ଟ͍ͨΊɺҰ෦ͷϝοηʔδ͸දࣔ͞Ε·ͤΜɻʯͱͷ͜ͱ

    View Slide

  20. mockmock͔Βͷૹ৴ఀࢭޙɺ30෼΄Ͳ௨஌͕ଓ͘
    20
    • 30෼΄ͲɺԆʑͱ௨஌͕དྷΔ
    • Lambdaͷ࣮ߦ͕Throttle͞Ε͍ͯΔ
    • ଟ਺ͷΠϕϯτΛ1ͭͷLambda͕ࡉʑͱ͞͹͖ଓ͚͍ͯΔ

    View Slide

  21. DynamoDBʹ஋͕ॻ͖ࠐ·Εͳ͍
    21
    • ΩϟύγςΟϢχοτ1ͩͱͦ΋ͦ΋1ճ΋ॻ͖ࠐΊͳ͔ͬͨ
    • Write Throttle Events Sum͕ٸ૿͍ͯ͠Δ

    View Slide

  22. Έͳ͞Μ͸ɺ
    ૝૾Ͱ͖·͔ͨ͠ʁ

    View Slide

  23. ·ͱΊ
    23
    •಄ͷதͰ͏͔͢͜͝ͱ΋େࣄ͕ͩɺݱ࣮͸૝૾Λ௒͑Δ
    •ಛʹIoTγεςϜ͸ςετͯ͠Έͯ໰୊ʹؾͮ͘৔߹͕ଟ͍
    •Ͱ͖Δ͚ͩຊ൪ʹ͍ۙ؀ڥΛ࠶ݱ͢Δ͜ͱ͕େࣄʂ
    1000୆ͷσόΠεͰ໰୊ແ͘ಈ͍ͨͷͰ
    ࣗ৴Λ࣋ͬͯϦϦʔεͩʂ

    View Slide

  24. ࢼͯ͠Έͨ͘ͳͬͨਓ͸ͥͻಡΜͰΈ͍ͯͩ͘͞ʂ
    24
    https://techbookfest.org/product/5189029702139904

    View Slide

  25. ͝ਗ਼ௌ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·ͨ͠
    Thank You
    We are Hiring !
    https://recruit.fusic.co.jp/

    View Slide