top | item 30650164

(no title)

tudorconstantin | 4 years ago

After working for the past ~3 years with a microservice oriented architecture, I can only imagine the horrors of having to work on a project built with lambdas. We're a team of only 2 backend engineers which have to touch up to 4-5 repositories for implementing some features. Orchestrating the deployments of the changes to all those repositories, debugging across all those microservices, having sane rollback strategies for each feature, really brings down the developer experience and speed of development when compared to working with monoliths. I don't want to imagine what happens when one would have to treat every function as a separate entity. Yes, these architectures have their benefits, but for 99% of the projects in the wild the burdens outweigh the benefits drastically: every day, for every feature developed, for every deployment and for every bug being debugged.

discuss

order

CraigJPerry|4 years ago

I’m a strong proponent of microservices but only for one thing - the ability to scale the number of engineers working on a product. If you can abstract out a contract between each service then developers are unburdened to iterate as fast as they can without constant communication overheads.

The idea of a 2 dev org deciding to replace simple maintenance free function calls with authenticated, TLS-secured, retry-able, service-located, rate-limited remote procedure calls (in the general sense of the term) and replacing simple method parameters with serialisation and deserialisation overhead… it’s all just pretty absurd.

Puts|4 years ago

The Linux kernel have had 12,000 engineers working on it while still being a monolith.

theobr|4 years ago

Lambda =/= microservice. I run my entire company off of a single lambda function and a single Next.js project - best DX I've ever experienced.

tbran|4 years ago

You should do a writeup on your blog! I'm curious what your lambda looks like.

boomskats|4 years ago

Does your project and DX need to scale across multiple developers?

chronofar|4 years ago

I’ve found AWS’s SAM to be a real pleasure to use (though I’ve only used it a bit), and it would solve the pain points you’re talking about here (basically include all your functions in a single repo with a sam template and accompanying cli that makes deployment and orchestration a breeze). May be worth a gander.