I’m excited to announce that today we’ve released a new version of Fission – our popular open source, Kubernetes-native serverless framework – boasting a slew of new features design to improve the quality and reliability of serverless applications.
As the industry’s first open source serverless solution to offer Live-reload, Record-replay, Automated Canary Deployments, and additional features – this new release is all about making it a no-brainer for organizations to safely adopt Serverless and benefit from the speed, cost savings and scalability of this modern development pattern on any environment – either in the public cloud or on-premises.
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.
Let’s dive into all the new features in this release and how they give both Dev and Ops confidence in the production-readiness of serverless applications — improving quality, simplifying testing and troubleshooting, streamlining releases, and optimizing cost.
1Live-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.
2Record-replay: Simplify testing and debugging
Fission is the first 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.
3Automated 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 is the first 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.
4Prometheus 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.
5Cost 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.
Enterprises love Fission
Headquartered in San Francisco, CA., Snapfish is the leader in online photo printing services. Founded in 1999, it provides high-quality photo products to consumers looking for great value and selection. The company operates in multiple countries around the world and supports blue-chip companies’ photo efforts.
Using Fission Snapfish is able to simplify their development experience and accelerate their releases – modernizing their applications to take advantage of Serverless while leveraging their existing data center investment.
“Our global photo platform helps hundreds of millions of devoted users preserve their memories by combining all of their favorite photos on thousands of customized products. We are always looking for ways to improve the way we manage the scale and quality of our applications. These new Fission features will help our developers deliver new customer experiences built on serverless applications without the dependency of managing the complexity of scale”, said Kenneth Lam, Director of Technology at Snapfish. “Fission allows our company to benefit from the speed, cost savings and scalability of a cloud-native development pattern on any environment we choose, whether it be the public cloud or on-prem.”
See a quick demo of all the new features in Fission:
Take the serverless plunge!
Take advantage of the speed, cost savings and scalability of Serverless on any environment – either in the public cloud or on-premises.
Use the leading open source framework to develop better quality serverless apps and accelerate your time to value with Kubernetes.
- Serverless Performance on a Budget - November 20, 2018
- NEW! Fission Announces New Features to Give Dev and Ops Confidence in the Production-Readiness of Serverless Applications on Kubernetes - October 16, 2018
- Serverless Operations: 6 Best Practices from Dev to Production - September 25, 2018