Upgrade to Pro — share decks privately, control downloads, hide ads and more …

課金基盤開発エンジニアについて

freee
August 24, 2023

 課金基盤開発エンジニアについて

freeeの課金基盤開発エンジニアのカジュアル面談資料です。

スライド内の参考リンク
・10分でわかるfreee: https://speakerdeck.com/freee/10fen-dewakarufreee-enziniaxiang-kehui-she-shuo-ming-zi-liao

freee

August 24, 2023
Tweet

More Decks by freee

Other Decks in Programming

Transcript

  1. 5 アカウント基盤 ◦ 認証認可基盤 ◦ 課金基盤 ▪ 契約管理 ▪ 料金計算・請求・課金

    ◦ 共通Admin基盤 freeeユーザー freeeアカウント管理 課⾦基盤チームの担当領域 アカウント基盤 freeeアカウント管理
  2. 7 ユーザー向け ◦ プラン登録・変更・停止・更新 ◦ 契約内容の確認 ◦ 請求履歴の確認 ◦ 領収書の発行など

    freee 管理者向け ◦ 事業所の有効なプランの確認 ◦ 事業所の課金履歴の確認 ◦ 任意のプランの有効化 / 無効化 ◦ 返金 課金基盤の担当機能
  3. 8 プロジェクト紹介①  ~ 新課金基盤の開発 課題1:新プロダクト立ち上げ時に課金処理を都度実装する必要がある 課題2:プロダクトから別プロダクトの契約情報の取得が困難 • 課金関連情報と処理を集約したプロダクトを新規で立ち上げる • 契約履歴・請求履歴をfreeeアカウント管理に集約する

    会計
 プロダクト 
 課金Gem 
 移行前
 その他
 プロダクト 
 課金Gem 
 外部サービス 
 会計
 プロダクト 
 移行後
 契約プラン 
 割引
 契約プラン 
 その他
 プロダクト 
 課金
 プロダクト 
 契約プラン 
 割引
 請求履歴
 参照 & 書き込み 
 参照 & 書き込み 
 外部サービス 

  4. 9 プロジェクト紹介② ~ キャッシュ機構の導入 課題: プロダクトから課金プロダクトへのリクエストが処理しきれない • プロダクトから課金プロダクトへ課金情報を取得するリクエストをキャッシュする • プロダクトから課金プロダクトへのリクエスト

    (rps)を1/10程度に削減できた 課金基盤DB 
 プロダクト 
 移行前
 参照 & 書き込み 
 api server 
 課金
 プロダクト 
 課金基盤DB 
 プロダクト 
 移行前
 api server 
 課金
 プロダクト 
 課金基盤Redis 
 参照 & 書き込み 
 参照
 書き込み

  5. 12 1. プロダクト開発と基盤開発の両方ができる ◦ ユーザーが直接触れるアカウント管理のプロダクトを持っているため、フロントエンドを 含めたプロダクト開発も経験できる ◦ 基盤となるライブラリやサービスの開発で開発者全体の生産性に寄与できる 2. 決済に関する専門性が持てる

    ◦ クレジットカード決済や外部サービス決済の仕様を理解して実装できる ◦ SaaS特有の継続課金やライセンス管理に関する知見が持てる 3. ビジネスに大きなインパクトを与えられる案件が多い ◦ プロダクトのプラン改定や新プロダクトへの有料プラン作成などビジネスへの影響度が 大きい 課金基盤の魅力
  6. 13 1. 外部サービスへの依存度が高い ◦ 外部サービス障害の影響を受ける 2. APIの仕様を理解しにくい ◦ 開発者が仕様を理解しづらい 3.

    ユーザー向けのUXがまだ未熟 ◦ 契約に関する問い合わせが多数 4. ビジネス要件を加味した設計 ◦ ユーザーが理解しやすく、 開発者が改訂しやすいプランが作れるデータモデルが必要 課金基盤の直近のプロダクト課題 freee 
 プロダクト 
 課金基盤
 プロダクト 
 外部
 サービス

  7. 14 1. 外部サービスへの依存度が高い ◦ 外部サービスへのリクエストを一部非同期化する ◦ 外部で持つデータを一部内部で管理する 2. APIの仕様を理解しにくい ◦

    サービス内部のリクエストではキャッシュしたライセンス情報を利用する ◦ OpenAPIドキュメントを整備する 3. ユーザー向けのUXがまだ未熟 ◦ プラン変更画面のUIをさらにわかりやすく、使いやすくする ◦ 新たな決済方法を追加する 課金基盤 課題に対する取り組み