DEV Community

Discussion on: Serverless is Ready, Developers Are Not

brpaz profile image
Bruno Paz • Edited on

There are some good use cases for serverless for sure, but it's far from being an holy grail for everything.

Microservices had this hype before, but now some people are going back to a more monolith architecture.

IMO, the appeal of reduced complexity is only apparent. it just switch places from the application code to network layer. While not having to manage the underlying infrastructure is as a plus, you still have to manage the communication between functions. And that effort is offten undervalued. Good luck orchestrating hundreds of single functions together, managing network issues etc.

Why having this extra complexity for a Crud like App instead of building a more traditional application with A Mysql or Postgres db? You can use a managed solution like RDS if you really want to have less maintenance.

Instead of building your infrastructure to fit your application you now have to build your application to fit the infrastructure.

Again, it's a balance that everyone have to make for there projects.

And I won't talk about lock in, which is another big issue with many Serverless services.

A personal example: I was building a small app and tought firebase was a good idea as I really didn't want to worry about Apis and db. Until I discovered It doesn't allow a simple thing as "like" search. I have rebuilt everything with a simple Go API and a PostgresSQL db hosted in Hertzner Cloud. Much simpler and flexible.

In conclusion, Serverless has potential and there are definitely good use cases for it.
But you have to think well about it's trade-offs.

I like Cloud run and KNative for example, because they mitigate some of the problems I mentioned. You can run any Docker container in cloud run, so you are not locked in and don't need to change the application code if you want to deploy elsewhere.

As a Developer, give me a cluster where I can deploy containers with a single command, based on standards, that I could customize if I want, with persistence storage and long running processes support and I am all set. ;) That's the kind of serverless I want to see and we are definitely not there yet. DigitalOcean app platform comes close but still missing some features and dont like their pricing model.

ibrahimcesar profile image
Ibrahim Cesar Author

Sure! This is my whole-point and couldn't agree more on "choose your own weapon"