Live data from Hacker News

A serverless email server on AWS using S3 and SES

github.com

61–70 of 266 posts

Re: A serverless email server on AWS using S3 and SES

#61
post #54

I don't know anything about serverless --- to this day I fail to understand what this word is even supposed to mean. And the deployment diagram[1] sure looks complicated to me. I think I prefer old-school servers. [1]: " rel="nofollow">https://raw.githubusercontent.com/0x4447/0x4447-product-s3-e...

Indeed. I suspect the "serverless" word was created due to the emotional appeal to a specific (majority) group that is strongly opinionated against having servers at all. Reading from the README.md file: There are two major limitations with SES: For security reasons, AWS defaults to 200 emails sent per 24 hour period at a rate of 1 email/second. If you need to send more than that, you'll need to ask AWS to increase y…

> non-sense limitations

Limitations to block bots setting up, spamming, then tearing down over and over to avoid filters.

Its easy enough to ask for a limit increase and you'd only likely run into issues as a new account with little biking history.

That said 100% agree in this solution being a poor choice w.r.t vendor lock in.

Re: A serverless email server on AWS using S3 and SES

#62
post #55
post #54

Earlier quoted context omitted.

Indeed. I suspect the "serverless" word was created due to the emotional appeal to a specific (majority) group that is strongly opinionated against having servers at all. Reading from the README.md file: There are two major limitations with SES: For security reasons, AWS defaults to 200 emails sent per 24 hour period at a rate of 1 email/second. If you need to send more than that, you'll need to ask AWS to increase y…

The emails sent by your $5 VPS wouldn't stand a chance of actually being delivered to people's Gmail or Outlook mailboxes. Whereas SES actually works. Also, it is incredibly easy to ask AWS support to increase the limit. A startup I worked with had only thousands of users; we told AWS about it and they gave us 5 million emails per 24 hours.

> The emails sent by your $5 VPS wouldn't stand a chance of actually being delivered to people's Gmail or Outlook mailboxes.

The emails sent from my $5 VPS arrives in Gmail's priority box :)

Re: A serverless email server on AWS using S3 and SES

#63
post #55
post #54

Earlier quoted context omitted.

Indeed. I suspect the "serverless" word was created due to the emotional appeal to a specific (majority) group that is strongly opinionated against having servers at all. Reading from the README.md file: There are two major limitations with SES: For security reasons, AWS defaults to 200 emails sent per 24 hour period at a rate of 1 email/second. If you need to send more than that, you'll need to ask AWS to increase y…

The emails sent by your $5 VPS wouldn't stand a chance of actually being delivered to people's Gmail or Outlook mailboxes. Whereas SES actually works. Also, it is incredibly easy to ask AWS support to increase the limit. A startup I worked with had only thousands of users; we told AWS about it and they gave us 5 million emails per 24 hours.

They stand the same chance, just setup dkim and spf as any of the hundred guides will tell you how to.

Debate it on vendor lock in, reliability and out sourcing sysops, not on having to maybe manually set up some DNS records.

Re: A serverless email server on AWS using S3 and SES

#64
post #16

Wow, this is cool! JSON structures resemble JMAP. I wonder what'd be the effort to add JMAP endpoint to this?

