紙一重の積み重ね

35歳のエンジニアがなれる最高の自分を目指して、学んだことをこつこつ情報発信するブログです。

【デブサミ2019レポート】Amazonの文化をハックせよ。AWSをフル活用して無人レジの仕組みを作ってみた~横田deGOプロジェクト~ #devsumi

はじめに

Developers Summit 2019初日のセミナーレポートです。 走り書きの部分もありますので、内容に不備がありましたらご了承ください。

デブサミ2019のテーマ

SHARE YOUR FUN! 新しい技術や課題解決をシェアしよう!

event.shoeisha.jp

以下、セミナーレポートです。

テーマ

Amazonの文化をハックせよ。AWSをフル活用して無人レジの仕組みを作ってみた~横田deGOプロジェクト~

https://lh3.googleusercontent.com/s4DRG1SKfabgb-kCLUu-YzEaAkjqKBqXXtSuOSRTojjyn3gYoe2LQkKhlJmMbDAoVulORp4Z4cMoZbCEE-uhpQFnx5zE1cwVubY4tUqJSCMbVxAKNHfZ5xPA1MG3Lf9q1rposjINxHmnGqZ1PhDNqLUz1aNhW2MrCZieSoP8DNBxz86KNcEmClrCSJWtZcnwAqmu-rzZoejhngVeFg9GL0whOHXx4XyfLhgQeg_CwphI8Dgf55iPAPTXb1T4Rwv8KKfal_FHLjmB2PUlPED7xjhWSEELZLT6bQbLveuu6qWRLC5WQweuEHLMvA0z7zEYSLmI2ILkI4xveJ0vfHTgRvbShVdSM8YSIhSinKSpqt3OfankuoxdoZzFkljZIIIxjGCqdl-ZIkSw3mwVAjfLXAP2dC4VUrySpxLC2XgrDQGD-FrczcLByC_2sdHeUUgl3YcRg5aU9geQBPHQXoJCNdC2wMtJb8ZDjFINv9NW0Ltnmh6SbXdnut8CJEtr4MqKwuzPfqtlBq6lEh1jd-SlH0lSLvpkob3HxStr72V_4e5xT5Ex3ZENjpeYR_PEjsv81RL2s66qbxriNie_ck1ftCSwRkMRYq7j006mUXv7xbm59sCYaLcQ0RYDrXrH5M8aafVLJna0cMwMFkJ9mLrw07XCEw=w958-h539-no

講師

クラスメソッド 代表取締役 横田 聡氏

なんと4児の父とのことです!

デブサミの振り返り

  • 2010年にも登壇してる
    • RIA+Cloud+mobileで広がるFlex
      • 当時のクラスメソッドは6期目
        • 強み;UI開発
        • 弱み:インフラ・保守
        • 口癖:インフラやりません。カフェだしたら負け
      • Developers.ioもなかった
        • 今は60万人ユーザが使ってる
    • 15期目
    • 社員300人
    • 売上120億円
      • 強み:インフラ設計・運用
      • 弱み:業務そのもの
      • 結果:全部やってみよう
    • Developers.ioカフェオープンwwww

https://lh3.googleusercontent.com/TkVxiSVO8eK3sM1a2IfUiJV3J96P2i5E3Uf_zRDbiNQcIKh-fjoxHhzMccF5J5NSLTaNCB10FGotYOrjjlDyz2aDCZnzcpzPI7UIxoqjxIl5jKcT5RXnC6U5lAR3eJ_G5PSKlIr8sD7QJ6C16iWfvniF79sfzyqe4WDBInWN0l4cZH4kaXebA6E3Fi6hVVPtHcZd6J-5sLAHxc3CGdgS3ghefNldhuwEXJffN9NeI8urH1nuK8RkLxbqCJ1dewiCqPZ-XNTzTujVpEBSUK1mhZDjQgU0qOj120Ntd97gBr_q6V_7AsYWJKDDIfcBcA4rhLVt7V_XXT9tab4fMaMcZHqdFU-3NKoRS30Xg08sbVs59fX68jGJWFHeH0Ab-85fKPOmUFKDCTn7BPZzF1-FRjynjYWbGICkuYsWe9cq52qLlVmw06GgZ9E8Pzhqbbq0Vg1F-xk4mYqsWjtBxcpmiMyL8OXkHDeRiuGvbBfTL_XqRaTcrc1O7Hg9bdXWVoigeHg_Li45ZCgs_MZWG0pGKNzGxwIPg5r8emTekZ0xNJRFB-OoE_qjPcUMtR_NZW8s2tMsD3TRAu1apBjIk2vZb5gS_3HxAl46MpBKUcaFN4sva91pwfujyNbB8vN6BGxuOmSbj_pP214mKT-0050DJhlD3g=w958-h539-no

