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

「すべては、猫様のために。」Catlog®(キャトログ)の猫様のための猫様によるプロダクト開発

oyuki_Catlog
February 05, 2020

 「すべては、猫様のために。」Catlog®(キャトログ)の猫様のための猫様によるプロダクト開発

パート1:株式会RABOおよびCatlogについて
パート2:バックエンドエンジニャより「Catlogのしくみ」
パート3:MLエンジニャより「今さら聞けない猫様の加速度」

oyuki_Catlog

February 05, 2020
Tweet

More Decks by oyuki_Catlog

Other Decks in Technology

Transcript

  1. 4 Ͳ ͏ ͔ ɺ ͜ ͷ ࢠʢ ೣ ʣͱ

     Ұ ඵ Ͱ ΋ ௕ ͘  Ұ ॹ ʹ ͍ Β Ε · ͢ Α ͏ ʹ ɻ
  2. 1% 11% 7% 7% 14% 25% 36% ຖ೔ िʹ5ʙ6೔ िʹ3ʙ4೔

    िʹ1ʙ2೔ ݄ʹ਺ճ ཹक൪͍ͤͯ͞ͳ͍ Θ͔Βͳ͍ ˞ฐ࣮ࣾࢪΞϯέʔτௐࠪ ཹक൪͕ଟ͘ɺ৺഑ͰޙΖΊ͍ͨࣂ͍ओ िʹ೔Ҏ্ཹक൪ 81% 6
  3. ˞ฐ࣮ࣾࢪΞϯέʔτௐࠪ 0% 15% 30% 45% 60% ݟकΓ༻ͷ8&#Χϝϥ ࣗಈڅӤث ༑ਓ΍Ո଒ʹ༬͚Δ ϖοτϗςϧʹ༬͚Δ

    ΩϟοτγολʔΛར༻ ೣΛέʔδʹೖΕΔ ͳʹ΋Ͱ͖͍ͯͳ͍ ͦͷଞ 1% 57% 13% 13% 9% 12% 20% 16% ͔͠͠ରࡦ͸Ͱ͖͍ͯͳ͍ɻ ཹक൪ରࡦͳʹ΋Ͱ͖͍ͯͳ͍ 57% 7
  4. 10 ؍ ࡯ Ͱ ͖ ͳ ͍ ಈ ෺ ͷ

    ߦ ಈ Λ ؍ Δ Պ ֶ
  5. 14 ӡಈྔɺਭ຾ɺҿ৯ͳͲೣ༷ͷҰੜͷߦಈ σʔλΛऔಘ͠·͢ɻिʗ݄ʗ೥ͰਪҠΛ ֬ೝ͠ɺมԽ΍ҟมΛݕ஌͠·͢ɻ ߦಈύλʔϯΛ࣌ؒܭଌ ΞϓϦͰݟकΓ ઐ༻ΞϓϦ͔Βɺೣͷ༷ࢠ΍ࣨԹΛ֬ೝͰ ͖·͢ɻࣨԹ͕౓Λ௒͑ΔͱΞϥʔτ͠ ·͢ɻՈ଒΍्ҩࢣͱΞϓϦͷΞΧ΢ϯτ ΛγΣΞ͢Δ͜ͱͰɺΈΜͳͰݟकΕΔੈ

    քΛ໨ࢦ͍ͯ͠·͢ɻ ଟ಄ࣂ͍ʹ΋ରԠ ෳ਺ͷೣΛࣂ͍ͬͯΔ৔߹΋ɺͦΕͧΕͷ ೣ͕ಉ࣌ؒ͡ଳʹͲΜͳߦಈΛ͍͔ͯͨ͠ Λɺ̍ͭͷΞϓϦͰ؅ཧͰ͖·͢ɻ όΠΦϩΪϯάղੳٕज़Λೣ༷σʔλʹԠ༻ɺػցֶशͰղੳɾ෼ྨ
  6. 30

  7. 34 ઐ໳ՈɾΞυόΠβʔɾ౤ࢿՈ ࠤ౻ࠀจ ʢڭतʣ όΠΦϩΪϯάݚڀ ౦ژେֶେؾւ༸ݚڀॴւ༸ੜ໋Պֶ෦໳ ߦಈੜଶܭଌ෼໺ ੨໦͔͕Γ ʢॿڭʣ ࡔຊ݈ଠ࿠

    ʢ।ڭतʣ ϋʔυ΢ΣΞސ໰ גࣜձࣾ4IJGUBMM୅දऔక໾$&0 ؠࠤୖຏ ஌ࡒސ໰ ಛڐۀ຿๏ਓJ1-"#4UBSUVQT தാູ ्ҩࢣ ΞχϚϧΫϦχοΫΠετ ݪޱྋࢠ ੜ෺ֶ✕ػցֶशݚڀ ౦ژେֶେֶӃཧֶܥݚڀՊɹੜ෺Պֶ ઐ߈όΠΦΠϯϑΥϚςΟΫεݚڀࣨ ؠ࡚বʢ।ڭतʣ RABOΤϯδΣϧ౤ࢿՈ َ಄लজࢯʢגࣜձࣾϦΫϧʔτϗʔϧσΟϯάεސ໰ʣ ɹᵋେاۀܦӦऀϝϯλʔ দຊཾ༞ࢯʢݩגࣜձࣾϝϧϖΠऔక໾$10ʣ ɹᵋελʔτΞοϓܦӦऀϝϯλʔ  ੴ௩྄ࢯʢגࣜձࣾϝϧΧϦڞಉ૑ۀऀʣ ɹᵋάϩʔόϧల։ʢ64ʣΞυόΠβʔ ླ໦໌ਓࢯʢ(.05FDI୅දऔక໾ࣾ௕ʣ ɹᵋϚʔέςΟϯάΞυόΠβʔ Ոຊݡଠ࿠ࢯʢגࣜձࣾΫϥϥΦϯϥΠϯ୅දऔక໾ࣾ௕ʣ ɹᵋ*P5ʗάϩʔόϧల։ʢதࠃʣΞυόΠβʔ
  8. 40 ࠓ೥ɺάϩʔόϧల։΋։࢝͠·͢ʂ USA China Germany France Russia Japan UK Ukraine

    Italy 7 8 8 10 13 14 15 53 95 ࠃͰ͸64"͕τοϓ 9500ສඖ
  9. API DB Machine Learning API DB 4FOTPSMPH 4FOTPSMPH 4FOTPSMPH "DUJWJUZMPH

    "DUJWJUZMPH "DUJWJUZMPH Pendant & Home Catlog App Sensor log to Activity log | Catlogͷ͘͠Έ | Backend Engineer @suzuki | 50
  10. AWS Cloud AWS Fargate Amazon Aurora Pendant & Home Sensor

    logs Sensor log side | Catlogͷ͘͠Έ | Backend Engineer @suzuki |
  11. AWS Fargate Amazon Aurora Amazon SES Amazon S3 Activity log

    side AWS Cloud Catlog App Activity logs | Catlogͷ͘͠Έ | Backend Engineer @suzuki | 57
  12. Activity log side w 'BSHBUFͰ1)1ϕʔεͷ"1*ίϯςφ͕Քಇ w ΫϥΠΞϯτΞϓϦ༻ͷΤϯυϙΠϯτʹͳΔ w "DUJWJUZϩάͷαϚϦूܭɺάϥϑ༻σʔλม׵ͳͲ΋ w

    ͦͷଞɺ1VTI഑৴΍ϝʔϧ഑৴ͷ੍ޚͳͲ΋͜ͷ"1*Ͱ࣮ߦ w ϛυϧ΢ΣΞ͸࢖͍ͬͯΔ͕ɺجຊతʹ͸ϞϊϦγοΫͳߏ੒ | Catlogͷ͘͠Έ | Backend Engineer @suzuki | 58
  13. AWS Fargate Amazon Aurora Amazon CloudFront Amazon S3 Firmware Update

    AWS Cloud Pendant & Home Catlog App Firmware Check User Firmware | Catlogͷ͘͠Έ | Backend Engineer @suzuki | 60
  14. AWS Fargate AWS CodeBuild Amazon ECR Deployment (build & deploy)

    Deploy! Build! AWS Cloud | Catlogͷ͘͠Έ | Backend Engineer @suzuki | 65
  15. Catlog on AWS w 'BSHBUFɺ"VSPSBͱ΋ʹ҆ఆ͍ͯ͠Δ w Πϯϑϥ໘ͷ৺഑ΛͤͣʹΞϓϦέʔγϣϯ։ൃʹूதͰ͖Δ w ڧ͍ͯݴ͑͹ɺ'BSHBUFͷσϓϩΠ͕΋͏গ͠଎͘ͳΔͱ͏Ε͍͠ w

    $MPVE'SPOUʹΑΔΞΫηε੍ޚ͸ࣗ෼Ͱ࣮૷ͤͣʹࡁΜͰָͩͬͨ w ϕϯμʔϩοΫΠϯؾຯͷٕज़ͩͱࢥ͍ͭͭ΋εϐʔυΛ༏ઌͨ͠ | Catlogͷ͘͠Έ | Backend Engineer @suzuki | 68
  16. Catlog on AWS w ͜Ε͔Βͷ՝୊ w σʔλྔͷଟ͞ͱͷઓ͍ w "VSPSB೚ͤʹ͍ͯ͠Δ෦෼͕͋Γɺ΋ͬͱޮ཰తͳํ๏Λ໛ࡧ͍ͨ͠ w

    ΞϓϦͷ׆ಈϩάͷ෼ੳ w ೣ༷ͷ׆ಈϩάΛఏڙ͢Δ͜ͱʹूத͓ͯ͠ΓɺΞϓϦͷ׆ಈϩάʹ·Ͱ ख͕ಧ͍͍ͯͳ͍ | Catlogͷ͘͠Έ | Backend Engineer @suzuki | 69
  17. ࠲ඪܥ ೾ܗը૾ ϖϯμϯτʹରͯ͠ ্ํ޲xɹԣํ޲yɹલํ޲z ॏྗՃ଎౓ࠐΈͷY Z [ ୯Ґ͸( NT 

    ೣͷՃ଎౓σʔλʹ͍ͭͯ | ࠓ͞Βฉ͚ͳ͍ೣ༷ͷՃ଎౓ | ML Engineer massy | 79
  18. w า͘ w ૸Δ w δϟϯϓ w ͝൧৯΂Δ w ਫҿΈ

    w ௺ͱ͗ w ໟͮ͘Ζ͍ w ৸Δ w ;Έ;Έ w ͭ͘Ζ͙ w ͔͖࠭ τΠϨ  w ᅅుɹɹɹɹɹɹɹ ೣͷߦಈͷछྨ | ࠓ͞Βฉ͚ͳ͍ೣ༷ͷՃ଎౓ | ML Engineer massy | 81
  19. σʔλऩूΞϊςʔγϣϯίετ͸ߴ͍ ֤ߦಈʹରͯ͠ ൪߸ ϥϕϧ ΛܾΊΔ 1 ಈըΛݟͯ ඵ୯ҐͰϥϕϧ෇͚ 2 ࣌ؒΛΩʔʹͯ͠

    Ճ଎౓ͱϚʔδ 3 σʔλΞϊςʔγϣϯͷ࢓ํ | ࠓ͞Βฉ͚ͳ͍ೣ༷ͷՃ଎౓ | ML Engineer massy | 83
  20. ͍ͭ৸͍ͯΔ͔෼͔Δ ׆ൃͳ࣌ؒ ׆ൃͳ࣌ؒ ͝͸ΜΛ৯΂ͯ຾͍ ਓؒͱҰॹʹ৸ͯΔ มԽྔΛݩʹɺϒϦͪΌΜͷͱ͋ΔҰ೔ͷਭ຾ྔΛܭࢉ w ͜ͷ೔ͷਭ຾࣌ؒ͸໿࣌ؒ w ೔Λ௨ͯ͠جຊతʹ৸͍ͯΔ

    ⇛ͪΐͪ͜ΐ͜৸͍ͯΔ ङΓͷຊೳʁ  w ਭ຾ͷϐʔΫ͸ਂ໷ͱனա͗ͷճ w ேͱ༦ํ͸ಈ͖͕׆ൃʹ w ͜ͷ܏޲͸ෳ਺೔ݟͯ΋ڞ௨͍ͯ͠Δ | ࠓ͞Βฉ͚ͳ͍ೣ༷ͷՃ଎౓ | ML Engineer massy | 96
  21. ෼ྨग़དྷΔߦಈͷ௥ՃৄࡉԽ w า͘ w ૸Δ w ͝൧৯΂Δ w ৸Δ w

    ͭ͘Ζ͙ɹɹɹ ʴ w δϟϯϓ w ᅅు | ࠓ͞Βฉ͚ͳ͍ೣ༷ͷՃ଎౓ | ML Engineer massy | 104
  22. 106

  23. .-Τϯδχϟʔۀ຿಺༰ɾඞਢ৚݅ͳͲ ৄ͘͠͸⾣IUUQTSBCPDBUSFDSVJU w ػցֶशΛ༻͍ͨ࣌ܥྻσʔλͷ෼ྨϞσϧઃܭ w ద੾ͳػցֶशϞσϧ΍πʔϧͷௐࠪ w ద੾ͳσʔληοτͱσʔλදݱํ๏ͷબ୒ w ػցֶशϞσϧͷ࣮ݧͱධՁ

    w νʔϜ΁ͷ࣮ݧ݁ՌϨϙʔτ w ඞཁʹԠͯࣗࣾ͡ͷػցֶश༻ϥΠϒϥϦ֦ு w ཁ݅ʹैͬͯػցֶश༻"1*։ൃ w ػցֶश༻"1*αʔόӡ༻ w ୎ӽͨ͠෼ੳೳྗͱ໰୊ղܾೳྗ w ՄࢹԽͷϥΠϒϥϦʢNBUQMPUMJCͳͲʣΛ༻͍ͯ෼ੳ݁ՌΛ ఻ΘΓ΍͘͢ՄࢹԽ͢Δೳྗ w ݎ࿚ͳ1ZUIPOίʔυͷ࣮૷ೳྗ w ࣮σʔλΛର৅ͱͨ͠ػցֶशϞσϧ࣮૷ͷ࣮຿ܦݧ w (JU)VCΛ༻͍ͨෳ਺ਓ։ൃͷܦݧ w 1ZUIPOͷXFCGSBNFXPSLʢ'MBTLͳͲʣΛ༻͍ͨ"1*࣮૷ͷ ࣮຿ܦݧ w "84Λ༻͍ͨ"1*αʔόͷӡ༻ܦݧ w ίϯϐϡʔλαΠΤϯεɺ਺ֶɺ·ͨ͸ಉ༷෼໺ͷֶ࢜߸ ʢ͔म࢜߸ʣ ඞਢ৚݅ ۀ຿಺༰ 107