Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
レストランにおける分散システムの構築と改善.pdf
Search
neonankiti
July 08, 2022
Technology
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
レストランにおける分散システムの構築と改善.pdf
neonankiti
July 08, 2022
More Decks by neonankiti
See All by neonankiti
マルチモーダルデータ基盤の課題と観点
neonankiti
1
700
GPTsによるアシスタント業務の改善
neonankiti
3
2.7k
LLM_robustness_and_ops_in_production.pdf
neonankiti
5
2.9k
外食DXにおけるエンジニアリングデザイン
neonankiti
0
530
分散処理システム(IoT)によるトレーサビリティの向上
neonankiti
0
300
Androidにおけるパフォーマンスチューニング実践
neonankiti
8
14k
クライアントサイドから考えるマイクロサービス
neonankiti
0
3.2k
Elastic Team Building
neonankiti
4
9.7k
Other Decks in Technology
See All in Technology
自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境
recruitengineers
PRO
1
230
Deep Data Security 機能解説
oracle4engineer
PRO
2
730
継続的なAIコスト最適化
bgpat
1
260
3つのアプローチで目指す チームを強くするAI駆動開発
thkt
0
140
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
540
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
5
5.3k
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
4
4.1k
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
0
160
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.2k
全人類(ほぼ)AWS Organizations の上でAWSを利用している、その世界を知る話
htan
1
130
今さら理解するウェブフォントver.2026
takanorip
3
470
並行性の問題を防げ!実践トランザクション入門
occhi
0
280
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
7k
Practical Orchestrator
shlominoach
192
12k
Speed Design
sergeychernyshev
33
2.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Everyday Curiosity
cassininazir
0
350
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
310
Navigating Weather and Climate Data
rabernat
0
550
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Producing Creativity
orderedlist
PRO
348
41k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
A Tale of Four Properties
chriscoyier
163
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デバイスのログは必ずクラウドに同期する。