What is opinion about serverless in this group? :s...
# general
What is opinion about serverless in this group? 😄 (sharing mine in thread)
I find serverless quite harmful due to potentials cloud vendor lock-ins. Big houses are literally the only places where it can be executed well v/s smaller datacenter, given everything is game of scale. Personally, I feel it to be awesome for students/hobby projects, which can utilise from low costs. BUT I wonder if that will become preferred stack of upcoming engineer’s generation, etc. But I was surprised when I was reading more about it yesterday and all the DBaaS solutions utilising it nowadays, from CCDB serverless, DynamoDB, etc.
Serverless is useful to start with, and it scales. The caveat has to be costs. It is not cost effective at scale, vs docker or VMs. As far as vendor lock in, The serverless code itself is okay, just the scaffold around it.
so the issue with serverless PaaS is that there's really (not yet) a volume discount model that reaches scale. Initially it works rather well.
Maybe solutions like https://knative.dev/docs/ and https://www.openfaas.com/ could help solve the "vendor lock-in" problem.
i want open faas to be the solution... i also don't like functions as a service because the spend seems large to me... but when compared to having a team that has to do something additional... let the experts do what the experts do it is the same reason we no longer have a datacenter on on-prem... if you control for costs -- "observability" -- this seems to be the ultimate let the experts do what they do best and leverage that expertise to build solutions for your customers that you are the expert of. While i want to be the best at plugging in a few CPUs and wiring a data center rack and installing an OS and getting it to be a server farm... i am not - i am better at assembling the work of others with their goals of 11 9s that i could never achieve (due to ability and cost) and instead solve for the pain of engineers to increase their "developer experience" on the platform(s) they have selected for their solutions for our customers.... etc
@Jason Davis I'm with you. I love operating serverless and every time I heard 'scale' or 'complexity' problems it was always a misuse of the tool. not sure about OpenFaas, I mainly used lambda, but Azure Functions really changed my thought on them. Developers could almost write pure functions that are easy to test and scale where the infra does the heavy lifting and IO. and I don't really care about vendor lock in. I changed databases at scale exactly once in my career and even w/ JDBC we still had lots of code to change. I think if we run k8s on a cloud vendor there is a lock in to be accepted.
I’m an AWS architect, and I primarily use serverless technologies to build my platforms. I run the Apps on whatever tech stack the company likes (ECS, Kubernetes or EC2 or lambda). But my platform logic is built using serverless. For example, use AWS StepFunctions to deploy apps for developers. I use Lambda to automatically rotate EC2s at night (for example 10% of a cluster every night), Do automatic restore tests. generate compliance reports etc. If you build a platform that should orchestrate infrastructure, you don’t want to use that same Infrastructure to orchestrate itself. That’s why Serverless is great for platforms. And when it comes to the Application itself, it’s a harder question. Serverless apps are hard to test Locally, so your developers will need more knowledge and access to the Cloud. So my advice is usually to only use Serverless stuff for Apps in cloud mature Organizations. And many use cases are not fit for 100% serverless, so I always say that you also need to provide container options (Kubernteres or ECS) as well.