AmazonGO体験

https://lh3.googleusercontent.com/Z-N25-sj9xC1zWgcn35MobYazxSxT366xoeuUQmiymxmKgfX8B1xNiy1MyPs86XO_Gfzjuehn8kRLatfdFRhUGp0MiTNgAFLCOIGU8aMigdd4adoXVszf878YMUldxbvH2jbRUSJnoqmn5nWvMbzDIFqHn20lLKWM_cTIoMFps7jEJnLVvWgWnE1upFe6p_jz3x1f9C_aOMtsPzLjd2mjCGRWqcNd-7KfMaadUddFtrD5jptlDt82wolAYJ_KYWiSzGk-bNtMYdPpOEdvgjh1GsMhf_wBIWpezlDDcpKGjyswaLsh6XF-iVyZoto5eljLyOptGXC7pH9gyZADMyQ5GVE0UbF1lOM9TZXzmDZLOkAzLPztvuCtknMjiICoEXsXo1iF2wusii6JzYh7lY7o-Xin7NJQo2yOJcFessl1VWVia2dFe3ByP9Uc3HL3Ysm3kBqh7ikHEfZ0196GaVUBbnDqAtn2fLf2srpBNVYt0kYLYWryvyABtetKAd88FQ8xG_PabTllqEXhGoARjskNZpjEW1BuSfVVtSRJaA9l9sGSzz8uJCM38KeURPBz1_0ZozlqfMH4WiHLzTq8tcZGpZcpbQrBzlFTTzes9Qy2jBGd5jjmEriiyDOp0j5k-d9TM9oFsHhC1kff5AqbJen74-Evw=w958-h539-no

  • 3回渡米して10回位行った
  • ハードとソフトに興味津々w
    • どうやってるんだろう???
  • ITエンジニアではない人が体験できる最新テクノロジー
    • これはすごいこと!

https://lh3.googleusercontent.com/pHNZjDWlZhXD-KCUnA7lyRPdy-cf7o5lRajySYfCeHwuFD28qHiBuALF4QnOUca_lj37vD355GzDYqPY655Am0jeJKNMncV_EpCpBhelYn-hyC8bdPnIWxulWMBAYObeteIrQV1oDe3MrWV2sefnCAYbe8N4OnQ7oPMvmsxfIKDROqugoEnOiIVr5Bl5A1EhweMuwnUpyFLad3YstE6vVsNWyUn8uVscgrMEXXRDBjV2TOP-BlWiu2fNAUJ_EdChwMLi_1VpxppPZd7UsALV-Srk6rt4jlMSRyApECHTzYSyKwF18gepRvF55CYErJ7by9sLhhKWVJtkNtWdbDXUGAVVTHgLneUnerf2G8K-ytCCi4yKYFEOBduGHfCo_parn7C-TePkoQ6Yy1IaoTCdiw_01rI12Wos5HMJKnkS_F4vzP_nRNYjqaf9hBrIIaUc4fry0WsxFSLTtTRB6b2G5Ieq0NLNXK6eTKmKVYdatm4tz6bOZRrb_i8a73lP-jpdfTA12Hiy060bIbS5jeJe6cikr4wRA9hc38ih3gLi2XKbAlPSh2DRTFD-5pNrDYtjYn68KMKHR-XP_gjZDgzuXc1n1G6g97ILMSLTSZVRPA6MyyVOJ3gRL32EN7XkdWYEVJ3OGTETUQrVQZYVbBj-ns6o7g=w958-h539-no

自分でもやってみよう!

  • AmazonGOに感動した2ヶ月後にリリース日www f:id:yokoyantech:20190218223020p:plain f:id:yokoyantech:20190218223049p:plain
  • プロジェクトを通じて学ぼう
    • AWSのマネージドサービスを積極的に活用
    • どうやってるか、色々妄想してみる
  • 要件定義のインプット情報
    • 妄想動画
      • 目指すべき姿を動画にした
    • 妄想構成図1枚
      • 要件定義風のポンチ絵
        • Cacooで30分くらいで書いた
          • ひどいwww
        • 1つ1つのタスクにエンジニアをAssign
          • AWSマネージドサービスを組み立てる

