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.6k
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.8k
レシピサービスにおける持続的な プロダクト開発プロセスについて / Sustainable Product Development Process in Cookpad
eisuke
0
3.4k
kuroko2の近況とクックパッドのバッチ周りの概況
eisuke
4
12k
クックパッドの管理アプリケーションの近況報告
eisuke
1
430
Other Decks in Technology
See All in Technology
インシデント対応入門
grimoh
7
5.5k
失敗できる意思決定とソフトウェアとの正しい歩き方_-_変化と向き合う選択肢/ Designing for Reversible Decisions
soudai
PRO
8
1.4k
AWS Bedrock Guardrails / 機密情報の入力・出力をブロックする — Blocking Sensitive Information Input/Output
kazuhitonakayama
2
180
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.1k
AWS CDK の目玉新機能「Mixins」とは / cdk-mixins
gotok365
2
290
Devinを導入したら予想外の人たちに好評だった
tomuro
0
550
What's new in Go 1.26?
ciarana
2
260
もう怖くないバックグラウンド処理 Background Tasks のすべて - Hakodate.swift #1
kantacky
0
230
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
14k
Databricks (と気合い)で頑張るAI Agent 運用
kameitomohiro
0
340
全自動で回せ!Claude Codeマーケットプレイス運用術
yukyu30
3
140
チームメンバー迷わないIaC設計
hayama17
5
3.2k
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
130
What's in a price? How to price your products and services
michaelherold
247
13k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Designing for Performance
lara
611
70k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
110
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
83
The Curse of the Amulet
leimatthew05
1
9.3k
Building the Perfect Custom Keyboard
takai
2
700
The Invisible Side of Design
smashingmag
302
51k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.7k
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プラットフォーム対応
ありがとうございました
参考資料 ‣ クックパッドの課金を支える技術 ‣ 新規アプリ開発を支えるユーザ・決済基盤 ‣ バックエンドエンジニア募集中