0

We need to send 1000s (under 10,000) per day for a few years. The data is in a SQL Server database - we have many asp.net MVC 5 and .net CORE 2 MVC sites on a Windows 2012 R2 server on IIS.

The emails are sent to customers who are expiring, so some calculations are required to work out who to send what to but nothing super taxing. I'm using AWS SES to send emails.

Previously we just used an asp.net web forms page with a long time out intermittently hit at a certain URL by pingdom.

I'd like to modernise this - I've been looking at Hangfire.net and RabbitMQ / RawRabbit. I don't want to get too bogged down and want to keep this relatively simple.

What would be a good way to architect this that's simple to maintain and build? Are there any other approaches that I haven't considered, are my suggestions good?

asked Apr 24, 2018 at 19:57
2
  • see Where to start? Commented Apr 24, 2018 at 21:24
  • OK aside from my - now I see erroneous 'where do I start' statement, I actually mentioned a couple of possibilities. So I don't think your criticism is warranted. I've removed the statement for this reason. Commented Apr 24, 2018 at 22:24

1 Answer 1

2

This really sounds like something you could easily put in a AWS Lambda. We do something similar at my company using Azure Functions. You could even chain them together. One lambda determines who to send to put them into a queue. Then another calculates and processes the data and puts it into another queue and then the last formats and sends the emails.

answered Apr 24, 2018 at 20:27
3
  • Thanks. Can you use c# for that though? Keen to keep it MS stack if possible as this is our skill base. Commented Apr 24, 2018 at 22:23
  • AFAIK you can use C# in AWS Lambda or Azure Functions. Commented Apr 24, 2018 at 23:28
  • another issue here is our production database contains not only customer emails - but expiry dates and email text. Our system changes expiry dates and selects the right emails to send. Without exporting large amounts of data to Amazon at least some of the logic would have to remain on our side. Commented Apr 25, 2018 at 6:26

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.