https://lh3.googleusercontent.com/0Jp9EkcoS58vQx4ln7kRwnJKyQ5QgxPdcWae8DpXAiwgLmpUfYh6pa5ZKTUoqTsYmQDcxgeGDb-K7bJjmuERyfufxziThBAcLCHHzI0zE3sBGYkvBkUmzL37RJe28oo7Si_ZzSAjmzlcSmGxaL0EXSMsRoERA1EtSd-SeHZNrlfb6YGGZy0SuqAvFC3BCqZU_YMYtx_llToJO_fAPx25dG6CWHeboI0lMsqiDwAQ2LcDDgTkGkuY2GFRRJI1H7MP6puDjM6sGrVRSlRtPp2C-qQn8-peVaTPTlLSZ5sjlWioxkozZc0ZfTP6C7Gv3UsZ6n2fhok35hqByNSmML3pIFLhy55IbKJ0j9KGJmuQbD2lBR9DDl4-lPS-4nok-4cw0-XU98wIzeZKNh6pPdoxztEY8h3ROvWRIQIzCfUOihQf9qC1FdodWfJIvTxr9oIbN6Soc0slaVsvcOSS3ldR9x3FjFtykNjx0uf8WvGuqSBw85KLWBekqLmXXOPbXoouulQFOGm9thBHnzRKeNr3bhJhbbj8H6Kvq_GGH-SY2PHkBYTb41d6-Si5hvRBrJDegsqTRPjcCUOR1jf5u6cram7X4Z8mRFyyqO9ogWT_rxnoEcCuuQiygygf3vJf7EDaoNWXfVap6N9YuUea7wFGw565Fw=w958-h539-no

技術検証

  • Rekognition Video
    • ビジネスで使うのは初めて
    • 左の線は入店の判定

https://lh3.googleusercontent.com/nozVOXk0sEWRaOH_EcJaJQK-XAA7YMtd3LGqluIUXwf2VUrivLOV3Tc37kcF2l4xv1g69CnIrdrewrURpeFxGMyF0S3dQ0s-k1yh21fMTKe1WSaTJfEshdUvQNIWmUWCn_GsNDo3ws-obg644GC1xs9FeBt9a5wNIQXSxABwupUmkz90gXV4DK3RX44vo4SC74vDeM0J1WJ5MVUpvtx4mSXrC-KatQnceGzDMuOqx1K4PBcLstseBWsgnMLrArqO7HSsbHxJPaTyz2yJdVTSX6nwXomThmCsyncTlfGRNV_gwKL1w1CYBKodHGD2QXrMFqYtLZwgRqqKCz3WRNjGhQrFgbxXly33I-LnDjLY7hFWgLvHc0hXv6Q7XX2YXP_89dyOdKzzPwmHiLk9njYpw10wWVz1TYtMTsrt5T-w9uyVb8q7tEZLpO09zvQ7gy87DzDD0UMusC3lCni-tsbgtqW610itT50PKW5wQNseIUwgz80O-oIBEAD9TWOLWJVe9lrA63yRC8EjsMnUm1ISTXFhRCHuhtf5ORWNVsbaCcR0nVK2GoEFhb6HQQaMlE9-vEURBNdouy5OoSkfyeT3ZWkNM7bJa1oXqmrivZ53F9DOFoeksVb2mRL9oTyiC1vaa6nweEBr2cGsxhnuMpew3qJ-jA=w958-h539-no

  • SageMager
    • やっぱAIでしょ!
      • やってみたら、「そんなもんか」だった
        • エンジニアあるあるw
  • IoT
  • ToFセンサー
    • 光を飛ばして距離を測る
    • カメラ1台なのに、立体的な映像にできる
      • ぐるぐる回したりできる
      • 3D座標上に光のつぶつぶができるので実現できる

f:id:yokoyantech:20190218223241p:plain

  • 全体のアーキテクチャの仮説 f:id:yokoyantech:20190218223337p:plain
    • それぞれのセンサを独立して動作
      • デカップリング
        • オーケストレーションしない
      • 各々のシステムが時系列でDynamoDBに保存
  • ハードウェア
    • サーバ用意は大変なのでマイコン、重量センサー f:id:yokoyantech:20190218223318p:plain
  • 決済
    • Stripe
  • OpenPose
    • 骨格検知
      • 手伸ばしを把握

