Project Overview
I was responsible for the design and deployment of a large-scale bulk email sending system using AWS services such as SES (Simple Email Service), ECS Fargate, SQS (Simple Queue Service), Glue, Redshift, and S3. The system enabled website clients to upload CSV files containing email data, which were processed and stored in AWS Redshift. A Glue job would retrieve the data, create personalized email content using templates stored in S3, and initiate the bulk email-sending process through ECS Fargate and SQS, leveraging AWS SES for high-volume email delivery.
Technologies and Services Used
Amazon SES (Simple Email Service): Used for sending bulk emails in batches.
Amazon ECS Fargate: Serverless container orchestration to process email sending.
Amazon SQS (Simple Queue Service): For handling and processing batches of email data in a distributed manner.
AWS Glue: ETL job for data processing, creating email content, and preparing email templates.
Amazon Redshift: For storing uploaded customer email data from CSV files.
Amazon S3: For storing uploaded CSV files and email templates used in email generation.
AWS Lambda: Triggered ECS Fargate tasks and managed the lifecycle of SQS queues for batch email processing.
Key Responsibilities:
Architected the Bulk Email System: Designed and deployed a scalable architecture to manage large-scale email campaigns efficiently using AWS services.
CSV File Upload and Data Processing: Integrated client-side CSV upload functionality that allowed website users to upload CSV files. These files were stored in Amazon S3 and processed to upload the data into AWS Redshift.
AWS Glue Job for Email Generation: Developed and managed AWS Glue jobs to retrieve email data from Redshift, process it, and create personalized email content using predefined templates stored in S3.
Email Batch Processing: Configured ECS Fargate to be triggered by AWS Lambda, which retrieved batches of email data from SQS, and sent emails in parallel batches using Amazon SES.
SQS for Queuing Email Batches: Utilized SQS to queue and process bulk email data in batches, ensuring a smooth and organized flow of emails without overwhelming the SES limits.
Serverless Processing: Leveraged AWS Lambda and ECS Fargate to achieve a serverless architecture that minimized infrastructure management while ensuring high scalability.
Monitoring and Error Handling: Implemented error handling and logging mechanisms across the architecture to ensure email delivery reliability and to retry failed emails.
Project Flow
CSV Upload: Clients upload a CSV file with email details via a web interface. The CSV file is stored in Amazon S3.
Data Upload to Redshift: The back-end service processes the CSV data and uploads it to Amazon Redshift for storage and further processing.
Glue Job Processing: AWS Glue extracts the email data from Redshift, combines it with email templates from S3, and prepares personalized email content for each recipient.
ECS Fargate Triggered by Lambda: Once the data is ready, AWS Lambda triggers ECS Fargate tasks that send email batch data to SQS.
SQS Batch Processing: ECS Fargate consumes the email batch data from SQS and processes emails in batches, sending them one by one using Amazon SES.
Project Outcomes
Scalable Email Delivery: Achieved a highly scalable solution capable of sending bulk emails to thousands of users with minimal manual intervention, leveraging the power of AWS SES and ECS Fargate.
Automation: Automated the entire process from CSV upload to email sending using serverless components like AWS Lambda, SQS, and Glue.
Cost Efficiency: Minimized infrastructure costs by using a serverless architecture with ECS Fargate and Lambda, scaling automatically based on demand.
Data Integrity: Ensured data integrity by securely processing email data from client uploads, storing it in Redshift, and handling errors or retries in case of failures during email sending.
Seamless Email Campaign Management: Provided a seamless experience for clients to upload email data, process it, and send personalized emails, all in a streamlined and automated manner.
Latest Projects
Things I do

CLOUD
Amazon Web Services
AZURE Cloud
Google Cloud Platform
IBM Cloud
DevOps Tools
Jenkins
Ansible for software provisioning
Packer for automated machine images
AWS CodePipeline
AWS CodeDeploy
Azure Pipelines
Chef
Github Actions
GitLab CI/CD
CircleCI
Microservices
Kubernetes
Docker
AWS ECS
AWS EKS
AKS
Azure Container Apps
Monitoring and Alerting
Telegraf
Prometheus
Grafana
Pagerduty
Infrastructure as Code
CloudFormation
Terraform
AWS CDK (Python & Typescript)
Operating System
Most of Linux Server Distributions
Window Server 2019/2022
Databases
MySQL
MariaDB
MongoDB
PostgreSQL
MSSQL
Scripting
Shell Scripting
Python
YAML
PowerShell
My Certifications


Let's Talk
Book a call to talk regarding the current vacancy at your organization.
@2024 RAJ PATEL