Wed Mar 01 2023
AWS SES Events: How We Use Streamdal For Event Monitoring
by
Fritz Stauffacher

AWS SES Events: How We Use Streamdal For Event Monitoring
At Streamdal, we've developed a platform around complex real-time event data. One of the things we needed in the platform was an email service to welcome new customers, password resets, and monitoring alerts. We ended up selecting AWS SES (Simple Email Service) out of convenience since we already host services in AWS.
We found that the service works well, but it's very barebones when it comes to event metrics and observability compared to other email services like Mailchimp and Mailgun. Essentially, there are no granular metrics around individual events out of the box. You must set up a rather complex pipeline that we will dive into later.
To get useful information out of SES, we ended up configuring Streamdal to work with AWS Kinesis Firehose. Not only can it work with SES, but it can work with any Kinesis Firehose.
Conventional AWS SES Example Workflow
The following is the conventional AWS workflow example:
- Create an Amazon Kinesis stream to store the SES events. In the AWS Simple Email Service (SES) console, configure the SNS topic to send SES events to the Kinesis stream.
- Verify that the Amazon Kinesis stream is receiving events from SNS.
- Create an Amazon Kinesis Data Firehose delivery stream that delivers data to an AWS service such as Amazon S3, Amazon Redshift, or Amazon Elasticsearch Service.
- In the Firehose stream, specify the Kinesis stream created earlier as the source.
- Verify that the Firehose stream is delivering SES events to the desired AWS service.
This setup allows you to view SES events in real time using the AWS service you have chosen as the destination for the Firehose stream.
The end result is that you end up running SQL queries against Redshift, which is not very user-friendly or managing an OpenSearch cluster, which requires significant time and resources.
Using Streamdal For AWS SES Event Monitoring
Streamdal's setup is very similar, except you do not point Kinesis Firehose to a costly, complex AWS service. Instead, you create a PUT request to a collection you created in console.streamdal.com. See our docs for the full setup process.
Setting Up Event Alerts From AWS SES
To show off the features you get out of the box with a Streamdal collection let's go through the steps of setting up Slack alerts for new signup 'Welcome Emails'.
- Once events are shipping into a Streamdal collection you get user-friendly full text search and observability and metrics out of the box.
- Inspect messages to view the schema and values.
- Multiple Alert Endpoints Slack, Pagerduty, Email.
- Rich monitoring capabilities based on data values, frequency, and schema changes.
- Streamdal is schema aware which makes creating alerts a breeze.
- Alert your customer service reps of new signups.
Bonus: Easily Replay Event Messages
As your application matures, your sales pipeline and customer onboarding experience will also improve. However, this often requires combing through your database and modifying your services to accommodate old customers. This can be a complex and time-consuming process. With Streamdal, you can easily replay old events into new service topics, exchanges, or HTTP endpoints, making it much simpler to update your services as your application evolves.
Create A Destination And Topic To Send Events To
Replay Old Events Into New Service Topics/Exchanges Or HTTP Endpoints
Configure Replay
Now your new service can easily process events for existing customers.
Streamdal provides a powerful and flexible platform for processing and analyzing real-time event data from various sources, including AWS SES, Kinesis, and SNS. By configuring Streamdal to work with AWS Kinesis Firehose, you can access the full range of features provided by Streamdal, such as comprehensive observability and metrics, multiple alert endpoints, and rich monitoring capabilities. With Streamdal, you can easily manage your event data and make sense of the valuable insights it provides, improving your overall customer experience and enhancing your business operations.
Fritz Stauffacher
DevOps Engineer
Continue Exploring

Thu Jul 27 2023
Data Protection: Challenges and Opportunities
by
Daniel Selans
Explore data protection strategies, key regulations, and the role of automation in safeguarding sensitive information in an ever-evolving digital landscape.

Wed Jul 19 2023
Data Consistency in Distributed Enterprise Applications
by
Daniel Selans
Learn about data consistency in distributed enterprise apps, why it matters, and how to maintain it using validation and real-time data monitoring.