$30 off During Our Annual Pro Sale. View Details »

20191127_financier.pdf

 20191127_financier.pdf

Eisuke Oishi

November 27, 2019
Tweet

More Decks by Eisuke Oishi

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    Ԋֵ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    ج൫νʔϜ

    View Slide

  12. ユーザー・決済基盤部のある世界
    •決済に関する実装は一箇所のみ
    •経理は専用の管理画面1つですべてのサービスの処理ができ

    •カスタマーサポートも決済ごとの対応プランは集約できる
    •効率的な契約
    •=> サービスが増えても関連のノードは1つ増えるだけ

    View Slide

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

    View Slide

  14. 共通決済基盤 Financier

    View Slide

  15. 名前の由来
    •フランスのお菓子
    ‣色・形において金塊に似ているから
    [2]

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

    View Slide

  16. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  23. アプリ内課金対応時代1(2018-)
    ৽ن8FCαʔϏε
    'JOBODJFS
    $PPLQBE
    8FCϒϥ΢β
    $PPLQBE"1*
    1BOUSZ

    $PPLQBE

    ϞόΠϧϞόΠϧΞϓϦ

    View Slide

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

    $PPLQBE

    ϞόΠϧϞόΠϧΞϓϦ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  28. ありがとうございました

    View Slide

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

    View Slide