https://lh3.googleusercontent.com/C_wPUkzM532s7SWtuuyJb5NpNDR8UYZG-zQgqHiPszdKGCV2I8WdpYgKHQ01vD54J7BSskPc4EbCKbI77bmMv1Xv6JKAbXLFhidHNHzzGLm3NLey_b7aNPaaQwrWe5BFVjWoxi8_deJ0p6-j-L9t2mh6PNcQfltLd9PsxTKKYW2vRyM6GSIf-3SKc0sLz_mAglLB1TLAarGZ4P11NHRpmKyt0FgWsvEOzSQQn3JHFc0N2XGjanz0c_NyCYHmzBg_ATJP4lx4uenTcEW51PN4zZ7fTEvF8Ians8yrRVBdZa-v7ge9RewbuX6bXUQK9TuEAp_I4PtccXrltE7Tt4rZR_AB2Dc7u6ueLNbtZ-pl_eZzDwVo39cB8erTTgc-TtieZwwie7OnicG9DuWXEISl-Ih3vao9egBFiI73qeYlMNln4ovv0q6wvDuowtqJ2TeIRkFAESpTLSn9Gfv5u5olFJZvmDqniFtp6hFMn238FxGPEOEYZwCbbvGq8iHOyh5WmCsUOzihFtQIgaJ_pl0RmlTH8AeK455GEWydzCzxc-OtAA6Z4klDMKGbnDvW1Q_CiDEjSu6qcKCpWKgCH_vp2F1s--9Q4sVNfQ_gYNO97N5JO80r86n1C5y_SrDfx_QjaeQPm05vWCvE01xrwVRjLx3Iqg=w958-h539-no

途中経過

https://lh3.googleusercontent.com/5BRW32g0xbXw-n8dawinyhsDjygB9PXl-LrPFgCTyRxAZRCRdjhkZJMKCGXW9Lu9_zYYeFNOrwFcgUfUcPSjrCngxUVh_J3eSRRwrB1pLiGwX_rL5BWAeNC6LKXKtXCiy6PFFG3WhOk-qK0gar1M1Gwj7laQKRNhBXOb3Q3HnuGdd1YA90L3iA1wUqeXkkglFQDUHYzwI1XgRkuPqlbYlXsGFhd5itgbdKea0E3TVUVshUHmOFLXhhgyXK6Dlyaz08whJ1GVAeMJQFy-BgBqfYqzklw3HJ6XYHUNbnd69fyrUSbAQ9c86rpCK0DpXps51cBh4Ks13me0Eg-zX6zu4Jp3q-dWgW2iSuzdOOOIvLT3o6aBUeEhfzGdv9i1O-CH8ld5OmaMl72N6D0gysIi-Cby-y82_JVqXP4nK6iWUlcuPMeAaMEvGYyS-DS_t88ZB1t-E0mbj1nbKkIT1tjftNeH4bv7rjP4c-F2juJ8p7mtf3bkcp8SNIbUXweK0aVU5zfELZYxgrCZPWBFQLOMqiHaCydaD3rUH0WyYedMJ1_e_owuxO_p7Odx4YRQAiL3rXgD1spS5nQqcfzm99BPs5aPL_5yl1S-zoqw5ilF5S8mnxkbSl3TlxzJaqE7vZ4Vpc4TiitAaZ4I6WiazNE3Ylj6xg=w958-h539-no

  • エンジニアとしてベターだと思った選択肢が、最悪のユーザー体験だった
  • ユーザー体験動画
    • 2割完成、8割ハリボテ

そして完成へ

f:id:yokoyantech:20190218223548p:plain

  • 初めてすべてが繋がったのは、発表日の前日www
    • Cloud側に時系列で全てのデータを集約して、おそらくこの人が操作しただろう、と推定してプッシュ通知する
      • Transactionの整合性よりも、体験のスムーズさが大事

f:id:yokoyantech:20190218223616p:plain

  • 音声にも対応
    • 半日で対応できた
      • 全てCloud側にデータが有るので、それをLambdaでつなげるだけ
        • 今日牛乳ありますか?
          • あります
            • みたいなことができた
              • POSレジとは違う体験
  • 日経MJ掲載
    • 機動力の良さ日本でも
      • エンジニアが機動力出しても、お客様にない
        • もどかしい
          • イテレーション回そう!

