Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
レストランにおける分散システムの構築と改善.pdf
Search
neonankiti
July 08, 2022
Technology
0
170
レストランにおける分散システムの構築と改善.pdf
neonankiti
July 08, 2022
Tweet
Share
More Decks by neonankiti
See All by neonankiti
マルチモーダルデータ基盤の課題と観点
neonankiti
1
290
GPTsによるアシスタント業務の改善
neonankiti
3
2k
LLM_robustness_and_ops_in_production.pdf
neonankiti
5
2.5k
外食DXにおけるエンジニアリングデザイン
neonankiti
0
420
分散処理システム(IoT)によるトレーサビリティの向上
neonankiti
0
190
Androidにおけるパフォーマンスチューニング実践
neonankiti
8
12k
クライアントサイドから考えるマイクロサービス
neonankiti
0
3.1k
Elastic Team Building
neonankiti
4
7.9k
Other Decks in Technology
See All in Technology
AIエージェント入門
minorun365
PRO
33
20k
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
9
4.2k
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
210
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.9k
MIMEと文字コードの闇
hirachan
2
1.5k
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
170
エンジニアのキャリアパスと、 その中で自分が大切にしていること
noteinc
3
340
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
380
手を動かしてレベルアップしよう!
maruto
0
260
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
360
AIエージェント開発のノウハウと課題
pharma_x_tech
9
4.9k
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
9
2k
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
Faster Mobile Websites
deanohume
306
31k
Raft: Consensus for Rubyists
vanstee
137
6.8k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
What's in a price? How to price your products and services
michaelherold
244
12k
Designing for humans not robots
tammielis
250
25k
Producing Creativity
orderedlist
PRO
344
40k
Git: the NoSQL Database
bkeepers
PRO
428
65k
GraphQLの誤解/rethinking-graphql
sonatard
69
10k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Visualization
eitanlees
146
15k
A designer walks into a library…
pauljervisheath
205
24k
Transcript
レストランにおける分散システムの構築と改善 株式会社フードテックキャピタル CTO 南里勇気
2 自己紹介 南里勇気|取締役兼CTO 慶應義塾大学経済学部卒。在学中から株式会社MEDICAでシステム開発、大手 調剤薬局チェーンと共同研究で論文発表。2015年株式会社FiNCに入社して Androidチームマネージャーとしてアプリ改善、GooglePlayベストオブ2018「自己改 善部門」大賞受賞。同年米国シリコンバレーでFiNC Technologies USオフィスを立 上げ。2019年から中国でハードウェアを開発、テックリードとしてプロダクトをローン
チ。2020年6月Bison Holdingsを創業。
3 会社紹介 外食産業でのDXを促進し、テクノロジーを駆使してこの業界を盛 り上げるべく会社を設立致しました。 2022年現在、日本が誇るべき「食」は100年に一度の危機に立た されています。 衣食住の一角をなす「なくてはならない産業」でありながら、DX化 に遅れ、さらにコロナ禍による多大な被害は止まるところを知りま せん。
私たちは、外食産業にテクノロジーを提供する先駆者として、新し い価値と食の未来を創出していきます。DXの促進が、日本の食 文化を大きく発展させることに繋がり「食の未来」が明るいものに 変わっていくことを確信しています。 Mission テクノロジーで 外食を持続可能に 新しい価値を創造し、 日本から世界へ
4 レストランにおける分散システムの構築と改善 本日のテーマ
5 分散システムパターンの勘所を掴む 1. 登場人物の把握 ◦ ユースケース(ワークフロー)を理解する 2. システムによる代替可能性を探る ◦ 誰をどの機械で代替するのか?を考える
3. システム代替によるワークフローの変化と改善を繰り返す ◦ システム同士のコミュニケーション設計 ◦ システム境界のトレーサビリティ向上 ◦ 継続的な改善
6 レストランを取り巻く環境 前提
7 レストランの多種多様なシステム 同じ機能でも ①通信プロトコル ②データ構造 ③インターフェースが レガシーかつ大きく異なる
8 レストランでは多くの制約が存在する。 • 場所に余裕がない(特に物価が高い都心など) • ネットワーク環境が悪い • 汚れやすい • 雑音が多い
• 忙しい → 使いやすい&トレースしやすいハードウェアシステム群の構築が必要 レストランの制約を理解する
9 サービス紹介 delico (デリコ) は、複数のデリバリー/テイクアウトプラットフォームサービスの オーダーを一元管理するサービスです。 一枚のタブレットで受注、印字し、売上の管理やメニューの更新などができ、
飲食店のデリバリーにおける、生産性向上と収益増加の両方を実現させることができます。
10 ドメインを理解し、重要な課題を網羅する レストランスタッフのワークフローを洗い出す
11 自社システムで解決できる範囲を特定する 基本的にはリーチできるターゲットの範囲内 システムで解決できる範囲を特定する
12 1. 注文に気づくこと → 音声による通知&サーマルプリンター 2. 注文内容を把握し調理できること →サーマルプリンター 重要な課題の発見と対応するハードウェア
13 delicoの初期のシステムフロー 店舗によって最適な方法を選べる状態に。
14 Pros/Cons delico運用上のLAN方式とBLE方式の比較 ※通信方式ではなく運用上の比較
15 ソフトウェアはナマモノ。 システム化による影響を評価し、改善を行っていく。 評価と改善には、定量化と仮説が必須である ソフトウェアの継続的な改善
16 【サーマルプリンターの役割】 • 注文に気づかせること • 調理する内容を把握させること 【当時の課題】 • プリントするべき注文(プリントジョブ)をタブレット側が判断(BLE) ◦
予約注文に気づきたいタイミングは、「予約が入った時点」と「調理が必要な時点」だ が、ロジックはアプリ側が持っておりアプリ申請が必要、浸透も難しい。 • BLEのエラーによりプリンターが印刷されないことがある ◦ ログの仕組みがなく、発生ベースでの確認になっていたため影響範囲が不明。(定量化 できていない) • (LAN配線の設置コスト: エンジニア以外の設置が難しかった(約0.5-1時間/店舗)) 過去のシステムフローにおける課題をたてる
17 プリントジョブの管理を考える プリントジョブはエッジ側ではなく、バックエンド側で管理する • プリントするべき注文がDB上に残りトレーサビリティが向上する ◦ BLEのエラーログも監視ツールに送る • プリントするべき注文のロジックが申請なしにデプロイ出来る •
実行したプリントジョブは端末から完了通知を送り消しこむ。
18 今後は1つの店舗で複数のプリンターを利用する可能性がある • 居酒屋ではドリンクとフードを別々のプリンタに出すことがある。 ◦ 商品毎のプリンター出し分けロジックをアプリ側に置くのは地獄。 • BLEのみの場合、複数台をタブレットから遠距離におけない。 ◦ 物理的制約が強い場所はLAN配線によるオプションも提供できる。
未来のビジネスユースケースを想定する
19 delicoの現在のシステムフロー Before) 注文情報からプリントジョブを抽出し、印刷指示を実施 After) プリントジョブをそのまま印刷指示へ。ジョブも削除。
20 トレーサビリティの向上 • 問題発生時に即座に検知/判断出来た。 • 影響範囲が定量的に把握出来た。(CSコミュニケーション) バックエンドのみでプリントジョブを生成できた • 気づいて欲しい注文(キャンセル、エラーなど)をバックエンド側で組める。 複数プリンターへの対応コストの削減
• 商品毎のプリンター振り分けを低コストで実現できる汎用的基盤が出来た システム改善によるインパクトを振り返る
21 まとめ 1. ユースケースを把握し、システム化するべき箇所を特定する。 2. 分散システムでは、運用コストを考えた設計にする。 3. IoTデバイスのログは必ずクラウドに同期する。