場という壁を超えてきた、インターネットの過去と未来 | DevLounge.jp Session A-4レポート | Wantedly, Inc.
エンジニアリング界をリードする著名人が「いま話を聞きたい」開発者を直接指名し、日頃なかなか聞けない開発トピックについて語り尽くすオンライントークセッション「DevLounge.jp」。 Session ...
https://www.wantedly.com/companies/wantedly/post_articles/331236
エンジニアリング界をリードする著名人が「いま話を聞きたい」開発者を直接指名し、日頃なかなか聞けない開発トピックについて語り尽くすオンライントークセッション「DevLounge.jp」。
Session A-3では、米国でのキャリアを経て現在、「モノづくり産業のポテンシャルを解放する」というミッションに挑むキャディ株式会社の最高技術責任者、小橋昭文氏が登壇。セッションのパートナーに選んだのは、ゲーム開発者から転身し、現在は「ロジスティクス・エコシステムの創造というミッション」を掲げて、物流向けのシステム開発を推進する株式会社モノフルのテックリード、渡部慎也氏。
製造と物流という互いに距離の近いビジネスに携わる両者のトークは、まずデジタル世界とリアル世界をどのようにしてつなぐのか、という話題からスタート。そこにある課題や解決のヒントへと話が広がっていきました。その一部をダイジェストでお送りします。
スタンフォード大学大学院にて電子工学を専攻。在学中に世界最大の軍事企業のロッキード・マーティン米国本社で4年以上勤務する。衛生の大量画像データ処理システムを構築し、JAXAやNASAも巻き込んでの共同開発に参画。その後、アップル米国本社にてiPhone、iPad、Apple Watchの電池の開発や、AirPodsの組み込み製品開発をリード。2017年末に、キャディ株式会社を共同創業した。
2012年に株式会社ディー・エヌ・エーに入社。アバターチームのリードエンジニアを経て、2014年に技術コンサルタントとして国内・海外のパートナーとゲームを開発。2017年に株式会社IDOMで中古車サブスクリプションサービスの技術責任者を務める。その後、KDDIコマースフォワード株式会社(現:auコマース&ライフ株式会社)にてECプラットフォームの開発を経験。2018年に株式会社モノフルに入社した。
小橋:渡部さんは物流という領域で活躍していらっしゃって、私は製造業の領域でアナログとデジタルの橋渡しのようなことをしている。そういうところでなにか共通点があるのではないかと感じています。
アナログというと語弊があるかもしれませんが、物流というのはリアルなモノ、物理がまず前提にある世界だと思います。そうしたモノを扱ううえで技術者として向き合っている課題などはありますか?
渡部:オンラインとオフライン、ソフトウェアとハードウェアの関係性だと思うのですが、それで言うと僕はもともとずっとゲーム畑でやっていまして、その後はいろいろな所を転々として、いまは物流に関わる仕事をしています。
ゲームを扱っていた頃はソフトウェアをリリースして、それで遊んでくれるユーザーさんを盛り上げていくのがメインだったんですが、現在はハードウェアをお持ちの方々と一緒に仕事をしていることになります。そもそも両者は、特性がまったく異なるというのはよく感じるところです。
いまの仕事では技術に特化してなにかを提供するというより、お客さんをちゃんと見て、方向性が合っているかどうかを確認しながら物事を進めていかなければならない、そこが難しいところかなと思いますね。
小橋:現在はどのような事業のどんな技術に挑戦されているんですか。
渡部:株式会社モノフルは、物流に携わる方々に向けてソリューションを提供している会社です。物流といっても幅が広く、メーカーさんが作った倉庫内の在庫を管理するためのシステムもあれば、そのモノを別の倉庫に移すための配送に関するシステムもあります。点々とバラバラに存在しているモノをいかにカバーしていくかを常に考えていて、そこが難しいところでもありますね。
小橋:なるほど。弊社、キャディ株式会社では金属を中心とした加工品を作っているんです。この加工品は特注品で、全部オーダーメイドなので一品一品違うんですよ。それを最適な加工会社にご協力いただいて製作しています。製品の品質を担保するために、拠点を設けて検査も行っています。すると、なにがいつ入ったか、それがどのトラックに乗ってどこに行っているかを、ちゃんとまず見える化することが課題になる。
ところが、物理のモノを扱っていると、やはりモノがどこにあるかを管理するのは意外に難しいと感じます。サーバのログならリンクを送ればいいんですが、モノはリンクを送れないので(笑)。
渡部:確かに、インターネットでのデータのやりとりであれば、仮にデータが欠損してもリトライできますし、なんならコピーして送れば元データは無事という話になりますからね(笑)。
しかし、特注品は扱いが難しそうですね。仮に途中でなくなってしまっても代用が効かないですよね。実際にカバーするとしたら、もう一度作り直して発送していただく形になるんですか?
小橋:本当にモノを失くしてしまったらそれしかないんですが、基本的にはそれが起こらないようにすることですね。あらゆるリスクを管理することが重要になります。例えば、定期的に事実をデータとして蓄積していくために通過点を設けて、その通過点を通っていないとどんどんリスクが上がっていく、ということをリアルタイムで知れたらいいなと思っています。それは日々感じるところですね。
渡部:リスク管理の話だと、物流を24時間365日止まらないようにする仕組み作りをいま進めています。この場合は仮にシステムが止まっても、代替としてなにがしかの方法で物流が回ればいい。その際、見える化はもちろん大事なんですが、そもそもシステムが止まってはならない、モノを失ってはならないとなると、かなり難易度が上がりますね。
小橋:24時間365日稼働させるために、取り組んでいる施策などはありますか?
渡部:システムに対しては特段新しいことを導入しているわけではないですが、正しくパブリッククラウドを冗長化する、負荷に対する対策を考える、定期的にシステムをチェックしてリファイン(改良)していくことを着実にやることになると思います。
あとはまだやり切れていないんですが、そもそもインターネットが止まってしまったときにどうするか、同時に物流も止めてしまうわけにはいかない、とは考えていますね。例えば関東のネットが止まってしまって、僕らメンバーも作業ができなくなったら、それでも物流を動かすにはどうするかは、いまちょうど議論しているところです。DR(Disaster Recovery:災害復旧)と言われているもので、これは大きな課題です。
小橋:確かに、インターネットが止まっても人は動けますからね。
渡部:そうなんですよ。大事なのはシステムを動かすことではなくて、もともとのサービス、つまり物流や製造を止めないことです。それに対して、僕らソフトウェアやオンラインに携わる者たちがどのように対応できるかが大事なのかなと思います。
小橋:私も最近、似たようなことを考えます。工場は電気が通っていて、人がいればモノを作れる。作れるんですが、システムにトラブルが起きて設計図が取り出せませんとか指示書が取って来れませんとか、そういうことが起きると指示がないから動けなくなってしまう。
最近は5GやIoTといったバズワードがありますが、でも実は当たり前ですが、インターネットは落ちる可能性があるよね、という(笑)。その可能性を、事業としてどこまで許容するかを考えなくてはならないのかもしれませんね。それで、金属加工品を作っている我々の領域のなかでも、特に現場の管理システムはオンプレ(自社運用)が多いんです。
渡部:ああ、なるほど。
小橋:なぜなら、インターネット回線をそもそも信頼していないから。ファイルサーバも全部ローカルにあるんです。もちろん、オンプレにはバックアップが必要といった制約がありますが、その地域が万一災害に遭ったとしても、結局工場も動かなくなって稼働が一緒に落ちるのであれば、逆にそれは許容できるという考え方もある。
いまクラウドネイティブという状態に向かっているなかで、今後リアルを扱うところでは、特にソフトウェアの領域でどう技術を進化させる必要があるのかは、ぼんやりと考えることが多いです。
渡部:それこそ、ゲームなどはオンプレの自前サーバから、いまはもう大体パブリッククラウドに移行しています。一方で工場や倉庫ではまだまだオンプレが存在していますね。
よく考えてみると、それはそれでいい面もある。メンテナンスが楽ですし、電源が点いているかどうかもすぐにわかります。動かなかったら再起動もできる。なので僕らはそこのハイブリッドを攻めていく必要があるのかなと思います。それこそオンラインとオフラインの融合をしていく必要があるんでしょうね。
小橋:そもそも製造業は、世間的には古きよき産業と捉えられているかもしれませんが、意外と技術的には最先端をいっている部分もあると思うんです。例えば金属の塊に穴を開けるときに、手動の加工機もありますが、わりと最近はNC(数値)制御、コンピュータ制御の機械が普及してきています。
この加工機はアセンブラのような言語で動きます。Gコードというもので、Gに数字がくっついていて、それぞれが特殊なコマンドになっているんです。X軸で何ミリ動かす、といったことができるようになっていて、コンピュータで制御します。従来はハンドルをくるくる回して機械を動かしていたのを、いまはコマンドを打っていくというふうに変わっているわけです。
インターネットの話とはまた別ですが、ソフトウェアを使っていることに関しては似た部分があるし、現場のテクノロジーに対する感度は高いなと思っています。だからこそ、「PCってたまにバグるよね」とか、「指示したことしか絶対やってくれないよね」とか、我々開発者と似た思考を持つ人も多い。ソフトウェアとの向き合い方、リテラシーはすごく高いんです。
渡部:ちなみにGコードは、テキストエディタでプログラム化するんですか? それとも実際に機械に入力するんでしょうか。
小橋:基本は機械にパンチングします。ただ、たとえばお絵描きをして、この線をなぞってほしいとコマンドをPCで打つと、それをGコードに変換してくれるようなソフトウェアはたくさんあります。徐々に機械も進化していて、きれいにUI化されているんです。それでも現場でなにか起きたとか、ちょっと基準とズレてしまったから修正したいときには、Gコードを扱う方の腕の見せ所になります。
渡部:それはいいですね。みんなでやることで集合知になっていきますし、ちゃんとロギングされていれば、なにが起きたのか後から遡れてコピーもできますよね。
小橋:それはすごく大きいですね。とくにコピーできる点は、このNC制御にとってすごく重要です。なぜなら同じものをもう一度注文されたときに、同じプログラムを流用できるからです。ちょっとしたアレンジもできます。ソフトウェアのモジュール化まではいかないけれども、コピペができるのですごく生産性が上がります。
小橋:ところで最近は、モバイルやエッジコンピューティングもよく話題になっています。エッジコンピューティングは、解釈としてはわりとオンプレに近いところがあるなと思っているんです。必要とする現場に常に情報を持っておく、という観点で見ればですが。
先日、記事で知ったんですが、アメリカのある飲食店を経営する会社が、実は店内のレジや注文、伝票などを管理するためのシステムを、ローカルのKubernetesのクラスタで走らせているらしいんです。intelのNUCという小さいPCを3台でクラスタにして、各店舗に置いて使っているとか。おかげでインターネットが切れたとしても、全部それで対応できると。それは面白いなと思うし、「エッジ」みたいですよね。
渡部:エッジですね。へぇ~、すごいな。
小橋:そういうことがどんどん製造業などの領域でも応用できると面白いと思いつつ、設計者というか開発者としては、最後に分散データをどうするんだろうと(笑)。
渡部:最後にまとめなきゃならない(笑)。メリット・デメリットはありますけど、システム機器が近くにあれば速さも安定稼働も見込めますよね。インターネットはどうしても時差が発生しますし、タイミングによってはかなり時間がかかることもあるので。
実はいま、私がやっていることの中に受付システムというものがあるんです。倉庫に来るスタッフさんの受付をするシステムで、同時にたくさんのスタッフさんが来るので、その都度通信するのは大変じゃないか、と課題になっています。そこでそれをバッファリングするか、エッジでなんとかする仕組みが必要なのではないか、といまちょうど考えているところです。ある程度バッファリングして、どこかで情報を渡す。ただ、それも最後のまとめが大変ですが(笑)。
小橋:それは複数の拠点や倉庫などの状況を、全部クラウドに集約していくんですか。
渡部:そういうものもあります。倉庫で働くスタッフさんをまとめて管理できる、というソリューションですね。現場では、受付タブレットを置いて操作をしていただくんですけど、それが1日100人や200人、同時に朝や夜のタイミングで来たり帰ったりするので、どうやって対応するかを考えています。
小橋:障害への対処だと、守ることも大切ですが、いかに攻めの速度を上げるかというアプローチもあると思うんです。仮に障害が起きても、対応が早ければ問題ないという考え方もある。バグの追跡が速くできて、対応もすぐにできるようにしておく、といったことです。
それと最近は、分散トレースがサーバ側で進んでいますね。クラウドネイティブでは、CI/CDを入れるのは当たり前という流れがあって、そこに分散トレースも入ってきている。これも、障害が起きたときに原因を追跡するスピードが上がるように初期投資をしていくやり方だと思うんです。
私たちもここ1年くらいで分散トレースを相当しっかりと埋め込んだ結果、なにかあってもログをひたすら辿ることはなくなりつつあります。大体、クリックで辿れるようになってきていますね。
渡部:なるほど。ちょっと話は違いますが、前にお客さんがデータを消してしまったことがあったのを思い出しました。「あるデータがなぜか消えています」という問い合わせが来たんです。ログを見ると、確かに消すリクエストが来ている。いろいろと調べた結果、どうやら本当に消すボタンを押したようだと。
それからだいぶ経って、最近、デザイナーから「削除ボタンがすごくいい位置にあって、間違えて押してしまうかもしれないので、位置を変えましょう」という提案があって……「それかもしれない!」と判明しました(笑)。
小橋:ボタンを押されたら、システムはそのとおりに実行しますからね(笑)。
渡部:トレーシングでユーザーの動きを追うのも大事だし、誤操作を想定して、ちゃんとUXの観点で対処していくことも必要なんですよね。エンジニアとしての考えだけではなく、全体のプロダクトとして見ることがすごく重要だなと感じました。
小橋:製造業で使うソフトウェアの管理画面も、限られた面積のなかにどれだけ情報を詰め込むかが勝負になりやすい(笑)。でもユーザー視点での使いやすさは、重要ですよね。「気をつけてください」という注意喚起も必要だけど、気をつけなくてもミスが起きない仕組みを作っていく、そういうところにも上手く技術投資と基盤投資ができるといいですね。
当日のアーカイブはYouTubeでも配信中。イベントレポートではお届けしきれなかった話が盛りだくさん。気になった方はチェックしてみてください。