The latest incarnation of "anything as a service" is something called function as a service. It's also commonly referred to as serverless computing. We ask Rich Sharples, senior director of product management for middleware at Red Hat, to explain FaaS.
What is function as a service?
"It allows developers to really focus on application functionality and not have to worry about provisioning, starting servers and operating systems," Sharples says. "All of that infrastructure stuff is taken away." It's also a way to execute some business logic as efficiently as possible, going from three-tier to monoliths to microservices (which he calls the "buzzword du jour"). In 2017, with serverless computing, it's possible to take an application function and execute that along with granular billing services to bill for only as long as the function is running. "You don't need to lease a whole server or even an app server. As long as that function runs, that's all you get charged for, down to tenth-of-a-second billing," he explains.
When function as a service doesn't work
For all its benefits, FaaS is not a panacea for every scenario. Sharples says developers need to be aware of when to leverage the technology and when it's best to stay away -- at least for now. The technology is not currently a good fit for applications that need to do "huge number-crunching," such as DNA analysis, Sharples says, nor is it appropriate for large-batch processing that runs for days. "[FaaS] is used for very small, very focused areas of functionality," he says. That could be translation of a voice command into a JSON object or transformation of a graphical image, both of which are quick, asynchronous activities.
Running function as a service at scale
To run FaaS at scale, Sharples notes that cloud providers tend to impose upper limits and caps. "If you do decide to create a long-running FaaS, your cloud provider is probably going to come and kill it after five seconds," he says. "If you want to chew up gigabytes of memory, that's probably not going to happen."