Serverless computing is not a panacea and there are drawbacks. For one, this is a very immature market. Managing serverless use cases at scale is difficult, says Gartner Research Director Craig Lowery. There are scant management tools for coordinating groups of functions. The security, monitoring and optimization software supporting this technology are nascent. Perhaps most importantly, it requires developers to write apps in a different type of way. “A lot of the limitations have to do with the architectural constraints it places on software design,” he explains.
Serverless functions are also stateless. They can be re-used and re-executed, but they don’t store state, they execute their task and that’s it. Vendors charge for FaaS platforms by the fraction of a penny per 1 million functions performed, which, illustrates how vendors encourage developers to plan to run their functions for. “It gets messy to manage when you have a lot of functions,” Lowery says.
There’s also a concern with vendor lock in. It’s not exactly easy to take an application built in a FaaS and port it over to another platform, either on premises or in another public cloud, Lowery notes. Because the market is so young, the tooling for serverless platforms is customized to the environment in which they live. AWS Lambda integrates deeply with many other AWS products. Wood says that because Lambda supports common programming languages like Node.js, Python and Java, that code can be transferred out. “There is no special Lambda language,” he notes.
Overall, Lowery says serverless computing or FaaS is, “a very powerful edition to existing compute paradigms of virtual machines and containers. Lambda is a whole new thing. I think we’ll see a lot of people successfully create entire apps based on serverless. At the same time, it’s not the right fit for every application.” Databases will not be run in Lambda, or any other application that requires state to be maintained.
Market for serverless
While AWS is credited with being the first to market with a serverless computing platform, since then the other major IaaS public cloud providers have fallen suit. Wood even makes the argument that many AWS services are “serverless” including Lambda, S3, as well as its NoSQL DynamoDB database, and SQL-supported Aurora database platform. Each of these products requires no pre-planning of resource usage or ongoing management of infrastructure.
Lambda comes with up to 1 million requests processed per month for free; thereafter each 1 million requests costs $0.20. Lambda also charges based on the amount of time spent on computing processes, at a rate of $0.00001667 per GB per second the platform is used, rounded to the nearest 100th of a millisecond.
Sign up for Computerworld eNewsletters.