11 ms·
Did any of the people commenting how complicated (and/or expensive) this looks actually READ the box titles before they ran to proclaim how this should all be r
by deanCommie 6y ago
Did any of the people commenting how complicated (and/or expensive) this looks actually READ the box titles before they ran to proclaim how this should all be replaced with a simple monolith on a single VM?
There is a TON Of stuff here that is not related to your application business logic, but still has to exist SOMEWHERE for a complete production application.
Let's go through what's actually here that your single VM/Rails application does not/cannot encapsulate:
* CDN
* Domain name and certificate management
* OAuth/identity handling
* File upload
* Workflow orchestration
* Facebook messenger/email integration
And for those complaining that this is untestable, it's...exactly the opposite. ALL Of this is infrastructure as code declarable in a configuration file. Which means you can spin up a beta environment as quickly as production, or hell every developer can spin up this entire environment in their account (FOR FREE i might add - because that's the whole value proposition with serverless which is that you don't pay for something if you don't use it)
What's inside these Lambda function is still standard code you can apply good software engineering and SOLID principles and unit test thoroughly and in isolation.
And if you think workflows, and asynchronous queues, and event buses are overkill - well maybe they are for your use case. If you have 1 API invocation per minute you don't need ANY of this.
But if you're handling any serious scale, this will scale elastically with minimal operational intervention.
Remember - your company is not just your devs but your ops people too. And this makes their life way easier.
I understand the frustration with the 'serverless' buzzword, but let's not miss the forest for the trees. This shit is REVOLUTIONARY. And all people can do is try to one-up how much they could replace it with a simple shell script. The lack of humility in this crowd is mindboggling.
Look I agree - at both extremes (very little usage, A LOT of usage) serverless architectures like this are either overkill or to expensive. But there is avery fat middle (I'd venture >90%) of software projects out there for whom this would be both the easiest and the cheapest architecture (in terms of total cost of ownership) to build and maintain.