Inspired by Andrew Brown who outlined a course that he shared on Twitter and by an ongoing reflection on my own experiences with cloud and serverle...
For further actions, you may consider blocking this person and/or reporting abuse
I believe it's not the developers, but it's actually the serverless thing that is not ready yet.
Look, it's all about the
developer experience
&&economics
.When you tell me that:
Then I would tell you: I DON'T BUY IT and good luck convincing other developers!
BTW, I tried the serverless thing to write a lambda function that creates backups and stores them in S3... that experience sucks.
I ended up writing a simpler solution with cron inside the db container then sending the backup to S3... works just fine and can be tested super easily.
I don't think any framework / app/ system is for everyone. I don't know in what point or what tools you used but with AWS Amplify you can literally create a CRUD app these days in less than half a hour with authentication. Sure, unpolished and you'll need more work, but the basics will be all set!
But no means I'm advocating "all things serverless". My point is serverless is mature but we need understanding how fits with our current mental models and team topologies.
Well, to understand how it fits we will need to see real world successful applications that are built on serverless model.
Would you please point me to any such examples?
Lego Group has adopted with much success: medium.com/lego-engineering/the-po...
...and there's lterally a page called AWS Serverless Customer Success: aws.amazon.com/serverless/customer... with all sorts of real world successful applications that are built on serverless model
Thank you so much!
I will read these and come back 😄
Found another high level use case, BBC: twitter.com/drewfirment/status/137...
Thanks again @ibrahimcesar
I've read the articles and from what I understood Lambda good use cases are for apps that have high/undetermined load.
And they're not for usual apps that we can spin in mins with Heroku.
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.
Sure! This is my whole-point and couldn't agree more on "choose your own weapon"
thanks for posting this.
I also believe that besides junior level, the separation between frontend and backend is meaningless (even though you might have some preference or want to specialize in one or the other), we all must be fullstack, and serverless devs!
Expecially i like the part about the cognitive (over)load, very interesting
Good read! 🙏 It's a fun topic. Would love your feedback on our take: arc.codes which, obviously biased, feel addresses most of the pain points you mentioned.
For sure! Is in my to do list for some time I must say :)