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
20191127_financier.pdf
Search
Eisuke Oishi
November 27, 2019
Technology
3
4.3k
20191127_financier.pdf
Eisuke Oishi
November 27, 2019
Tweet
Share
More Decks by Eisuke Oishi
See All by Eisuke Oishi
マイクロサービス宣言から8年 振り返りとこれから / Eight Years After the Microservices Declaration A Look Back and A Look Ahead
eisuke
3
1.5k
レシピサービスにおける持続的な プロダクト開発プロセスについて / Sustainable Product Development Process in Cookpad
eisuke
0
3.1k
kuroko2の近況とクックパッドのバッチ周りの概況
eisuke
4
11k
クックパッドの管理アプリケーションの近況報告
eisuke
1
370
Other Decks in Technology
See All in Technology
非機能品質を作り込むための実践アーキテクチャ
knih
3
730
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
180
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
300
Wantedly での Datadog 活用事例
bgpat
1
410
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
160
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
180
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
120
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
370
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
2
250
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
520
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
33
1.5k
We Have a Design System, Now What?
morganepeng
51
7.3k
Designing Experiences People Love
moore
138
23k
Speed Design
sergeychernyshev
25
670
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Optimising Largest Contentful Paint
csswizardry
33
3k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Transcript
クックパッドにおける決済基盤 の歴史とこれから Cookpad Tech Kitchen #22 大石英介
自己紹介 大石英介 2014年〜 クックパッド入社。 クックパッドの決済基盤やユーザー基 盤の開発・運用を担当。 2019年より ユーザー・決済基盤部 部長。
ユーザー・決済基盤部は エンジニアを募集しています
ユーザー・決済基盤部 •共通認証基盤、ユーザー 管理基盤、決済基盤の運 用と開発 •ユーザー管理、認証や決 済に関する導入支援
ユーザー・決済基盤部 • ʙ 2017-12-31 ٕज़෦ ։ൃج൫άϧʔϓʹͯ • 20181݄ ʙ ٕज़෦
ܾࡁج൫άϧʔϓ • 20184݄ ʙ ٕज़෦ Ϣʔβʔɾܾࡁج൫άϧʔϓ • 20191݄ ʙ Ϣʔβʔɾܾࡁج൫෦ Ԋֵ
なぜチームとして独立しているのか
コンウェイの法則 “システム設計(アーキテクチャ)は、 組織構造を反映させたものになる”
逆コンウェイ戦略 “望ましいアーキテクチャを促進するため にチームと組織構造を進化させること”
ユーザー・決済基盤部のない世界 ܦཧ ΧελϚʔαϙʔτ αʔϏε։ൃ෦ॺ" αʔϏε։ൃ෦ॺ# αʔϏε։ൃ෦ॺ$ ܾࡁήʔτΣΠ" ܾࡁήʔτΣΠ# ܾࡁήʔτΣΠ$
ユーザー・決済基盤部のない世界 •決済に関する実装が各サービスのアプリケーションにバラバラに 存在 •経理は新しいサービスが発生するたびに必要な機能をサービス開 発部門へリクエスト •機能のばらつきによりカスタマーサポートもそれぞれにサービス 専用の対応プランを作る必要がある •決済ゲートウェイの契約が乱立
ユーザー・決済基盤部のある世界 ܦཧ ΧελϚʔαϙʔτ αʔϏε։ൃ෦ॺ" αʔϏε։ൃ෦ॺ# αʔϏε։ൃ෦ॺ$ ܾࡁήʔτΣΠ" ܾࡁήʔτΣΠ# ܾࡁήʔτΣΠ$ ܾࡁ
ج൫νʔϜ
ユーザー・決済基盤部のある世界 •決済に関する実装は一箇所のみ •経理は専用の管理画面1つですべてのサービスの処理ができ る •カスタマーサポートも決済ごとの対応プランは集約できる •効率的な契約 •=> サービスが増えても関連のノードは1つ増えるだけ
望ましいアーキテクチャを促進させるためのチーム •社内全体への専門知識のハブとなる ‣ 導入・開発の効率化 ‣ 知見の集約 ‣ 部署間の調整・コミュニケーションを円滑に ‣ それらを仕組みとして提供する
•マクロな視点でのアーキテクチャ・技術・決済手段などをアップデート できる
共通決済基盤 Financier
名前の由来 •フランスのお菓子 ‣色・形において金塊に似ているから [2] と も、サン=ドゥニ通りの菓子職人ラヌ が考案し、パリ証券取引所周辺の金融 街から広まったからともいわれる •料理に関係がある決済やお金が想像で きる名前で個人的にも気に入っている
None
共通決済基盤 Financier •Initial commit 2012-07-04 ‣ クックパッド本体サービスから分離された草分け的なサービス (古株) •クックパッドが提供するあらゆるサービスが各種決済の導入ができるようにした、社内向けの独立した基盤サービス ‣
各種決済サービスとの連携 (クレジットカード、キャリア決済、アプリ内課金、コンビニ決済、送金) ‣ 接続先との差異を吸収し統一的なAPI ‣ 決済情報、履歴の管理 ‣ 決済情報の突合や有効性の確認 ‣ 決済に必要なユーザー情報の管理 ‣ 経理処理における集計機能 ‣ カスタマーサポートが履歴を確認したりキャンセルなどを行える管理画面
共通決済基盤 Financier •社内全体への専門知識のハブとなる (再掲) ‣ 導入・開発の効率化 ‣ 知見の集約 ‣ 部署間で発生する業務・調整・コミュニケーションを円滑に
‣ それらを仕組みとして提供しているものが Financier
Financierがやらないこと •商品管理 •個別のサービスに依存するような実装
Financierのアーキテクチャの変化
クックパッドからの分離時代(2012-2013) 'JOBODJFS $PPLQBE 8FCϒϥβ
新規Webアプリ対応時代(2013-2017) ৽نαʔϏε 'JOBODJFS $PPLQBE 8FCϒϥβ
アプリ内課金対応時代1(2018-) ৽ن8FCαʔϏε 'JOBODJFS $PPLQBE 8FCϒϥβ $PPLQBE"1* 1BOUSZ $PPLQBE ϞόΠϧϞόΠϧΞϓϦ
アプリ内課金対応時代2(2018-) $VJTJOF"1* ৽ن8FCαʔϏε 'JOBODJFS $PPLQBE 8FCϒϥβ ৽نϞόΠϧαʔϏε#"1* ৽نϞόΠϧϞόΠϧΞϓϦ# $VJTJOF4%, $PPLQBE"1*
1BOUSZ $PPLQBE ϞόΠϧϞόΠϧΞϓϦ
チームとなることでアーキテク チャの進化が早くなっった
まとめ •Financier は組織構造や決済ニーズの変化に効率的に対応できるアーキテクチャ ‣ アーキテクチャに合わせた組織構造になっている (逆コンウェイ戦略) ‣ チーム化することで進化が加速した ‣ Financierおよび決済基盤チームが決済における組織のハブとなる役割
•新しい機能や決済はFinancierが対応すれば横にスケールできる ‣ 特にアプリ内課金は実装が複雑でアップデートが激しいので効果が大きい (詳細はこのあとの2人が話します) ‣ もしサービスごとに実装が散らばってたとしたら・・・を想像しながら聞いてみてください •知見の集約、実装・運用コストの削減 ‣ 整合性との戦い、アプリ内課金の複雑さ ‣ 外部APIに対しての知見 etc…
これから •ユーザー基盤との連携を強化 (Cuisine) •C2Cプラットフォーム対応
ありがとうございました
参考資料 ‣ クックパッドの課金を支える技術 ‣ 新規アプリ開発を支えるユーザ・決済基盤 ‣ バックエンドエンジニア募集中