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
出前館を支えるJavaとKotlin
Search
株式会社出前館
March 27, 2025
Technology
590
0
Share
出前館を支えるJavaとKotlin
出前館 x ウェルスナビ Tech Talk発表資料
株式会社出前館
March 27, 2025
More Decks by 株式会社出前館
See All by 株式会社出前館
複雑にからみあう複数のシステムを要する出前館QAの実情、展望
demaecan
0
160
QA業務を変える(!?)AIを併用した不具合分析の実践
demaecan
0
170
出前館アプリの品質を支えるリリーストレインとその実践
demaecan
0
220
出前館アプリ進化論 アーキテクチャと組織のリアルな変⾰の舞台裏
demaecan
0
610
Flutterにしてよかった?出前館アプリを2年運用して気づいたことを全部話します
demaecan
1
1.1k
Boxを“使われる場”にする統制と自動化の仕組み
demaecan
1
420
生成AI導入における「短期ROIを超えた」共存戦略
demaecan
0
150
Okta Identity Governanceで実現する最小権限の原則
demaecan
1
470
incident_commander_demaecan__1_.pdf
demaecan
0
390
Other Decks in Technology
See All in Technology
Sociotechnical Architecture Reviews: Understanding Teams, not just Artefacts
ewolff
1
140
AI와 협업하는 조직으로의 여정
arawn
0
600
QAエンジニアはどうやって プロダクト議論の場に入れるのか?
moritamasami
2
410
雑談は、センサーだった
bitkey
PRO
2
200
自動テストだけで リリース判断できるチームへ - 鍵はテストの量ではなくリリース判断基準の再設計にあった / Redesigning Release Criteria for Lightweight Releases
ewa
7
3.5k
VespaのParent Childを用いたフィードパフォーマンスの改善
taking
0
270
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
2.5k
生成AIが変える SaaS の競争原理と弁護士ドットコムのプロダクト戦略
bengo4com
1
3.5k
Vision Banana: Image Generators are Generalist Vision Learners
kzykmyzw
0
270
生成AIはソフトウェア開発の革命か、ソフトウェア工学の宿題再提出なのか -ソフトウェア品質特性の追加提案-
kyonmm
PRO
2
850
Digital Independence: Why, When and How
wannesrams
0
290
毎日の作業を Claude Code 経由にしたら、 ノウハウがコードになった
kossykinto
1
990
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Designing for Performance
lara
611
70k
BBQ
matthewcrist
89
10k
Into the Great Unknown - MozCon
thekraken
41
2.4k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
220
A designer walks into a library…
pauljervisheath
211
24k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
130
ラッコキーワード サービス紹介資料
rakko
1
3.2M
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Transcript
出前館を支えるJavaとKotlin 出前館 x ウェルスナビ Tech Talk 2025-03-27 株式会社出前館 加藤成晃
1. 自己紹介 2. 出前館のシステムについて 3. JavaとKotlinの活用 2 目次 出前館 x
ウェルスナビ Tech Talk
• 名前: 加藤成晃 (Kato Naruaki) • GitHub: ykyki • 経歴:
4年前まで数学基礎論をやっていた修士 • 出前館歴: 2024年8月に入社。半年ちょっと。開発と運用やってます • Java歴: 新卒研修で触り始めてから4年 • Kotlin歴: 業務で本格に書き始めてから1ヶ月 3 自己紹介 出前館 x ウェルスナビ Tech Talk
4 出前館について 出前館 x ウェルスナビ Tech Talk https://corporate.demae-can.co.jp/business/demaecan.html クイックコマースと呼ばれる領域 ここのシステムの話をします↓
• トラフィックが大きい(2025年第1四半期: オーダー数 1489万件、アクティブユーザー数 521万人)*1 • 遅延なく情報を連携させる必要がある(→アラート鳴ったらすぐ対応) • 複数の対向システムがあり、規模や品質が多種多様である •
高いSLAが求められる(去年のシステム障害時にはネットニュースになってしまった…) 5 システムの特徴・特性 出前館 x ウェルスナビ Tech Talk *1: 2025年8月期第1四半期決算説明会資料
6 システムの構成要素 出前館 x ウェルスナビ Tech Talk AWS Verda オンプレ
ECS / Kubernetes Oracle / MySQL Java Kotlin Kafka 言語 各種基盤 プラットフォーム 自分のチームで使っている 主要要素をピックアップ ← ここの話
• 複数のマイクロサービスで構成されている • 出前館のバックエンドの多くはJavaで書かれている • 去年開始されたクイックマートのバックエンドの多くはKotlinで書かれている • コアドメイン、HTTP通信、gRPC通信、メッセージ送受信、 DB接続などの処理を行っている 7
JavaとKotlin @ 出前館 出前館 x ウェルスナビ Tech Talk
• 経緯: 出前館サービス開始が2000年であり、古いJava資産が一部継承されている • 制約: Kafkaを活用しており、安定したKafkaクライアントが必要。Javaが第一候補(他だとGoとか.NETとか?) • Kotlinはモダンな言語で、かつそれら資産を流用できる 8 どうしてJavaとKotlin?
出前館 x ウェルスナビ Tech Talk
• 出前館とクイックマートのシステムはJavaとKotlinによって支えられています • JavaとKotlinを活用することで、システムの要件の実現に努めています • 新しい領域の開発では、Kotlinを積極的に使っています! 9 まとめ 出前館 x
ウェルスナビ Tech Talk