Let’s build an Event-Driven SaaS with payment – awsug.nl

The 2nd AWS community meetup at Cupolaxs in Haarlem has been hanged at 25th October. It was a workshop style to make scaffolding Event-Driven SaaS.

Intro

Paul Asjes he is a Developer Advocate in Stripe. He introduced Stripe Checkout and Payment links to make easy to set up payment feature with short demo. Only a few minutes, we could make the product and configure payment with various options. Credit card, Apple Pay, Google pay, whatever. And an awesome things Stripe offers pre-configured UI.

Manasi bhutada She is a Solution Architect in AWS. She introduced Amazon EventBridge fundamentals. She talked about EventBridge Rules, why the EventBridge is appropriate to microservices, filtering the events and more.


With Stripe

Stripe is one of the popular payment platform in the world. They provides a lot of options to implement payment features. server side implementation, less code, and No code. And also Stripe and AWS have a strong integrity to make Event-Driven application. We used an integration feature to connect Stripe and AWS with Amazon EventBridge in the workshop.

Amazon EventBridge Stripe Quick Start

AWS and Stripe offer you an easy way to integration to pass any events of payment from Stripe to AWS. You can configure it with only a few steps in the AWS management console.

https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-saas-furls.html#furls-connection-stripe

You might be faced an error in the above steps if your AWS account was old. The problem comes from fractions of the configuration named ReservedConcurrencyExecution. Some people was 10 but other people maybe 500, 800, 900 etc..

This QuickStart would be configured it to 10. So If your ReservedConcurrencyExecution setting was less than 10. You would be faced an error in the deployment phase of the CloudFormation.

Solution

To solve the problem. You can pick the template from the CloudFormation stack that error has been occurred. Then remove UnreservedConcurrencyExecution setting from the template.

Preconfigured template that is already modified is here. You can also use this template.
https://github.com/hugtechio/sample-transcribe-service/blob/main/webhook/template.yaml

stickers

StepFunctions and EventBridge

To exchange the information is constructed by passing event in the Event-Driven application. EventBridge can be organizer to conduct events. In this workshop, EventBridge receives event from Stripe then pass the event to the StepFunction workflow. Also EventBridge receives event from Amazon S3 that when the object has been created then, pass the event to the StepFunction workflow as wel.

You can use EventBridge rules and configure StepFunctions state machine as a target.

Maybe this workshop architecture diagram makes you easy to understand.

architecture

Workshop

sample-of-workshop
github-sample-transcribe-service

Actually, we had a connection trouble in the venue. So attendees would faced some stressful situation. But a lot of attendees achieved most of all the steps of the workshop content.

Event-Driven based application is one of the choice to reduce the cost and keeping architecture simple. I love a KISS(Keep It Simple Stupid!) idiom. I would like you to try to make EventDriven and Microservice world. And you will feel that making faster to build the architecture that is closer to actual situation by building payment feature.