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

AWS Summit online-いかにしてスタートアップは水産養殖の現実の課題を解決するか -ウミトロンにおけるIoTと機械学習の取り組み-

UMITRON
October 27, 2020

AWS Summit online-いかにしてスタートアップは水産養殖の現実の課題を解決するか -ウミトロンにおけるIoTと機械学習の取り組み-

ウミトロンは世界の水産養殖の課題解決に取り組んでいるスタートアップです。水産養殖の現実の課題を解決するには、ソフトウェアだけでなくハードウェアも含めて実際の洋上にプロダクトとして提供する必要があります。本セッションでは、海という過酷な環境にスタートアップというリソースが限られた組織で、どのようにプロダクトを開発・運用してきたか、AWS 上に構築してきたかをIoTと機械学習といった技術を中心にご紹介します。

UMITRON

October 27, 2020
Tweet

More Decks by UMITRON

Other Decks in Technology

Transcript

  1. © 2020, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. ͍͔ʹͯ͠ελʔτΞοϓ͸
 ਫ࢈ཆ৩ͷݱ࣮ͷ՝୊Λղܾ͢Δ͔ -΢ϛτϩϯʹ͓͚ΔIoTͱػցֶशͷऔΓ૊Έ- Ԭຊ୓ຏ CTO ΢ϛτϩϯגࣜձࣾ
  2. ࣗݾ঺հ Ԭຊ୓ຏ ! ΢ϛτϩϯגࣜձࣾ ◦ ڞಉ૑ۀऀ / औక໾ / CTO

    ! ܦྺ ◦ ౦ژཧՊେֶɾେֶӃ ◦ άϦʔגࣜձࣾ(2012 - ) ◦ גࣜձࣾϝλοϓε(2014 - ) ◦ ΢ϛτϩϯגࣜձࣾ(2016 - )
  3. څ㕒ͷ࠷దԽΛ࣮ݱͤ͞ΔͨΊʹඞཁͳ͜ͱ ! IoTΛ༻͍ͨԕִૢ࡞ͱσʔλऩू ◦ ԕִͰͷڅ㕒ث੍ޚ ◦ ҆ఆͨ͠σʔλऔಘ ◦ ੍ޚιϑτ΢ΣΞͷܧଓతΞοϓσʔτ !

    ػցֶशΛ༻͍ͨڕͷ৯ཉղੳ ◦ औಘͨ͠σʔλΛϦΞϧλΠϜͰػցֶशͰॲཧ͢Δ ◦ ೔ʑऔಘͰ͖Δσʔλ͔ΒͷܧଓతͳػցֶशϞσϧͷվળ
  4. ! ϦΞϧλΠϜͳ૒ํ޲௨৴ ◦ IoTσόΠε͔Βͷσʔλऔಘ ◦ ԕִ͔ΒσόΠεͷૢ࡞ ! ༸্Ͱͷಠཱɾ҆ఆͨ͠Քಇ ◦ ిݯ͸ଠཅޫͷΈ

    ◦ Ϣʔβ΋IoTσόΠεͷۙ͘ʹ͍ͭ΋͍ΔΘ͚Ͱ͸ͳ͍ɾ͙͢ߦ͚ΔΘ͚Ͱ͸ͳ͍ ! σόΠεΛઃஔ͔ͯ͠Β΋༰қʹվળΛଓ͚ΒΕΔ ◦ ઃஔ͔ͯ͠ΒॳΊͯ෼͔Δ՝୊ʹ΋ରԠͰ͖Δ ▪ ͞·͟·ͳࣗવ؀ڥ ▪ ڕͷੜҭσʔλ IoTγεςϜΛ༻͍࣮ͯݱ͍ͨ͠ػೳ
  5. AWS IoTʹΑΔIoTج൫ ! AWS IoTΛج൫ʹ࠾༻ ◦ IoTσόΠεɺWebαʔόɺωΠςΟϒΞϓϦͷ3ऀͱͷϦΞϧλΠϜ૒ํ޲௨৴ ▪ MQTT over

    WebSocket ▪ ҆ఆՔಇ ! Πϯϑϥӡ༻͕΄΅͍Βͳ͍ ◦ AWSͷ֤छαʔϏε࿈ܞ ▪ ϩάอଘͱ͍ͬͨɺIoTσόΠε -> WebαʔόͷϦΫΤετΛҰ෦ݞ୅ΘΓ ! αʔϏεશମͷதͰେ෦෼ͷϦΫΤετ͕͜Ε ! ΄ͱΜͲϏδωεϩδοΫΛ࣋ͨͳ͍ ◦ ։ൃ͸ࣄۀυϝΠϯݻ༗ͷϏδωεϩδοΫʹूதͰ͖Δ
  6. IoTσόΠεͷߏ੒ ! Raspberry Pi + Raspbian + Go ◦ Raspberry

    pi + Raspbian ▪ ͋ͱ͔Βιϑτ΢ΣΞมߋ͕؆୯ͳΞʔΩςΫνϟ ! IoTσόΠεઃஔޙ΋େ෯ͳมߋ ! ిྗతʹ͸Ϟʔλʔ͕େ͖͍ ◦ লిྗϚΠίϯʹͩ͜ΘΒͳ͍ ▪ ൚༻඼Λ࢖͏ ! Linuxͷطଘࢿ࢈Λར༻ ! ޿͘࢖ΘΕͯΔͷͰɺ৘ใ͕ଟ͍ ▪ sshͰτϥϒϧγϡʔςΟϯά ◦ Go ▪ ߴ͍ੜ࢈ੑ + ύϑΥʔϚϯε ▪ όΠφϦ഑෍͚ͩͰಈ͘ɺΞοϓσʔτͰ͖Δ
  7. AWS IoTʹΑΔϦΞϧλΠϜ૒ํ޲௨৴ ! Device Shadow ◦ desiredʹ͸WebαʔόɺωΠςΟϒΞϓϦ -> IoTσόΠε΁ͷϦΫΤετ ▪

    څ㕒։࢝/ఀࢭ໋ྩ ▪ ϦΞϧλΠϜϞχλϦϯά։࢝/ఀࢭ໋ྩ ◦ reportedʹ͸ IoTσόΠε͔Βࠓͷঢ়ଶΛ൓ө ▪ څ㕒ͷਐḿঢ়گ ◦ ݱࡏͷIoTσόΠεͷঢ়ଶΛ֬ೝ͢ΔͷʹShadow͚ͩݟΕ͹͍͍ ◦ ඇಉظͰ໋ྩΛIoTσόΠεʹૹΕΔ ▪ ͍ͭ΋ສશͳωοτϫʔΫঢ়ଶͰ͸ͳ͍ ▪ Ϣʔβ͕Ұ࣌తʹσόΠεͷిݯΛམͱ͍ͯ͠Δ৔߹΋͋Δ
  8. AWS IoTʹΑΔIoTσόΠεͷσʔλऩू ! AWS IoT Rule -> Amazon DynamoDB ◦

    AWS IoT -> AWS IoT Rule -> DynamoDB ▪ ςΩετσʔλͷอଘ ▪ Ұ൪ଟ͍ϦΫΤετ͕WebαʔόΛܦ༝͠ͳ͍ ◦ DynamoDB ▪ େྔͷσʔλอଘ ▪ ΞϓϦέʔγϣϯ͔ΒࢀরͰ͖Δ͘Β͍௿ϨΠςϯγ ! Amazon S3 ◦ σόΠε͔Β௚઀S3ʹΞοϓϩʔυ ▪ ಈըͱը૾ͷอଘ ▪ PreSigned URLΛར༻ ◦ େ༰ྔϑΝΠϧͷΞοϓϩʔυ͕WebαʔόΛܦ༝͠ͳ͍ ▪ IoTσόΠε͔ΒಈըͷΞοϓϩʔυ͸͕͔͔࣌ؒΔ
  9. AWS IoTʹΑΔIoTσόΠεͷιϑτ΢ΣΞͷσϓϩΠ ! Debian package + AWS IoT jobs ◦

    Debian package ▪ GoͷόΠφϦ + ࢖༻ϥΠϒϥϦͷґଘ + ઃఆϑΝΠϧ ▪ package͸S3 + CloudFrontͰϗεςΟϯά ◦ AWS IoT jobs ▪ job͔ΒDebian packageͷόʔδϣϯΛऔಘͯ͠apt-get ▪ jobΛ࡞ͬͨͱ͖ʹσόΠε͕ΦϑϥΠϯͰ΋ɺ
 ΦϯϥΠϯʹͳͬͨͱ͖ʹΞοϓσʔτͰ͖Δ
  10. ػցֶशγεςϜͷߏஙʹ͓͚Δ՝୊ ! ՝୊ͩͬͨ͜ͱ ◦ ։ൃ଎౓ ▪ ܧଓతʹػցֶशαʔϏεΛվળ͢ΔͨΊͷ։ൃ؀ڥ ▪ ଐਓԽʹΑΔΩϟονΞοϓίετͷߴ͞ ◦

    ػցֶशαʔϏεͷΠϯϑϥύϑΥʔϚϯε ▪ ݶΒΕͨਓ਺Ͱͷӡ༻ ▪ WebΤϯδχΞͱػցֶशΤϯδχΞͷεΩϧηοτͷࠩҟ ! ՝୊Ͱ͸ͳ͔ͬͨ͜ͱ ◦ ܧଓతͳσʔλͷऩू ◦ ࣮༻ʹ଱͑͏Δਫ਼౓ͷϞσϧͷੜ੒ ◦ ਪ࿦݁ՌͷΞϓϦέʔγϣϯͰͷར༻
  11. ! ෳࡶͳ؀ڥʹΑΔ։ൃͷ೉͠͞ ◦ ֶश؀ڥ͕౷Ұ͞Ε͍ͯͳ͍ ▪ ϩʔΧϧPCͱAmazon EC2 spot instance ◦

    ܇࿅σʔλͷ؅ཧํ๏͕౷Ұ͞Ε͍ͯͳ͍ ◦ σϑΝΫτͳߏ੒Ͱͳ͍ͨΊֶशίετ͕ߴ͍ ▪ WebΤϯδχΞɺ৽ೖࣾһͷΩϟονΞοϓίετ ! ػցֶशαʔϏεͷΠϯϑϥӡ༻ͷ೉͠͞ ◦ WebαʔϏεͷෛՙΛػցֶशαʔϏε͕ࡹ͚ͳ͍ ▪ ػցֶशαʔϏεͷύϑΥʔϚϯε͕ϢʔβʹӨڹΛ༩͑Δ ▪ ػցֶशΤϯδχΞ͚ͩΠϯϑϥӡ༻Ͱ͖ͳ͍ ॳظͷػցֶशγεςϜͷ՝୊
  12. Amazon SageMakerΛػցֶशγεςϜͷج൫ʹ࠾༻ ! ϑϨʔϜϫʔΫͱͯ͠ͷAmazon SageMaker ◦ ౷Ұ͞Εͨߏ੒ ◦ ֶशίετΛAmazon SageMakerͷΈʹू໿

    ◦ WebΤϯδχΞɺ৽ೖࣾһ͕ΩϟονΞοϓ͠΍͍͢ ! ϑϧϚωʔδυͳΠϯϑϥ ◦ Πϯϑϥӡ༻ίετͷ࡟ݮ ◦ ػցֶशΤϯδχΞͰ΋ӡ༻Ͱ͖Δ ! WebαʔϏεͱػցֶशαʔϏεΛૄ݁߹ʹ͢Δ ◦ Amazon SageMakerͷendpointͰ2ͭͷαʔϏεΛ݁߹ ◦ Amazon SageMakerͷ஌͚ࣝͩͰޓ͍Λӡ༻Ͱ͖Δ
  13. Amazon SageMakerΛ࠾༻ͨ͠ޮՌ ! ։ൃ؀ڥͷ؆ૉԽ ◦ ֶश؀ڥ͕౷Ұ ◦ ඞཁͳΠϯϑϥ஌ࣝΛAmazon SageMakerʹू໿ ◦

    Amazon SageMaker͑͞Θ͔Ε͹୭Ͱ΋Θ͔Δ ◦ ։ൃ؀ڥͰࣾ಺ಛ༗ͷ஌͕ࣝগͳ͍ ! εέʔϧ͕༻ҙ ◦ Πϯϑϥӡ༻ίετ͕গͳ͍ ◦ WebαʔϏε͕ड͚ΔӨڹ͕Amazon SageMakerͷύϑΥʔϚϯεͷΈʹݶఆ͞ΕΔ ◦ ػցֶशΤϯδχΞ͚ͩͰΠϯϑϥΛεέʔϧͰ͖Δ
  14. ࠓޙͷػցֶशγεςϜͷൃల ! ܇࿅σʔλ࡞੒ͷࣗಈԽ ◦ Athena΍notebookͰͷ܇࿅σʔλ࡞੒ ! ΞϊςʔγϣϯͷࣗಈԽ ◦ Amazon SageMaker

    Ground Truth ! ϨϙʔςΟϯάͷࣗಈԽ ◦ ֶशͨ͠ϞσϧͷධՁ ܧଓతʹऩूͰ͖Δ܇࿅σʔλͰϞσϧͷվળΠςϨʔγϣϯΛߴ଎Խ
  15. Thank you! © 2020, Amazon Web Services, Inc. or its

    affiliates. All rights reserved. Ԭຊ୓ຏ CTO
 ΢ϛτϩϯגࣜձࣾ