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
AWSでローコードにはじめる サブスクリプション運用の効率化/aws-startup-tech...
Search
Hidetaka Okamoto (Stripe)
November 17, 2022
Technology
0
140
AWSでローコードにはじめる サブスクリプション運用の効率化/aws-startup-tech-meetup-fukuoka-2
Hidetaka Okamoto (Stripe)
November 17, 2022
Tweet
Share
More Decks by Hidetaka Okamoto (Stripe)
See All by Hidetaka Okamoto (Stripe)
Stripeではじめる Revenue Operations / jp_stripes_okinawa_8
stripehideokamoto
0
240
収益を高めるための Stripeダッシュボード活用術 / jp_stripes_online_7
stripehideokamoto
0
320
No-code SaaS and Full Site Editing / wcasia2023
stripehideokamoto
0
230
コア機能開発に集中するための Stripe Checkout活用法 / jp_stripes_deep_dive_202301
stripehideokamoto
0
420
State of Checkout 2022から見た オンライン決済フローの最適化/jp-stripes-miyzaki-202301
stripehideokamoto
0
150
サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント/okta-stripe-202301
stripehideokamoto
0
180
ノーコード・ローコードツールで サブスク運用を効率化する方法 / JP_Stripes_Osaka_202301
stripehideokamoto
0
94
ビジネスユーザを巻込む Stripeダッシュボード活用法 / jp_stripes_deepdive-202212
stripehideokamoto
0
270
サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント/jp_stripes_okayama_vol3
stripehideokamoto
9
5.8k
Other Decks in Technology
See All in Technology
Amazon CloudWatch を使って NW 監視を行うには
o11yfes2023
0
160
React ABC Questions
hirotomoyamada
0
120
От ручной разметки к LLM: как мы создавали облако тегов в Lamoda. Анастасия Ангелова, Data Scientist, Lamoda Tech
lamodatech
0
710
AWSの新機能検証をやる時こそ、Amazon Qでプロンプトエンジニアリングを駆使しよう
duelist2020jp
1
170
いつも初心者向けの記事に助けられているので得意分野では初心者向けの記事を書きます
toru_kubota
2
310
Cursor AgentによるパーソナルAIアシスタント育成入門―業務のプロンプト化・MCPの活用
os1ma
13
4.7k
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming
tomzoh
1
230
SREからゼロイチプロダクト開発へ ー越境する打席の立ち方と期待への応え方ー / Product Engineering Night #8
itkq
2
700
Writing Ruby Scripts with TypeProf
mame
0
110
Recap of Next - Google Cloud で実践する クラウドネイティブ最前線 / The Frontlines of Cloud-Native with Insights from Google Cloud
aoto
PRO
1
100
Dynamic Reteaming And Self Organization
miholovesq
3
480
Classmethod AI Talks(CATs) #21 司会進行スライド(2025.04.17) / classmethod-ai-talks-aka-cats_moderator-slides_vol21_2025-04-17
shinyaa31
0
580
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
9
750
Producing Creativity
orderedlist
PRO
344
40k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
550
Making the Leap to Tech Lead
cromwellryan
133
9.2k
How to Ace a Technical Interview
jacobian
276
23k
Bash Introduction
62gerente
611
210k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
How GitHub (no longer) Works
holman
314
140k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Optimising Largest Contentful Paint
csswizardry
36
3.2k
How to Think Like a Performance Engineer
csswizardry
23
1.5k
Transcript
AWSでローコードにはじめる サブスクリプション運用の効率化 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス!
~ @hidetaka_dev Npv 2022 1 #AWSStartup
今日のトピック • サブスクリプションサービスは、 「契約してから」が本番 • Amazon EventBridge + AWS Step
Functions & AWS Lambdaで ローコードにサブスクリプションの運用WFを構築しよう • 変化に素早く対応するために、 AWSのローコード・Serverlessツールを活用しよう 2 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
岡本 秀高 ( @hidetaka_dev ) • Stripe Developer Advocate (ex-developer
in Digitalcube) • JavaScript / TypeScript developer ◦ AWS Lambda / CDK ◦ Next.js / React ◦ WordPress / Alexa / etc • AWS Samurai 2017 / AWS Community Day APAC 2017 • QiitaでStripeに関する Dev blogを週2/3本で更新中 ◦ https://qiita.com/hideoka moto ◦ 年間120記事ペース 3 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
今日のトピック • サブスクリプションサービスは、 「契約してから」が本番 • Amazon EventBridge + AWS Step
Functions & AWS Lambdaで ローコードにサブスクリプションの運用WFを構築しよう • 変化に素早く対応するために、 AWSのローコード・Serverlessツールを活用しよう 4 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
サブスクリプションは、「契約してからが本番」 • サブスクリプションは、「契約し続けてもらう」必要がある ◦ 使わないサブスクサービスは、解約される ▪ 競合他社への乗り換え: 「もっと安いor便利なサービスにしよう」 ▪ 需要の消失:
「子どもが成長したので、もう使わない」 ◦ 「完全に解約」したいのか、「今だけお休み」したいのか ▪ 長期出張のため、食品の定期注文を解約したい ▪ 今期は見たい番組や作品がないから解約したい 5 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
解約・休会以外にも、サブスクには状態変化が多数ある • サブスクリプション = 長期的な顧客との関係構築 • さまざまなイベントや状態変化が発生する ◦ カードの更新忘れや銀行振込の入金忘れ ◦
上位プランユーザーによるプランのダウングレード ◦ ユーザーのミスによる高額な従量課金請求書の発行 • 「契約や顧客の状態」が変わったことの検知と、 それに対応するフローの自動化が社内の運用コストや顧客体験を改善する 6 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
ただし・・・ • 緊急性の高い問題(二重決済、不正請求対応など)以外は、 コア機能の開発にリソースを優先したい • 休会や解約、顧客・契約情報の更新などは、 頑張れば人力である程度サポートできる • 「重要だけども、緊急性の高くない非コア要件」を どのようにシステム化、効率化していくか?
7 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
Amazon SNSやAWS Chatbotでまずは社内通知から • SNSを利用した社内通知 ◦ Chatbot併用でSlackにも • まずは「何かが起きた」ことを 素早く検知できる仕組みを作る
◦ 顧客が問い合わせて来る前に 調査や対応を済ませたい ◦ 人力でのサポートは継続 ただし初動が早くなる • EventBridgeのルールなどで 要対応イベントかを事前トリアージ ◦ 「オオカミ少年」化を回避する 8 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
AWS Step Functionsで、WFをローコードに • ドラッグ&ドロップで AWS上にワークフローを構築可能 • AWS APIの呼び出しやWF手動実行も GUIから設定・操作できる
• 設定をJSONなどで出力できるので、 「手軽に試して、手堅く運用」が可能 ◦ ローコードにWFを試作 ◦ テスト環境で評価 ◦ CDKやCFNでコード化 ◦ Go Live ! 9 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
ユーザー・契約の「状態」をシステムで把握する • 個々の契約や顧客の状態を人力で把握するのは難しい ◦ システム化・仕組み化して、素早く効率的に変化を検知する ◦ ローコードでWFの試作・評価サイクルを素早く回す • Q:「作ったWF」と「状態変化」をどう紐づけるか? ◦
手動実行(GUI / API / CLI / etc..) ◦ Webhook API ◦ AWSのイベント駆動型サービスを利用する ▪ SQS, SNS, EventBridge 10 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
今日のトピック • サブスクリプションサービスは、 「契約してから」が本番 • Amazon EventBridge + AWS Step
Functions & AWS Lambdaで ローコードにサブスクリプションの運用WFを構築しよう • 変化に素早く対応するために、 AWSのローコード・Serverlessツールを活用しよう 11 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
EventBridgeで、「状態の変化」とWFを紐づける • 「発生したイベント」と 「実行したいWF」の 関係性(ルール)を作る • AWS内のイベントや、 連携SaaSのイベント、 AWS SDKによる手動通知に対応
• StripeやTwilioなどは、 クイックスタートで Webhookエンドポイントを用意 12 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ https://aws.amazon.com/jp/about-aws/whats-new/ 2022/08/amazon-eventbridge-supports-receiving- events-github-stripe-twilio-using-webhooks/
クイックスタート利用の場合 Sourceでstripe.comを指定 detail-typeで Stripeのリソース名を指定 detailで、JSON構造に対応した 条件を書くと、絞り込み 右の例: 「5000円以上の請求書」に 関する全てのイベント 13
AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ EventBridgeでのStripeイベントのフィルター例
Webhook活用例1: フリートライアルのフォローアップ • Stripeの「customer.subscription.trial_will_end」イベントを利用 ◦ 3日前または手動でトライアルを終了させた場合に発火 • Step FunctionsからSESで顧客に追加のフォローアップメール送信 ◦
自動解約の場合、リソースやアカウント削除などの注意喚起 • Pinpointを使えば、LINEやSMSへの追加送信も可能 ◦ ユーザー層によっては、メールよりもLINEやSMSが有効な場合も ◦ LINE Message APIでは、プランアップグレードのCTA誘導なども可能 14 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
Webhook活用例2: 長期利用顧客のアップグレード提案 • customer.subscription.updatedイベントを利用 ◦ サブスクリプションの開始日と現在を比較 ◦ 「12ヶ月以上契約の月額プランユーザー」などでフィルタ • SESやPinpointで、顧客に年額プランなどの長期プランを自動提案
• DynamoDBに累計支払額や契約数などを保存することで、 DynamoDB Stream経由で優良顧客の発見も可能 15 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
Tips: Stripe APIを呼び出すProxy Lambda 16 AWS Startup Tech Meetup 福岡
#2 ~ いくぜ!サーバーレス! ~ https://gist.github.com/hideokamoto-stripe/b1ed354a65f386db8218330252287b7d #AWSStartup
AWSリソースを活用して、サブスクの運用を効率化 • Event Bridge + Step Functionsで、 コードを書かずにワークフローを作ることができる • Event
Bridge -> SNS -> Chatbotで、 社内Slackやメーリスに状態変化を通知するだけでも有用 • Step Functions Workflow Studioを使って、 さまざまな運用効率化施策をローコードで実現させてみよう ◦ 本番稼働させる際は、ぜひCDKやCFNでコード管理を 17 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
今日のトピック • サブスクリプションサービスは、 「契約してから」が本番 • Amazon EventBridge + AWS Step
Functions & AWS Lambdaで ローコードにサブスクリプションの運用WFを構築しよう • 変化に素早く対応するために、 AWSのローコード・Serverlessツールを活用しよう 18 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
「ビジネスのコア機能」じゃないからこそ、ローコード • 開発リソースはコア機能の開発や改善に使いたい • クリティカルではない決済・サブスク周りの施策は 「あればいいね」「できたら便利そう」になりやすい ◦ Workflow Studioなら、 テスト環境で実際に動くものを用意・デモしやすい
◦ 想定外のエラーや障害を起こさないために、 稼働しているDBや既存リソースの設定はなるべく触らない • テスト環境で手早く試して、早く小さく失敗する 19 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
うまく行った改善は、Next SaaSの種 • 自社でニーズのある改善は、他所でもニーズがあるかもしれない • 疎結合なシステム構成を維持することで、 作ったシステムをas a service化する •
SaaS化する際にも、AWSは無限に使い倒そう ◦ AWS Amplify (Cognito, Amplify SDK, Amplify Studio, etc..) ◦ AppSync, API Gateway, Lambda, DynamoDB, ◦ AppRunner, Fargate, ECS, etc 20 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup
Stripe Appsの例: kintoneとStripeで顧客データ連携 21 AWS Startup Tech Meetup 福岡 #2
~ いくぜ!サーバーレス! ~ #AWSStartup
サブスクリプションシステムからDXをはじめよう • 決済系SaaSを活用して、サブスクリプションの組み込みを効率的に ◦ 効率化した分、 「契約し続けてもらうための施策」を決済方面からもトライしよう • Webhookを活用して、「顧客や契約の状態変化」へ システムや社員がスムーズな対応ができる環境を目指そう •
成功した施策や企画を抽象化して、 Stripe Appsなどで新しいas a Service化を目指そう 22 AWS Startup Tech Meetup 福岡 #2 ~ いくぜ!サーバーレス! ~ #AWSStartup