Platform9 has extended the open source Fission.io serverless computing framework it developed for Kubernetes clusters to include a range of additional capabilities intended to make the serverless framework more accessible within the context of a DevOps environment.
Soam Vasani, a software engineer at Platform9 and creator of Fission.io., says serverless computing frameworks are gaining traction as an extension of Kubernetes because it allows developers to avail themselves of an event-driven architecture to spin up additional processes on-demand.
New capabilities added to Fission.io include built-in Live-reload and Record-replay capabilities to simplify testing and accelerate feedback loops and automated canary deployments to reduce the risk of failed releases. The Live-reload capability automatically deploys the code as it is written into a live Kubernetes test cluster. That enables developers to toggle between their development environment and the runtime of the function as they iterate code.
The latest update to Fission.io also adds support for open source Prometheus containing monitoring software, which means DevOps teams can use the same tool to monitor containers, Kubernetes and Fission.io.
Finally, fine-grained cost and performance optimization controls have also been added. Serverless functions can be configured with specific CPU and memory resource usage limits, minimum/maximum number of instances and auto-scaling parameters. The functions running on the serverless framework can be deployed, for example, into containers that only run on-demand or be loaded into containers that are always running to reduce application latency. Functions can also take advantage of Fission’s pre-warmed container pools, which aggregates the cost of IT infrastructure over a large number of functions.
Rather than embrace any single serverless computing framework, the Cloud Native Computing Foundation (CNCF), which oversees the development of Kubernetes, has taken pains to make it easy to extend Kubernetes using any number of open source serverless computing frameworks. That approach is intended to counter more proprietary approaches to invoking a serverless computing framework such as Amazon Web Services (AWS) Lambda.
While some developers may try to write entire applications using functions, most organizations are going to invoke serverless computing framework to execute a child process attached to a long-running application. That approach should not only reduce the amount of IT infrastructure resources that need to be dedicated to an application, it also could reduce the size of the application.
There’s no doubt that serverless computing frameworks will be widely employed in public clouds. But Vasani says Platform9 expects to see IT organizations also taking advantage of open source projects to employ serverless computing frameworks in an on-premises IT environment.
Of course, serverless computing frameworks don’t manage themselves. They may make it possible to provide developers with a layer of abstraction that makes it seem as though they have access to an inexhaustible set of IT infrastructure resources. But that additional layer of abstraction can further complicate DevOps processes. In fact, in many cases the decision to go with one serverless framework over another is often going to come down to which framework adds the least amount of friction to the DevOps processes already in place.