Slide 1

Slide 1 text

クックパッドにおける決済基盤 の歴史とこれから Cookpad Tech Kitchen #22 大石英介

Slide 2

Slide 2 text

自己紹介 大石英介 2014年〜 クックパッド入社。 クックパッドの決済基盤やユーザー基 盤の開発・運用を担当。 2019年より ユーザー・決済基盤部 部長。

Slide 3

Slide 3 text

ユーザー・決済基盤部は エンジニアを募集しています

Slide 4

Slide 4 text

ユーザー・決済基盤部 •共通認証基盤、ユーザー 管理基盤、決済基盤の運 用と開発 •ユーザー管理、認証や決 済に関する導入支援

Slide 5

Slide 5 text

ユーザー・決済基盤部 • ʙ 2017-12-31 ٕज़෦ ։ൃج൫άϧʔϓ಺ʹͯ • 2018೥1݄ ʙ ٕज़෦ ܾࡁج൫άϧʔϓ • 2018೥4݄ ʙ ٕज़෦ Ϣʔβʔɾܾࡁج൫άϧʔϓ • 2019೥1݄ ʙ Ϣʔβʔɾܾࡁج൫෦
 Ԋֵ

Slide 6

Slide 6 text

なぜチームとして独立しているのか

Slide 7

Slide 7 text

コンウェイの法則 “システム設計(アーキテクチャ)は、 組織構造を反映させたものになる”

Slide 8

Slide 8 text

逆コンウェイ戦略 “望ましいアーキテクチャを促進するため にチームと組織構造を進化させること”

Slide 9

Slide 9 text

ユーザー・決済基盤部のない世界 ܦཧ ΧελϚʔαϙʔτ αʔϏε։ൃ෦ॺ" αʔϏε։ൃ෦ॺ# αʔϏε։ൃ෦ॺ$ ܾࡁήʔτ΢ΣΠ" ܾࡁήʔτ΢ΣΠ# ܾࡁήʔτ΢ΣΠ$

Slide 10

Slide 10 text

ユーザー・決済基盤部のない世界 •決済に関する実装が各サービスのアプリケーションにバラバラに 存在 •経理は新しいサービスが発生するたびに必要な機能をサービス開 発部門へリクエスト •機能のばらつきによりカスタマーサポートもそれぞれにサービス 専用の対応プランを作る必要がある •決済ゲートウェイの契約が乱立

Slide 11

Slide 11 text

ユーザー・決済基盤部のある世界 ܦཧ ΧελϚʔαϙʔτ αʔϏε։ൃ෦ॺ" αʔϏε։ൃ෦ॺ# αʔϏε։ൃ෦ॺ$ ܾࡁήʔτ΢ΣΠ" ܾࡁήʔτ΢ΣΠ# ܾࡁήʔτ΢ΣΠ$ ܾࡁ
 ج൫νʔϜ

Slide 12

Slide 12 text

ユーザー・決済基盤部のある世界 •決済に関する実装は一箇所のみ •経理は専用の管理画面1つですべてのサービスの処理ができ る •カスタマーサポートも決済ごとの対応プランは集約できる •効率的な契約 •=> サービスが増えても関連のノードは1つ増えるだけ

Slide 13

Slide 13 text

望ましいアーキテクチャを促進させるためのチーム •社内全体への専門知識のハブとなる ‣ 導入・開発の効率化 ‣ 知見の集約 ‣ 部署間の調整・コミュニケーションを円滑に ‣ それらを仕組みとして提供する •マクロな視点でのアーキテクチャ・技術・決済手段などをアップデート できる

Slide 14

Slide 14 text

共通決済基盤 Financier

Slide 15

Slide 15 text

名前の由来 •フランスのお菓子 ‣色・形において金塊に似ているから [2] と も、サン=ドゥニ通りの菓子職人ラヌ が考案し、パリ証券取引所周辺の金融 街から広まったからともいわれる •料理に関係がある決済やお金が想像で きる名前で個人的にも気に入っている

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

共通決済基盤 Financier •Initial commit 2012-07-04 ‣ クックパッド本体サービスから分離された草分け的なサービス (古株) •クックパッドが提供するあらゆるサービスが各種決済の導入ができるようにした、社内向けの独立した基盤サービス ‣ 各種決済サービスとの連携 (クレジットカード、キャリア決済、アプリ内課金、コンビニ決済、送金) ‣ 接続先との差異を吸収し統一的なAPI ‣ 決済情報、履歴の管理 ‣ 決済情報の突合や有効性の確認 ‣ 決済に必要なユーザー情報の管理 ‣ 経理処理における集計機能 ‣ カスタマーサポートが履歴を確認したりキャンセルなどを行える管理画面

Slide 18

Slide 18 text

共通決済基盤 Financier •社内全体への専門知識のハブとなる (再掲) ‣ 導入・開発の効率化 ‣ 知見の集約 ‣ 部署間で発生する業務・調整・コミュニケーションを円滑に ‣ それらを仕組みとして提供しているものが Financier

Slide 19

Slide 19 text

Financierがやらないこと •商品管理 •個別のサービスに依存するような実装

Slide 20

Slide 20 text

Financierのアーキテクチャの変化

Slide 21

Slide 21 text

クックパッドからの分離時代(2012-2013) 'JOBODJFS $PPLQBE 8FCϒϥ΢β

Slide 22

Slide 22 text

新規Webアプリ対応時代(2013-2017) ৽نαʔϏε 'JOBODJFS $PPLQBE 8FCϒϥ΢β

Slide 23

Slide 23 text

アプリ内課金対応時代1(2018-) ৽ن8FCαʔϏε 'JOBODJFS $PPLQBE 8FCϒϥ΢β $PPLQBE"1* 1BOUSZ $PPLQBE
 ϞόΠϧϞόΠϧΞϓϦ

Slide 24

Slide 24 text

アプリ内課金対応時代2(2018-) $VJTJOF"1* ৽ن8FCαʔϏε 'JOBODJFS $PPLQBE 8FCϒϥ΢β ৽نϞόΠϧαʔϏε#"1* ৽نϞόΠϧϞόΠϧΞϓϦ# $VJTJOF4%, $PPLQBE"1* 1BOUSZ $PPLQBE
 ϞόΠϧϞόΠϧΞϓϦ

Slide 25

Slide 25 text

チームとなることでアーキテク チャの進化が早くなっった

Slide 26

Slide 26 text

まとめ •Financier は組織構造や決済ニーズの変化に効率的に対応できるアーキテクチャ ‣ アーキテクチャに合わせた組織構造になっている (逆コンウェイ戦略) ‣ チーム化することで進化が加速した ‣ Financierおよび決済基盤チームが決済における組織のハブとなる役割 •新しい機能や決済はFinancierが対応すれば横にスケールできる ‣ 特にアプリ内課金は実装が複雑でアップデートが激しいので効果が大きい (詳細はこのあとの2人が話します) ‣ もしサービスごとに実装が散らばってたとしたら・・・を想像しながら聞いてみてください •知見の集約、実装・運用コストの削減 ‣ 整合性との戦い、アプリ内課金の複雑さ ‣ 外部APIに対しての知見 etc…

Slide 27

Slide 27 text

これから •ユーザー基盤との連携を強化 (Cuisine) •C2Cプラットフォーム対応

Slide 28

Slide 28 text

ありがとうございました

Slide 29

Slide 29 text

参考資料 ‣ クックパッドの課金を支える技術 ‣ 新規アプリ開発を支えるユーザ・決済基盤 ‣ バックエンドエンジニア募集中