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.4k
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.6k
レシピサービスにおける持続的な プロダクト開発プロセスについて / Sustainable Product Development Process in Cookpad
eisuke
0
3.2k
kuroko2の近況とクックパッドのバッチ周りの概況
eisuke
4
11k
クックパッドの管理アプリケーションの近況報告
eisuke
1
390
Other Decks in Technology
See All in Technology
10ヶ月かけてstyled-components v4からv5にアップデートした話
uhyo
5
460
250510 StepFunctionのテスト自動化始めました vol.1
east_takumi
1
150
続・やっぱり余白が大切だった話
kakehashi
PRO
2
260
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
5.5k
テストって楽しい!開発を加速させるテストの魅力 / Testing is Fun! The Fascinating of Testing to Accelerate Development
aiandrox
0
160
OPENLOGI Company Profile for engineer
hr01
1
26k
AIにおけるソフトウェアテスト_ver1.00
fumisuke
1
360
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
150
2025年8月から始まるAWS Lambda INITフェーズ課金/AWS Lambda INIT phase billing changes
quiver
1
660
SnowflakeとDatabricks両方でRAGを構築してみた
kameitomohiro
1
590
Previewでもここまで追える! Azure AI Foundryで始めるLLMトレース
tomodo_ysys
2
430
Azure Maps Visual in PowerBIで分析しよう
nakasho
0
200
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
38
1.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
Become a Pro
speakerdeck
PRO
28
5.3k
RailsConf 2023
tenderlove
30
1.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Being A Developer After 40
akosma
91
590k
Making Projects Easy
brettharned
116
6.2k
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プラットフォーム対応
ありがとうございました
参考資料 ‣ クックパッドの課金を支える技術 ‣ 新規アプリ開発を支えるユーザ・決済基盤 ‣ バックエンドエンジニア募集中