Major cloud providers would disagree! Serverless aims not to remove using servers, but instead to remove the responsibility of managing servers from the user. In the case of a physically failing server, the serverless provider is responsible for ensuring fault tolerance. Big cloud providers are in a better position to provide that tolerance than if you run your own services.
Serverless architectures have tremendous use in event-driven environments. Consider a business need to transform images by adding a watermark and adding metadata to images uploaded to their service.
I will explain.
I would recommend you check out some of the serverless providers, it might make the benefits more clear to you;
Check out this case study for AWS and autodesk: aws.amazon.com/solutions/case-stud...
This is not how serverless will work, you are not exposed to the server running your functions. If any particular server goes down, traffic will seamlessly be migrated to another server. There is no migration for the end user to handle.
While the initial setup of a server can be done in a day, the management of that server in a production environment is a reoccurring cost, especially in a production environment. Someone needs to monitor that server. Perhaps scale its resources based on load. Secure that server. There will always* be operational tasks
There is a lot more to updating a production environment than making sure you run sudo yum update once a day. Who makes sure that all the packages you upgrade to provide your production environment don't collide? What do you do when upgrading would cause downtime?
Most hosts are over provisioned. Rarely will you see a server which is operating at full capacity. Any extra cpu, ram, or disk you have left on a traditional server that is not being used is costing you money. With serverless you pay for what you use. Many cloud providers also offer free usage within limits.
As far as I know, Vendor lock starts and ends with the inclusion of libraries for the cloud provider. Abstract that away from the rest of your code and only your integration point is locked to the vendor.
Serverless is no harder to program than traditional programming, check out the autodesk case study, or have a look at some of these tutorials, I think you'll agree! cloud.google.com/functions/docs/tu...
This I completely agree with and is a double edged sword. It's very cheap with low load, but costs will scale quickly under load. This can be unpredictable. But providers will offer budgeting and alerting to keep your costs in check.
*True automation in a self managed environment is very hard; speaking as a DevOps architect, I can testament to that.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.