Live data from Hacker News

A serverless email server on AWS using S3 and SES

github.com

121–130 of 266 posts

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

#121

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…

I really think you can get a serverless experience with a radically different OS than we think of the set-it-and-forget-it Linux OSes. If you have an OS that is designed for self maintenance a lot of these problems go away, but your debugging experience isn't super different. I expand these thoughts here: https://robszumski.com/serverless-with-servers/

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

#122
post #12

> This stack was created out of frustration due to the fact that to this day there's no easy way to have a full email server without the overhead of installing and configuring all servers needed to handle incoming and outgoing messages. Interesting approach, though I solved this frustration by the use of a Docker and kept "my data is mine" + "no vendor lock-in" + "I control all the gears" approach. (Though, it's not…

Thanks for sharing!

Your setup seems sane and pretty close to what would be if you want to run the same thing on a single server.

It makes the code base in the original link looks like a proprietary duct tape spaghetti :P

I just recommend setup postscreen[1] and rspamd[2].

1. http://www.postfix.org/POSTSCREEN_README.html

2. https://www.rspamd.com/

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

#123
post #115

Earlier quoted context omitted.

An abstraction where "positive" and "negative" mean the same just for safety so they can't be confused with each other.

You’ve never worked with C code that had to run on both big endian and little endian systems that had to share a common byte protocol. Where two bytes in the same order can mean something completely different. There are a lot of things “confusing” about computer science when you don’t take the time to learn it.

On the contrary, I've worked with 8 and {32,64}bit x {LE,BE} chips many times and wrote quite a lot of network code in C. But you're mixing syntax with semantics.

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

#124
post #49

Earlier quoted context omitted.

There's a firecracker VM and a Linux OS under the Lambda. Both of which need to be maintained by Amazon. Edit: "managed cgi-bin" is perhaps more apt.

cgi-bin didn’t have any type of process isolation. Also, it didn’t tie in to other none web based events.

>cgi-bin didn’t have any type of process isolation

"Lambdas" don't by nature either. I can run cgi-bin in a FirecrackerVM-like ecosystem with one script per VM.

>Also, it didn’t tie in to other none web based events.

Webhooks aren't new.

I'm not disputing the popularity and convenience of serverless. I'm just noting it's somewhat like Docker. Packaging existing tech in an easier-to-use bundle.

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

#125

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...

IaaS = your data + code to run it + create servers to run the code.

PaaS = your data + code to run it. Servers automatically provided.

SaaS = your data. Code and servers are automatically provided.

Serverless is just another name for PaaS where your bring your code, which can be deployed as a single JS function in a text file or an entire container running anything.

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

#126

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...

I still fail to understand why 4 years in, people seem to be confused about the idea that definitions of words involve over the years and that the computer industry has both been coining and adopting phrases. But a quick Google search is all that it would take to “understand it” https://en.wikipedia.org/wiki/Serverless_computing

Under this link I read:

> Serverless computing is a cloud-computing execution model in which the cloud provider runs the server, and dynamically manages the allocation of machine resources. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity.

So I don't see too much of a difference from a VPS I pay for that will cost me more if I start using more network bandwidth.

But then I hear that you don't have ssh access and that your architecture is built around one specific vendor, so now you can't move to a different provider. Sounds like hell to me.

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

#127
post #22

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...

I think and hope this guy is trolling. If not he will be left behind if a back end dev. Even if you have"real" servers this is how your micro services should be built.

> I think and hope this guy is trolling. If not he will be left behind if a back end dev.

There is a world of software outside of the web-development bubble. Just saying.

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

#128
post #124

Earlier quoted context omitted.

cgi-bin didn’t have any type of process isolation. Also, it didn’t tie in to other none web based events.

>cgi-bin didn’t have any type of process isolation "Lambdas" don't by nature either. I can run cgi-bin in a FirecrackerVM-like ecosystem with one script per VM. >Also, it didn’t tie in to other none web based events. Webhooks aren't new. I'm not disputing the popularity and convenience of serverless. I'm just noting it's somewhat like Docker. Packaging existing tech in an easier-to-use bundle.

Lambdas by nature do exactly that. AWS’s runtime launches the “VMs” in response to an event.

And with webhooks I’m required to keep enough server capacity running all of the time to handle the events. Can a web hook automatically instantiate enough VMs on demand without reducing throughput?

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

#129

Earlier quoted context omitted.

Not a single post on Hacker News can use the term "serverless" without the exact same replies being posted every time. It's as if a certain portion of the HN crowd simply cannot fathom that a new term exists and is in use, and instead resort to the same, tired responses.

> Not a single post on Hacker News can use the term "serverless" wits nhout the exact same replies being posted every time. As a serverless skeptic/critic, the buzzword bingo aspect of serverless computing is far from being the problem, and it's a gross missrepresentation of the problems posed by serverless computing. The main problem with server applications such as AWS lambda, along with lack of control, is how utt…

There are absolutely valid criticisms of serverless (as you called out, vendor lock in and complexity for large applications being a big ones). But it's still an important and interesting technology that many individuals and companies are invested in, sharing side projects, open source tools (like the OP's), etc. In many cases, it can be cost efficient, or even (human) resource efficient to use a serverless setup.

So it gets quite repetitive to still be debating that, yes, we know there are servers running the code, it's just a name.

Also, a lot of the value in serverless lies in time saved managing said servers, which sometimes escapes engineers who are only looking at a project from the "well let's just spin up a quick VPS and install Ubuntu and these 15 packages, get DKIM working, throw a Let's Encrypt cert on the endpoint, launch a sidecar Prometheus and Grafan server for monitoring, and boom, you're done, why even use AWS?" perspective.

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

#130

Earlier quoted context omitted.

> Not a single post on Hacker News can use the term "serverless" wits nhout the exact same replies being posted every time. As a serverless skeptic/critic, the buzzword bingo aspect of serverless computing is far from being the problem, and it's a gross missrepresentation of the problems posed by serverless computing. The main problem with server applications such as AWS lambda, along with lack of control, is how utt…

As if the time to manage servers is free. But lambda is far from expensive. If you’re spending even $100 a month on lambda, you probably have a successful business. And everything is “complex” if you don’t know how to do it optimally.

> As if the time to manage servers is free.

I work in projects which make heavy use of function-as-a-service, and I have first-hand accounts of how FaaS offerings have lead developers to waste a couple of weeks getting FaaS to do what could have been done in a couple of hours with a tried-and-true web service.

> But lambda is far from expensive.

Relatively to the cost of a VM instance? Yes, it's expensive. We're in a day and age where a vCPU with 2GB of RAM can be had for 3€/month, and the pricing examples posted on AWS Lambda's page show a scenario where slightly over a month of function run time requiring 512MB of RAM would cost around $18.

In addition, AWS lambda usage is rounded up in intervals of 0.1s and 128MB, thus inexpensive function calls are way overcharged.

> If you’re spending even $100 a month on lambda, you probably have a successful business.

This assertion is missing the fact that those $100 a month on lambdas might be handled by $10 worth of computational resources in the cloud and a software architecture that isn't convoluted or tied to a single vendor. Thus the fact is that a fad is being pushed without technical merit or sound operational reasoning.

Post reply on HN