JMAP is a radically different beast. The similarities between this thing’s JSON format for sending and JMAP’s Email data type are superficial only: they’re both JSON and are representing the same thing, so it should be no surprise that they look similar. But that’s a quite tiny part of what JMAP is: JMAP is an object synchronisation protocol. (And this is why JMAP so much more complex than the typical REST API. And w…

Thank you for your detailed in depth response!

For the record it seems this seems to do some basic processing:

> The Inbox or Sent folder triggers another Lambda function that loads the raw email, converts it to a .html and .txt file, and stores it alongside the original message, while storing any attachments in the attachments.

This looks OK for me having clients do indexing and processing. From your description it seems JMAP choose a different tradeoffs and puts more services on the server side.

Re: A serverless email server on AWS using S3 and SES

#65

I don't know anything about serverless --- to this day I fail to understand what this word is even supposed to mean. And the deployment diagram[1] sure looks complicated to me. I think I prefer old-school servers. [1]: " rel="nofollow">https://raw.githubusercontent.com/0x4447/0x4447-product-s3-e...

The benefits to using this approach over a traditional server are: 1. Someone else maintains the software running these services, including OS upgrades, security upgrades and patches, uptime monitoring, etc. 2. Since every logical component is an independent service, each scaling independently, any one single component is unlikely to become a bottle-neck while scaling. In traditional monolithic servers, you'll have t…

> Assuming this works as advertised, you can go from zero to a full blown email service for organizations with thousands of people (assuming the stated AWS limits are lifted), in record time

All the hard parts of doing that are in dealing with reputation, not in setting up a mail server or or scaling it. I've run an e-mail service with ~2 million users on hardware with comparable CPU, memory and IO capacity to my current laptop in the past. Setting up the mail server was not the time consuming part.

And the reputation bit in this instance is handled by SES. If you put a regular mail server behind something like SES for outbound messages, that's simple too.

While I do see benefits to serverless, this seems to me to be a good demonstration of how it is still in a totally embryonic state when it comes to things like ease of use.

Re: A serverless email server on AWS using S3 and SES

#66
post #35

Now someone just needs to create a serverless (aka client side or browser only) Gmail like interface you can host on S3. And the shackles will be broken...

> shackles will be broken

By tying your entire email system to a single cloud provider?

This is lock-in on steroids. (Oh, and zero privacy)

Re: A serverless email server on AWS using S3 and SES

#68
post #55
post #54

Earlier quoted context omitted.

Indeed. I suspect the "serverless" word was created due to the emotional appeal to a specific (majority) group that is strongly opinionated against having servers at all. Reading from the README.md file: There are two major limitations with SES: For security reasons, AWS defaults to 200 emails sent per 24 hour period at a rate of 1 email/second. If you need to send more than that, you'll need to ask AWS to increase y…

The emails sent by your $5 VPS wouldn't stand a chance of actually being delivered to people's Gmail or Outlook mailboxes. Whereas SES actually works. Also, it is incredibly easy to ask AWS support to increase the limit. A startup I worked with had only thousands of users; we told AWS about it and they gave us 5 million emails per 24 hours.

I run my own email server, with no spam filter, and inspect where every spam comes from. I get a lot of spam from random shitty providers, but none from major VPS providers (Scaleway, Hetzner, Linode, Digital Ocean, ...) with the exception of OVH.

I do however get spam from Amazon SES a couple of times a month.

Re: A serverless email server on AWS using S3 and SES

#69

I don't know anything about serverless --- to this day I fail to understand what this word is even supposed to mean. And the deployment diagram[1] sure looks complicated to me. I think I prefer old-school servers. [1]: " rel="nofollow">https://raw.githubusercontent.com/0x4447/0x4447-product-s3-e...

The benefits to using this approach over a traditional server are: 1. Someone else maintains the software running these services, including OS upgrades, security upgrades and patches, uptime monitoring, etc. 2. Since every logical component is an independent service, each scaling independently, any one single component is unlikely to become a bottle-neck while scaling. In traditional monolithic servers, you'll have t…

> 1. Someone else maintains the software running these services, including OS upgrades, security upgrades and patches, uptime monitoring, etc.

This is the standard marketing phrase echoed to promote serverless. By experience, I don't think is valid. Packages like unattended-upgrades automates all this stuff.

Also, not being able to verify what the software is doing is scary and looks like a 10 steps backwards to me.

> 2. Since every logical component is an independent service, each scaling independently, any one single component is unlikely to become a bottle-neck while scaling. In traditional monolithic servers, you'll have to have contingency plans if you beat storage/network/CPU/RAM limits

Except when it comes with a bottle-neck by default. Running mail servers requires rather little resource.

> 3. The closest thing to this is to break up a monolithic email server into microservices and deploy them as independently scalable containers, which is a considerable engineering effort.

Why in earth? Have you seen the postfix architecture?

> Assuming this works as advertised, you can go from zero to a full blown email service for organizations with thousands of people (assuming the stated AWS limits are lifted), in record time.

I'm pretty sure one can have a up and running mail server while the "cloudformation" thingy will still be running :)

Re: A serverless email server on AWS using S3 and SES

#70
post #54

I don't know anything about serverless --- to this day I fail to understand what this word is even supposed to mean. And the deployment diagram[1] sure looks complicated to me. I think I prefer old-school servers. [1]: " rel="nofollow">https://raw.githubusercontent.com/0x4447/0x4447-product-s3-e...

Indeed. I suspect the "serverless" word was created due to the emotional appeal to a specific (majority) group that is strongly opinionated against having servers at all. Reading from the README.md file: There are two major limitations with SES: For security reasons, AWS defaults to 200 emails sent per 24 hour period at a rate of 1 email/second. If you need to send more than that, you'll need to ask AWS to increase y…

All those limits are removed within hours and are one time support ticket requests. AWS doesn't want every account to be instantly usable as a spam account if someone is compromised.

I think the more significant annoyance would be the lack of IMAP/POP, I don't see how that is addressed.

Post reply on HN