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
360
Other Decks in Technology
See All in Technology
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
120
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
530
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
360
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
4
530
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
5
560
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
170
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
Lexical Analysis
shigashiyama
1
150
Platform Engineering for Software Developers and Architects
syntasso
1
510
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Writing Fast Ruby
sferik
627
61k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
KATA
mclloyd
29
14k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
RailsConf 2023
tenderlove
29
900
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Making Projects Easy
brettharned
115
5.9k
Being A Developer After 40
akosma
86
590k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
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プラットフォーム対応
ありがとうございました
参考資料 ‣ クックパッドの課金を支える技術 ‣ 新規アプリ開発を支えるユーザ・決済基盤 ‣ バックエンドエンジニア募集中