CEATEC JAPAN 2018に出展!ローソンが目指すデジタル技術の革新によって実現する未来のコンビニ | イベント
ローソンデジタルイノベーション(LDI)の宮田です。今回は、ローソンのオープン・イノベーションセンター(OIC)を中心に取り組んだCEATEC JAPAN 2018出展プロジェクトについて、ご紹...
https://www.wantedly.com/companies/company_3891594/post_articles/157323
こんにちは。LDIの小山です。
現在採用強化月間と言うことで弊社のエンジニアが持ち回りで記事を書いており、今回は私の担当です。アドベントカレンダーみたいでテンション上がりますね。
これからも随時更新されていくと思いますのでそちらも読んでいただけたらと思います。私の担当はCEATEC開発に関してということなので、そちらでのことをメインにお話しします。
私は2018年6月の入社ですが、入社タイミングとCEATECの立ち上がりが丁度良く重なったためかCEATECの主担当となりました。ウォークスルー決済というやつです。
始めに少しCEATECについて補足しておきます。
我々LDIは昨年10月に幕張メッセで行われたCEATEC2018に、ローソンの出展を技術的にサポートする形で参加しました。"未来のコンビニ"の提示を目的として様々な展示を行いましたが、中でも目玉となっていたのがウォークスルー決済です。
キャッシュレス化、レジの無人化を実現する手段として開発したウォークスルー決済。CEATECでは、そのウォークスルー決済で実際にお買い物を体験していただけるように準備しました。体験のステップは以下の通りです。
これだけで決済が完了するというものでした。スキャンの為に各商品にはRFIDタグが貼られています。
別の展示として、そのタグを自動で付与する機械や、商品棚にセンサーを置く事でリアルタイムな在庫管理を行う仕組みなどにも取り組みがありました。気になる方は各種媒体で記事に書いて頂いているので是非そちらもご覧ください。
CEATECでのLDIの担当はウォークスルー決済システムのハード以外、つまりAndroid/iPhone向けのアプリとサーバー側の処理諸々です。一からの新規開発、期間限定的なイベント向けという事もあって、新しいチャレンジをしようという方針の元でサーバーサイドにはAzureを採用しました。メンバーにAWSの知見はあっても、Azureに関しては全員が経験値ゼロからのスタートです。アプリエンジニアもそれぞれ新しい知見を求めて開発をしていましたが、今回はAzureについてのお話です。
Azureに関して触ったことが無くとも単純なWebアプリケーションの実現に必要な基本サービスはAWSとそれほどの差はないというのは(まあそうだよね)という感触かと思います。間違っていませんし、ハロワ程度であればAzureの方が早いかもしれません。ただ公式ドキュメント以外のナリッジに関してはやはりAWSが圧倒的に強く、今回困った箇所の一つです。
一方で、改善サイクルの速さにAzureの熱量を感じました。フォーラムではユーザーからのissueが幾つも上がっており、対応状況が把握出来るようにされています。ついでにアカウントには投票権が付いており、直して欲しいissueに組織票を入れたり出来るわけですね。今回の開発期間の中でも、幾つかこちらに刺さるものがリアルタイムに解決されて使える様になりました。(何故かWebコンソール上で設定を変更できず、CLIを利用して設定する必要のある項目が存在したが、無事コンソールから設定可能になったというものです)
ちなみに、当然というべきなのかAzureにはPowerShell用のモジュールが用意されているため、PowerShell使いであればそちらから作業が可能です。
開発途中で最も詰まった問題の一つに、DBコネクションが足りなくなるというものがありました。普通の開発であれば(あの辺りだろうな)と大体の勘所が働く部分だと思います。
ところが今回は構成からして初めてですし、載せるアプリ側も前例のない新しめのライブラリを使ってるんですね。こうなるともう環境とアプリのどちらに問題があるのか分からないし、ひょっとしたら両方かもしれない。ネットを見てもそもそも同じ構成の例が無い訳です。結局ライブラリと環境を色々変更して切り分けをするしかないのですが、初めて使うっていうのはこういう事だよなぁと感じた部分でした。
開発中は色々ありましたが、4日間のイベント期間中システムに大きな問題もなく決済も一日平均1000トランザクションを超える盛況でした。これはイベント時間を考えると30秒に1回以上の頻度で体験された計算で、事前に想定していた"最速でフル稼働してこのくらいだろう"を超えるびっくりな数字です。
私自身はバックヤードでAzureの画面を見つめていたのであまり表は確認していませんが、ローソンのブースにとんでもない行列が出来ていることは確認しました。
海外の事例を鑑みて、ひょっとすると今回のウォークスルー決済の仕組みに関して " 今更 " 感を感じる方もいるかもしれません。
ただ個人的には実際のローソン店舗で売っている商品をローソンが販売したという点がポイントかと思っています。ローソンがやる事でにわかに現実味を帯びて来る気がしません?
とはいえ、システム外も含めて実店舗の展開までには本当に色々な課題があるなあとは感じました。
イベントは恙なく終了しましたが、正直ここは失敗したなというものあります。
Azureにはリッチなログ分析(AWSでいうCloudWatchLogsとAthenaの様な)がありますが、ログ設計がイマイチだった関係で上手く活用する事が出来ませんでした。クエリにかけられる1つのカラムに事後分析したい情報のほとんどが詰まっていたため、うまい事分離する事が出来なくなってしまったんですね。最後は結局ExportしたログをRで処理しましたが、事前にログ分析まで考えてないとこういう事になるのでお気を付けください。
通してネガティブな印象に与えたかもしれませんが、実際にはそうではありません。
CEATECも慣れたAWS構成を採用していれば障害も少なかった代わりに、新たな知見を得る機会も少なかったでしょう。今回は各エンジニアにとって課題解決と技術推進を兼ねた良いチャレンジになったと感じています。
我々は独特なポジションに位置する会社で、前述したCEATECのようなチャレンジングなプロジェクトを行いつつも、同時にローソンの戦略パートナーとして諸々のシステム化を目論む集団です。私自身、今はローソンの業務寄りのプロジェクトに携わっています。
いきなり胡散臭い話になってしまって恐縮ですが、歳を重ねておっさんになってくると人生の目的というものを考えてしまうんですね。結局のところそれは個人が生きた証として何を残すかという話になり、生物的には子供であり、技術者としては自らの技能を以て次世代にどういった社会を引き継ぐかになるのかなと思っています。
世の中目まぐるしい進歩で進む中、今や社会的なインフラと言っても良いコンビニを変えていくというミッションは刺激的ではないでしょうか。勿論望まない相手に対して変化を届ける事は出来ませんが、ローソンはITを重要視し、徐々に自社開発という形へシフトしようとしています。
土壌はあります。ただ現状エンジニアが足りていません。エンジニアが居るだけ我々の出来ることは増えていきます。チャレンジをしたいエンジニア、未来のインフラ再構築に興味のあるエンジニアの応募をお待ちしています。