https://lh3.googleusercontent.com/QCSRD4G5fakYWp6y2KLxyNa4cCfcBdb7VXBuGl0MVSoTYTZgt2WiKpKXnmYsQb0Gnze9djP9mtjRIXHHYUY17EmSi4nXklltBlP7Aj_jPWGSE48k69MofuYOFuG2M8PMcL5CflI47KKtoAb2mDOG7WacGdDI-ekDZfChgEM-vxkrV_AOT9GNsEoGC3Ji2tuOnRO4bK2ZRMsCSMBSeZMVaZrmMnpD4cGTx6wVX92wFx5gvE6ZjlEK7GcMGrB-7H7bB2E7x6PEnmhw4Bfj6Hq3hY_Hlf88xtWuGBh1PXCNByIOt4Tb4ZYCHP2SLv-1N7nt-oeWjX4ENouXaks6lrkm9gyetsCyz9FfRneVo34uPUu3hub0NjHJ2FyrRAwdIcYIyMg49tjNqjaQdAGif5sZxgmxQQvM65UqM95Q1ba_pQyZNlURf0TifGi0kknx9q9EUtSUQaRRAYVhajrrqM6sfojEu-CFUJmjPuWpo4DQCMCBaExdvWo4-7eT9-7KCWqN1yNHDhXvYZ2M1cLQ6iQe8TdSq-hqbe3Yqz5i8JXzGTX7nZ7S_WHL5PyZN9wwUnbxEEtTdsPE6WbUWo1qTs7uRdyV8MbG2MxQnPciVrcB1Qeug7FPXj3LxTzTqV6GsOSivxRY_YIjcyY3QPNOcc6N4-t4Ag=w958-h539-no

  • 課題
    • いたずら耐性など f:id:yokoyantech:20190218223742p:plain

イテレーション2

  • 有志8人
    • 全員入れ替え
  • StepFunctionsによる状態管理
    • 強力
      • サーバサイドのロジック軽くなった
  • 機械学習
    • 6商品の学習
      • カロリーメイト、のどあめ、お茶、スニッカーズ、など
    • 30分で1000円くらい
      • ml.p3.8xlarge 1台
    • 現場でやるなら、売り場単位のModel作成になるかも
  • エッジコンピューティング
    • Jetson
  • 社内的に生産体制を整える
  • 完成!(シーズン2) f:id:yokoyantech:20190218223821p:plain
    • push通知に10秒かかっていたのが1秒に短縮
    • 課題
      • 手組による壊れやすさ
        • デモしてほしい!
          • 運ぶ
            • 壊れるw
      • ネットワークの接続性
        • お披露目会
          • WiFi800人
            • めっちゃ干渉する
      • より精度の高い推定

シーズン3始動www

  • スケジュール
    • 2ヶ月後w
  • 技術検証
    • 動体検知
      • 腕と向きの検知 f:id:yokoyantech:20190218223917p:plain
        • 機械学習ではない
          • 信号検知
            • 新しければいいというものでもない
  • 実店舗で検証 f:id:yokoyantech:20190218223948p:plain
    • 現場でやる!
    • 2/1にカフェオープンさせる!
    • ちゃんと設計しようとしたら負け
      • 雑でもいいから、まずは体験を優先!!!
      • 設計するのはスケールする時!

考察

  • 今後の世の中はエンジニアの総力戦
  • 多数の実験と失敗を重ねる
  • 事業会社のIT化は進んだ
    • IT会社が事業会社になってもいい

本セッションのまとめ

  • 机上で終わらせない
  • 失敗してもいい
    • 社運をかけない
    • 兼務とかで全然いい

f:id:yokoyantech:20190218224042p:plain

まとめ

今回このクラスメソッドさんのセッションを聞くためにデブサミに参加しました。非常に刺激を受けたセッションでした。Amazon GO の感動からわずか2ヶ月で同じ仕組みを作ってしまう行動力と技術力の高さに感心しました。また、Developers.ioカフェがオープンしていたことを知らなかったため、一度体験しに行ってみたいと思います。

AWS のサービスを組み合わせれば、Amazon GO と同等の仕組みが短期間で作れるという体験談は、日本の小売企業にとって非常に勇気づけられる内容だと思います。要件定義のインプット情報は、ポンチ絵と実現したい顧客体験の動画のみという製品作りも非常に勉強になりました。私も自分のプロダクトを作る際の参考にさせていただきたいと思います。

事業会社の IT 化が進むという流れがありますが、一方で IT 企業が事業会社していくという逆の流れは非常に面白いと感じました。 AWS をはじめとするクラウドプラットフォームを上手に使うことで、事業会社もIT企業も垣根がなくなっていくかもしれませんね。

面白かったー!