Platform9 added real-time interaction to its Fission Kubernetes-native Serverless framework that allows for easier testing and deployment of applications running in a serverless environment.
The new features include the ability to live-reload and record-replay application code. The first makes it easier to test and update applications in real-time, while the second removes the need to re-write code during application testing.
Soam Vasani, creator of Fission and a software engineer at Platform9, explained that live-reload automatically deploys the code as it’s written into a live Kubernetes test cluster. It also allows developers to move between their development environment and the runtime of the function to more closely link their coding and test cycles.
Vasani said this feature, which he thinks has not yet existed in a serverless system, allows a developer to more quickly find any bugs or glitches in the code or application. It also allows for integration testing to be conducted in a live environment using production support services like databases or API calls.
“This is about speeding up the feedback loop,” Vasani said. “As soon as you can write code you can test it.” He also said this can help motivate developers as they can basically see in real-time what is happening with their code in a production environment.
The record-replay feature automatically saves events that trigger serverless functions. Those saved events can then be replayed on demand with detailed information on how the application functions in production. This can be used by developers to reproduce failures during testing and troubleshoot issues.
“This is good for debugging,” Vasani said. “If a function fails, instead of spending time trying to replicate that problem a developer can just watch the actual problem and see what exactly caused the issue.”
Platform9 has also integrated Prometheus into Fission to support automated monitoring and alerts. The integration provides automatic aggregation of function metrics like the number of function calls, function execution time, successes, and failures. Developers can then define custom alerts for key events like if a function fails or takes too long to execute.
This is significant in that Prometheus is typically linked to monitoring services running in container environments, and more specifically those that are orchestrated using Kubernetes. Vasani said this sort of integration into a serverless environment has been tough because the concept of monitoring does not have the same relevance in as it does with containers.
“A staple of monitoring is uptime,” Vasani said. “But for serverless that does not make sense because those functions go down all the time and are in fact programmed to die off when they are not needed. We had to build some integration so we could expose those metrics and that’s now part of the update.”
Platform9 gets around this by exposing metrics from the Fission platform into Prometheus.
Serverless on Kubernetes
That notion has since gained more attention as both the Kubernetes ecosystem has flourished and developer interest in serverless has grown. A number of different paths have been launched to bridge the gap between the two.
One of the more recent moves that is similar to Fission is the Google-based Knative platform that allows users to build and deploy container-based serverless applications that can be transported between cloud providers. Pivotal, IBM, Red Hat, and SAP worked with Google to develop the platform.
Platform9 CEO Sirish Reghuram initially questioned the need and motive behind Knative as being tied to some of those founding companies looking for a way to tie themselves tighter to the Kubernetes ecosystem.
“I don’t fully understand the motive behind Knative,” Raghuram said. “Is this some sort of business-driven move that will give IBM and Pivotal some wind at their backs with the Kubernetes community at large?”
Vasani said that Platform9 continues to monitor the Knative ecosystem and could participate in it as it matures.
“Technically they are still pretty new,” Vasani said of Knative, noting that community is still reliant on others at this point to build out its ecosystem. “I am not entirely sure on how that will pan out. We are watching it closely and are happy to be involved as it progresses.”