Costs: Typically, you only pay for the service you use. You don’t have to pay in advance for a specific amount of bandwidth as you would with vendors using a server allocation model.
Easy scalability: Applications built on FaaS platforms scale automatically with the number of users or usage. The vendor, not the developer, manages scaling.
Simplified code: With FaaS, you have the option to upload one function at a time or your entire application all at once.
Decreased latency: The FaaS vendor may have the capability to run applications closer to end users, eliminating the need for requests to travel long distances to an origin server.
Faster time to market: Function as a Service supports iterative development, getting applications up and running sooner, and allows you to make modifications more easily.
Trade-Offs You May Need to Make to Use FaaS
Vendor lock-in: Building your application on a FaaS platform may make you reliant on that vendor and make it difficult to switch.
Testing hurdles: Depending on the vendor, you may have challenges when creating a test environment for your application.
Cold starts: There’s sometimes a delay in the execution of a function, as much as 3 seconds, which can adversely impact some types of applications.
Security: You are at the vendor’s mercy when it comes to security and may not have the visibility you need to ensure the vendor complies with regulations governing your use or storage of certain types of data.
Cost: This item is repeated from the benefits list, but in some cases, FaaS can actually cost more than using dedicated servers, depending on the processes you are running.