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のマネージドサービスと SaaSの良い関係 - Stripeを使った決済システムは、どこ...
Search
Hidetaka Okamoto (Stripe)
October 08, 2022
Technology
800
0
Share
AWSのマネージドサービスと SaaSの良い関係 - Stripeを使った決済システムは、どこまでAWSでリッチにできるか? / jawsdays-2022
JAWS Days 2022での登壇資料です。
セッション情報:
https://jawsdays2022.jaws-ug.jp/sessions/C19/
Hidetaka Okamoto (Stripe)
October 08, 2022
More Decks by Hidetaka Okamoto (Stripe)
See All by Hidetaka Okamoto (Stripe)
Stripeではじめる Revenue Operations / jp_stripes_okinawa_8
stripehideokamoto
0
320
収益を高めるための Stripeダッシュボード活用術 / jp_stripes_online_7
stripehideokamoto
0
400
No-code SaaS and Full Site Editing / wcasia2023
stripehideokamoto
0
280
コア機能開発に集中するための Stripe Checkout活用法 / jp_stripes_deep_dive_202301
stripehideokamoto
0
540
State of Checkout 2022から見た オンライン決済フローの最適化/jp-stripes-miyzaki-202301
stripehideokamoto
0
220
サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント/okta-stripe-202301
stripehideokamoto
0
210
ノーコード・ローコードツールで サブスク運用を効率化する方法 / JP_Stripes_Osaka_202301
stripehideokamoto
0
160
ビジネスユーザを巻込む Stripeダッシュボード活用法 / jp_stripes_deepdive-202212
stripehideokamoto
0
350
AWSでローコードにはじめる サブスクリプション運用の効率化/aws-startup-tech-meetup-fukuoka-2
stripehideokamoto
0
180
Other Decks in Technology
See All in Technology
Swift Sequence の便利 API 再発見
treastrain
1
250
10サービス以上のメール到達率改善を地道に継続的に進めている話 / Continue to improve email delivery rates across multiple services
yamaguchitk333
4
430
AIの揺らぎに“コシ”を与える階層化品質設計
ickx
0
270
"うちにはまだ早い"は本当? ─ 小さく始めるPlatform Engineering入門
harukasakihara
5
460
OWASP APTSを眺めてみた
su3158
0
130
freeeで運用しているAIQAについて
qatonchan
0
490
「QA=テスト」「シフトレフト=スクラムイベントの参加者の一員」の呪縛を解く。アジャイルな開発を止めないために、10Xで挑んだ「右側のしわ寄せ」解消記 #scrumniigata
nihonbuson
PRO
5
990
みんなの考えた最強のデータ基盤アーキテクチャ'26前期〜前夜祭〜ルーキーズ_資料_遠藤な
endonanana
0
230
Building Production-Ready Agents Microsoft Agent Framework
_mertmetin
0
160
AI対話分析の夢と、汚いデータの現実 Looker / Dataplex / Dataform で実現する品質ファーストな基盤設計
waiwai2111
0
350
「強制アップデート」か「チームの自律」か?エンタープライズが辿り着いたプラットフォームのハイブリッド運用/cloudnative-kaigi-hybrid-platform-operations
mhrtech
0
160
多角的な視点から見たAGI
terisuke
0
130
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
690
Balancing Empowerment & Direction
lara
6
1.1k
Practical Orchestrator
shlominoach
191
11k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
110
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
560
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
790
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
350
Technical Leadership for Architectural Decision Making
baasie
3
360
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
300
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
70
39k
Transcript
AWSのマネージドサービスと SaaSの良い関係 - Stripeを使った決済システムは、どこまでAWSでリッチにできるか? JAWS Days 2022 - Satellites @hidetaka_dev
Oct 2022 1
今日のトピック • FaaS + AWS Managed Serviceで ノーコード・ローコードに機能(Function)を実装できる • マネージド型サービスを使うことで、
「うまく動かす」から「うまく運用する」にシフト • 「決済OPS」「請求OPS」「検索OPS」など、 「運用を見据えた設計・開発」で、更なる効率化や価値提供を(X-OPS) 2 JAWS Days 2022 - Satellites #jawsdays2022
岡本 秀高 ( @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 JAWS Days 2022 - Satellites #jawsdays2022
今日のトピック • SaaSの接合点: 「API」と「イベント」 • AWSでSaaSをつなぐ・ブーストする ◦ 決済手段の多様化に対応する ◦ レコメンドや分析を行う
◦ ローコードにバックエンドを構築する • 決済システムからはじめるDX 4 JAWS Days 2022 - Satellites #jawsdays2022
今日のトピック • SaaSの接合点: 「API」と「イベント」 • AWSでSaaSをつなぐ・ブーストする ◦ 決済手段の多様化に対応する ◦ レコメンドや分析を行う
◦ ローコードにバックエンドを構築する • 決済システムからはじめるDX 5 JAWS Days 2022 - Satellites #jawsdays2022
SaaSの接合点: APIとイベント • SaaSとシステムを連携させるには、API かイベントを利用する ◦ API: SaaSのAPIを呼び出し、必要なデータを取りに行く ◦ イベント:
Webhook APIを用意し、SaaSで起きたイベントを受信する • システムが必要とした時に、SaaSと連携したい -> APIを呼び出す • SaaS内で起きた出来事に、システムが連動したい -> イベントを受信する 6 JAWS Days 2022 - Satellites #jawsdays2022
APIキーやOAuthのクレデン シャルを、安全に保存できる システム・アプリはSecrets ManagerのAPIからデータを取 得するだけ 開発者のPCやデプロイ環境・リ ポジトリなどに秘密情報が散ら ばらない 7 JAWS
Days 2022 - Satellites AWSでSaaSのAPIと連携する: Secrets Manager
サーバーレスなイベントバス AWS / パートナーまたはAPIか ら直接イベントを送信する イベントを受けると、 フィルターやルールに応じて AWSリソースやAPIを実行 Shopify /
Auth0など、 さまざまなSaaSと 簡単に連携できる 8 JAWS Days 2022 - Satellites AWSでSaaSのイベントと連携する: EventBridge
決済はその場で 完了しないこともある • 銀行振込 • コンビニ • 3DSなどの追加認証 決済ごとに 手続き・処理を増やすより、
決済が完了したイベント を 待って発送やCRM連携を実施 9 JAWS Days 2022 - Satellites イベント駆動のメリット: オンライン決済の場合
AWSでSaaSのAPI / イベントと連携する • システムが必要とした時に、SaaSと連携したい -> APIを呼び出す ◦ Secrets Manager
(or SSM Parameter Store)で 安全にAPIキーやトークン・クレデンシャルを管理しよう • SaaS内で起きた出来事に、システムが連動したい -> イベントを受信する ◦ 決済手段など、手続きやインターフェイスが多様化するケース向き ◦ EventBridgeでサービス間の関係性を集約管理 ◦ CDKやterraformなどでコード管理できると更によい 10 JAWS Days 2022 - Satellites #jawsdays2022
今日のトピック • SaaSの接合点: 「API」と「イベント」 • AWSでSaaSをつなぐ・ブーストする ◦ 決済手段の多様化に対応する ◦ レコメンドや分析を行う
◦ ローコードにバックエンドを構築する • 決済システムからはじめるDX 11 JAWS Days 2022 - Satellites #jawsdays2022
決済はその場で 完了しないこともある • 銀行振込 • コンビニ • 3DSなどの追加認証 決済ごとに 手続き・処理を増やすより、
決済が完了したイベント を 待って発送やCRM連携を実施 様々な決済手段・フローに対応する 口座への 入金 決済処理 システム Amazon EventBridge +Step Functions 12 JAWS Days 2022 - Satellites Stripe外の 決済手段 銀行振込 カード payment_intent.succeeded payment_intent.succeeded payment_intent.succeeded AWS Step Functions Amazon DynamoDB Amazon SES メール送信 注文・在庫DB 更新 カスタムWF
処理が非同期なので、 状態の変化をモニタリングする AppSyncやAPI GWで WebSocketを使った状態監視 バックエンドからも Mutationで更新リクエスト Step FunctionsでWFを組めば エラーの特定やリトライも
比較的簡単に実装可能 AppSync(GraphQL)で状態管理 AppSync (Mutation) 13 JAWS Days 2022 - Satellites User Order AWS Lambda AppSync (Mutation) AppSync (Subscription) Order Status Amazon DynamoDB AWS Step Functions Amazon SES
StripeなどのSaaSにある データをAWSで分析・活用 ・イベント毎にEventBridgeで データを受信する ・データ量が多い場合、 Redshiftでデータを受ける クロスセルのレコメンド 売上データの分析 在庫推移の予測 LTV向上のためのCRM施策
etc… 決済データを活用して、分析やレコメンドを行う JAWS Days 2022 - Satellites 14 Sigma Amazon Personalize Amazon Forecast Amazon S3 Amazon EventBridge (+ Step Functions) Data Pipeline Amazon Redshift Platform
Amplify SDKを使うと、 イベントトラッキングも可能 Pinpoint / Kinesis / Personalize + カスタムのエンドポイント
・決済完了ページでCV計測 ・商品の閲覧・クリック計測 ・SaaS機能の利用率計測 分析・レコメンドなど、 利用したい用途に応じて プロバイダーを選択しよう Amplify SDKでフロントエンドからも分析データを送信 JAWS Days 2022 - Satellites 15 Analytics.record({ eventType: "itemOrdered", userId: 'cus_xxx', properties: { itemId: 'prod_xxx', eventValue: '1' } }, "AmazonPersonalize");
Step Functionsで ワークフローをローコード実装 WaitとChoiseを使って 手動作業が入った場合の待機も エラー発生時に 返金やメール通知を入れると よりユーザーフレンドリー State Machineの状態を
見たいケースでは、 Amplifyなどで開発が必要 SaaSのバックエンドを、ローコードに開発する 16 JAWS Days 2022 - Satellites
EventBridge クイックスタート Stripe Webhookの署名検証など EventBridgeに連携するAPIを CFNで立ち上げ可能 StripeのWebhookイベント名で ルール・フィルターを作成 コスト削減のため、 使わないイベントはStripe側で
送信を停止する。 17 JAWS Days 2022 - Satellites StripeとAWSを連携させる場合のTips
今日のトピック • SaaSの接合点: 「API」と「イベント」 • AWSでSaaSをつなぐ・ブーストする ◦ 決済手段の多様化に対応する ◦ レコメンドや分析を行う
◦ ローコードにバックエンドを構築する • 決済システムからはじめるDX 18 JAWS Days 2022 - Satellites #jawsdays2022
決済システムからはじめるDX • 「守りの決済」と「攻めの決済」 ◦ 守りの決済: 顧客が正しく・ストレスなく決済できる環境づくり ▪ システムの安定稼働 ▪ 金額や取引の正確性
▪ 不正利用の予防・対応 ◦ 攻めの決済: 顧客がよりお得に、便利にサービスを利用できる仕組み ▪ 契約期間や累計額に応じた優待や提案 ▪ 従量課金や休会など、柔軟な契約体系の立案 ▪ 決済データを元にしたレコメンドや在庫予測 19 JAWS Days 2022 - Satellites #jawsdays2022
決済システムからはじめるDX • マネージドサービスで守りを固め、 FaaS・SaaSを使いこなして攻めの運用(X-OPS)を目指す • EventBridgeやStep Functions・CDKなど、 素早く守りを固めるためのツールがAWSには豊富 • 「Stripe
+ AWS => 決済OPS」のように、 「FaaS・SaaS + AWS」で巨人の肩を乗りこなそう 20 JAWS Days 2022 - Satellites #jawsdays2022