So, effectively, I'm asking HN to convince me to not go serverless :)
[0] - https://github.com/aws/chalice
1–5 of 5 posts
So, effectively, I'm asking HN to convince me to not go serverless :)
[0] - https://github.com/aws/chalice
* they tie you to a certain cloud provider (though tooling like the serverless framework can help)
* they force you into the microservices model (and sometimes you should just start with a monolith until you understand the problem space
* they aren't good for running existing applications that are expecting more traditional execution environments
* still rapidly evolving which means that you may run into "bleeding edge" issues
1. Installing dependencies became complicated. When Chalice worked, it was great. Certain dependencies (in my case lxml) required a precompiled bundle that someone had thankfully already taken care of packaging.
2. Visibility into the process was poor. It felt hard to get into the system and really introspect it once it was deployed.
3. I felt pushed to other "serverless" solutions within AWS that I wasn't comfortable with. I understand the inherent vendor lock-in with the current serverless offerings, but I felt like I was doubly locked in when e.g. the "best" choice for a db was Amazon Dynamo.
4. Current serverless frameworks feel very minimal. I'm a big fan of both Django (batteries included) and Express (bring everything on your own). The tech that is out there now feels like Express, except that there isn't a lot of extensions to layer on top. You sort of have to cobble your own together still.
5. Lack of Best Practices. I just didn't see a ton of thought leadership on how to do things the right way in a serverless environment. I might have just missed this though.
----
Overall, I've come away impressed but I feel like building something entirely on serverless isn't quite as fleshed out as it needs to be yet. I think it's very close though.
1. Most serverless solutions tie you to a cloud provider 2. Difficult to set up CI/CD with decent auditability 3. Hugely overkill for most projects