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
130
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
230
収益を高めるための Stripeダッシュボード活用術 / jp_stripes_online_7
stripehideokamoto
0
290
No-code SaaS and Full Site Editing / wcasia2023
stripehideokamoto
0
230
コア機能開発に集中するための Stripe Checkout活用法 / jp_stripes_deep_dive_202301
stripehideokamoto
0
390
State of Checkout 2022から見た オンライン決済フローの最適化/jp-stripes-miyzaki-202301
stripehideokamoto
0
130
サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント/okta-stripe-202301
stripehideokamoto
0
170
ノーコード・ローコードツールで サブスク運用を効率化する方法 / JP_Stripes_Osaka_202301
stripehideokamoto
0
81
ビジネスユーザを巻込む Stripeダッシュボード活用法 / jp_stripes_deepdive-202212
stripehideokamoto
0
260
サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント/jp_stripes_okayama_vol3
stripehideokamoto
9
5.7k
Other Decks in Technology
See All in Technology
RSNA2024振り返り
nanachi
0
580
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
140
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
210
速くて安いWebサイトを作る
nishiharatsubasa
10
13k
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
110
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
0
100
Culture Deck
optfit
0
420
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.7k
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
740
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
1
220
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
250
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
200
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Building an army of robots
kneath
303
45k
Unsuck your backbone
ammeep
669
57k
Designing for Performance
lara
604
68k
A designer walks into a library…
pauljervisheath
205
24k
For a Future-Friendly Web
brad_frost
176
9.5k
We Have a Design System, Now What?
morganepeng
51
7.4k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
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