- **Epistemic status:** #seedlings Serverless computing provides backend services to an application on an as-used basis. Serverless architecture gives you the flexibility to write and deploy code without worrying about building the infrastructure. The development process can be completed faster due to the simple setup. How this works is that when a company gets backend services from a serverless vendor, they only get charged for the computation instead of a fixed amount for the servers or bandwidth. Serverless doesn't mean there are no servers doing these operations. It just means that you don't have to worry about infrastructure. ## Benefits of Serverless ### Lower Cost Depending on your application, this can be a cheaper route because you will only be paying when the services are being used. This can be crucial for a new application when you don't have many users and need to go for the cheapest alternative. ### Simplified Backend Code You don't have to worry about configuring your server, you can create serverless functions that carry out simple operations. This can be sending an email or updating a database. ### Simplified Scalability Developers using serverless don't have to worry about policies to scale up their code. The vendor takes care of scaling your application on demand. ### Quicker Turnaround Having a simplified backend can help you increase the speed of the development process, getting your application into the market sooner. One of the main points of lean startup is to get an MVP as quickly as possible into the market to collect feedback and pivot your application to what the market wants. Even if you are working for a bigger company, if you are building something and need it done quickly serverless can be a great option. ## Drawback of Serverless Sometimes this technology will not be best suited for your needs and traditional approaches will come up top. ### Vendor Lock-In When choosing a vendor, you must be aware that you might get locked into their services for the long run. You lose control over the hardware and updates that it could lead to issues in your application. You could transition your serverless functions to an actual server that you set up yourself, but that will take time to do. They also don't make it easy to switch to another vendor. ### Unsuitable for long-term tasks If you are running a data-heavy backend that does a bunch of computing, it could rack up a pretty big bill. Serverless is more for doing small computing problems like fetching data or sending an email. They are not meant to be run for a long time. ### Cold Starts You will pay a performance price when using serverless due to usage. When it's not being used for a long time it goes dormant and when it's called it becomes active again, then it runs the code. That's why you want to keep the code small to minimize the cold start time. After the first call of that function, depending on how long it takes for it to go dormant again, it will be fast. This is the reason you pay for usage.