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
400
State of Checkout 2022から見た オンライン決済フローの最適化/jp-stripes-miyzaki-202301
stripehideokamoto
0
130
サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント/okta-stripe-202301
stripehideokamoto
0
170
ノーコード・ローコードツールで サブスク運用を効率化する方法 / JP_Stripes_Osaka_202301
stripehideokamoto
0
83
ビジネスユーザを巻込む 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
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
340
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
17
45k
技術スタックだけじゃない、業務ドメイン知識のオンボーディングも同じくらいの量が必要な話
niftycorp
PRO
0
110
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
960
スキルだけでは満たせない、 “組織全体に”なじむオンボーディング/Onboarding that fits “throughout the organization” and cannot be satisfied by skills alone
bitkey
0
190
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
230
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
160
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.7k
OPENLOGI Company Profile for engineer
hr01
1
20k
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
350
エンジニア主導の企画立案を可能にする組織とは?
recruitengineers
PRO
1
230
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
210
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
GitHub's CSS Performance
jonrohan
1030
460k
Facilitating Awesome Meetings
lara
52
6.2k
Embracing the Ebb and Flow
colly
84
4.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Producing Creativity
orderedlist
PRO
344
40k
Raft: Consensus for Rubyists
vanstee
137
6.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
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