So roughly $1300 in bandwidth, possibly could cut some there by putting Cloudflare in front of static assets, but no idea how much of that is from static vs dynamic assets.
Most of the compute cost ($2400) goes to an m4.xlarge and an m5.2xlarge. That could be reduced by using reserved instances - but there's other gotchas there if you're likely to change that anytime soon. Google cloud is much nicer in this regard with the auto discounts for continuous usage.
The provisioned IO for EBS $2500 makes me sick, but may be necessary to get adequate performance.
Honestly you could move everything onto two dedicated servers (one as a hot backup) and cut this down to $1000/month and get better performance. But that's the AWS tax.
I use AWS all the time for work, but I would never build my own business on it.
I don't think of RDS as zero-maintenance, but I'll agree it's probably less. You get different and arguably more complex problems under load with things like EBS performance. I'd rather have local disks which are simple for me to understand and debug.
Basically, with his skillset, maybe it makes sense. With my skillset I'd rather have the hassles with the dedicated setup.
I'm not sure I agree, now I have no clue where he's from, but assuming he would save 7k a month that'd be 84k a year.
Obviously there's other overhead/costs involved, but surely he could find somebody for 60k+ a year (I make less then that at my current development job but I'm from Michigan)?
That single person you are paying a sub-par wage won't be providing 24/7/365 support, which is a big benefit of AWS / cloud providers. It's also a bit of insurance on your hardware in case of failures, free replacement. Finally, if something catastrophic was to happen, with a recent-ish offsite backup it's usually pretty trivial to setup on a different region or even cloud provider. With your own hardware, that's a bit harder.
I agree though with one of the parents, AWS costs here can likely be significantly reduced. I cut costs in half by (a) reserving instances and (b) thinking about EBS and downgrading / downsizing where possible rather than using the defaults.
Could save (edit: not $3600) $1873 per month by using Linux instead of Windows. I see you are using SQL server, probably C# for the code, might be worth looking into running it with Mono.
The article says he's tracking when recipients open emails and click links. So for every email one of his users sends there's some potential network traffic and data to be stored. He was probably able to offer the service for free originally because those features weren't added until after the subscription service launched. His AWS bill before adding those features was probably a few hundred dollars per month at the most. He also mentioned he is financially secure from selling a previous spam tool he created, so he could afford to run it for free for a while.
I am sorry if this sounds dense: But if you are sending the emails from server side, how are you getting to the user credentials / gmail login 2 step verifications etc.?
I am assuming you mean you send from the client UI but the extension talks to your server for scheduling the future sends etc. in which case you shouldn't have that much network bandwidth.
The user logs into his Gmail account on his own and uses the GMass extension, which operates within the Gmail UI, to create/schedule campaigns. On the back-end, GMass connects to the user's account over standard Google OAuth 2 to then send the emails.
I didn't read thoroughly, but why does it need to run on AWS? Does the plugin send requests to a back end server and the server send the mass emails out?
My naive thought is that some frontend JS (without the help of a backend server) would be able to accomplish some of the features.
Just spitballing, but he mentions working around gmail hanging for minutes when sending thousands of emails somewhere, so I presume he's storing the addresses on a server and looping through them in gmail in bite sized chunks.
I thought so as well. But, if he's okay with it and the numbers pencil out well, there's not a lot of reason to improve it: probably better ROIs elsewhere.