Fission open source serverless framework gets updated
|Richard Harris in Enterprise Wednesday, October 17, 2018|
More Features to Improve the Quality and Simplify Release Automation of Serverless Applications on Kubernetes
Platform9 just released updates to Fission.io - the open source, Kubernetes-native Serverless framework, with new features enabling developers and IT Operations to improve the quality and reliability of serverless applications.
Other new features include Automated Canary Deployments to reduce the risk of failed releases, Prometheus integration for automated monitoring and alerts, and fine-grained cost and performance optimization capabilities. With this latest release, Fission offers the most complete set of features to allow Dev and Ops teams to safely adopt Serverless and benefit from the speed, cost savings and scalability of this cloud native development pattern on any environment - either in the public cloud or on-premises.
“Fission was created to provide a simpler, easier way for developers to accelerate time to value with Kubernetes. Our goal is to help developers produce quality serverless code, and provide Ops teams with the utmost confidence to run serverless applications in production,” said Soam Vasani, Creator of Fission at Platform9. “Serverless allows developers to move faster and be more productive. The latest release of Fission focuses on accelerating feedback loops and lowering deployment risk, to ensure that teams can not only move fast, but also safely, and at scale.”
The latest feature set of Fission includes:
- Live-reload: Test as you type
With Live-reload, Fission automatically deploys the code as it is written into a live Kubernetes test cluster, and allows developers to toggle between their development environment and the runtime of the function, to rapidly iterate through their coding and testing cycles.
This allows bugs to be found and fixed earlier in the application development lifecycle, when it is cheaper to do so - before they are discovered in the higher environments or cause any service disruption in Production. Further, it simplifies and increases the fidelity of integration tests, by running them earlier in the process using a live environment that’s consistent with the configuration and related services (i.e. database, API calls, etc.) that are used in Production.
- Record-replay: Simplify testing and debugging
Fission provides a serverless solution that offers out-of-the-box Record-replay functionality for easy testing and troubleshooting. Record-replay automatically saves events that trigger serverless functions and allows for the replaying of these events on demand with detailed information on how the application is used, the inputs and the outputs of the functions. Fission users can configure which functions and workflows to record and for how long to retain the recorded events.
Record-replay is used by developers to reproduce complex failures during testing or debugging, simplify regression testing, and troubleshoot issues (i.e. inspecting an execution of a function based on past input). In addition, Operations teams often enable recording on a subset of live production traffic to help engineers reproduce issues or verify application updates.
- Automated Canary Deployments: Reduce the risk of failed releases
Canary deployments are a proven deployment strategy to minimize the risk of failed application releases and avoid service interruptions to end users. In this strategy, the new version of the application is first deployed only to a small percentage of the live traffic, and then gets incrementally rolled out to Production once it has been established that the version is stable. In the case of Production failures, the application can be rolled back to the previous, stable version.
Fission offers open source serverless framework to provide fully automated Canary Deployments that are easy to configure. This saves DevOps teams and Site Reliability Engineers the need to manage Canaries manually or invest in cumbersome scripting and testing to execute this advanced deployment strategy - making it intuitive, simple to use, and error-free. Ultimately this minimizes downtime risk for applications.
With Automated Canary Deployments, Fission automatically increments traffic proportions to the newer version of the function as long as it succeeds, and rolls back to the old version if the new version fails. Users can configure the percentage of traffic that will receive the new version of the function, the error rate that will constitute as failure, and the release rate at which to roll out the new version.
- Prometheus Integration: Easy metrics collection and alerts
Out of the box integration with Prometheus enables automatic aggregation of function metrics, including the number of functions called, function execution time, success, failures, and more. Users can also define custom alerts for key events, such as for when a function fails or takes too long to execute. Prometheus metrics can also feed monitoring dashboards to visualize application metrics.
- Cost Optimizations in Fission
Since Fission is open source and works on any Kubernetes cluster, it enables enterprises to easily run a Lambda-like Serverless service on any infrastructure - using either the cheaper instances on public clouds, or leveraging their own data centers. To allow IT to maximize infrastructure utilization on both public cloud and on-premises resources, Fission offers fine-grained cost and performance optimization controls.
Serverless functions can be configured with specific CPU and Memory resource usage limits, minimum/maximum number of instances and auto-scaling parameters. These parameters allow for functions to be tuned with an execution strategy that best fits the specific business use case. For example, functions that have severe cost constraints can be deployed into containers on-demand, minimizing costs at the expense of performance. Conversely, functions that need performance above all other requirements can be configured to have instances always running, ensuring low latency but driving up costs. Functions can also take advantage of Fission’s pre-warmed container pools, which aggregate the cost of pooling over a large number of functions, while providing the performance benefits for all of them.