Ido Neeman
February 05, 2019
It’s only been four years since Amazon spearheaded a paradigm shift in serverless computing with their AWS Lambda service. Today you can focus on value and pay only for the functions you use, saying goodbye to wasted server costs and time-consuming management concerns.
Building off offerings of major cloud providers, a plethora of affordable open source projects that can be used in multi-cloud deployments allows you to juggle affordability with performance in unprecedented ways. The one caveat – security needs must be taken into account from the get-go. But once security needs are accounted for, open source serverless frameworks can completely transform your business’s entire operation.
So take a look at our list of the top 9 most important open source projects that should be on your radar.
Apache OpenWhisk: A key player in the open source serverless ecosystem, backed by IBM. Apache OpenWhisk is easily integrated with other services, and you can continue writing in the language of your choice. For developers who want to begin taking advantage of the unique benefits of serverless platforms, Apache OpenWhisk is particularly useful. Forget about infrastructure and focus on your code.
OpenFaas: An easy-to-use platform for building serverless functions, OpenFaaS highlights its portability and language compatibility. Built around Docker and scalable with demand increases, OpenFaaS will surpass the needs of many developers. A community favorite, OpenFaaS has been starred over 11,000 times on GitHub.
Gestalt: Motivated by a vision of helping businesses “future proof their cloud applications,” the Gestalt platform is all about preparing companies for the open source cloud-based future awaiting us all. Scalability meets convenience, so get used to lightning quick speeds and enhanced functionality, while staying with your preferred language.
Fission: A leading open source serverless platform for Kubernetes, Fission strives to be the most competitive open source alternative to AWS Lambda. Write functions and map them to triggers to be deployed on all Kubernetes clusters. Use the time that would’ve been drained maintaining a Docker registry to enhance your code.
OpenLambda: Uniquely designed for research purposes, OpenLambda is all about enabling the “exploration of new approaches to serverless computing.” Lacking some of the functionality of other open source projects, OpenLambda can still provide tremendous value to developers even outside a production context.
IronFunctions: An easy-to-use FaaS platform, IronFunctions is written in Go and requires a Docker login. Compatibility was clearly taken into account, and so cross integration with AWS Lambda is straightforward. Developers will appreciate the time IronFunctions frees up – and for free. Write in any language and run it anywhere.
Nuclio: Allows you to process thousands of HTTP requests a second, and is supposedly faster than some commercial and open source competitors. Nuclio can be used with Kubernetes or as an independent Docker container and features many native integrations.
Fn: Backed by Oracle and powered by the team responsible for IronFunctions, Fn is pursuing a “simple yet powerful” vision for open source serverless platforms. Written in Go and native to Docker, Fn allows you to import Lambda functions without being tied to a location. In this sense, it’s user-friendly for both developers and operators.
Kubeless: Another way to forget about infrastructure and focus on what you do best, Kubeless allows you to go completely portable while mirroring the functionality of AWS Lambda. As another open source serverless grounded in Kubernetes, it can be installed easily and run anywhere – plus it makes unique use of Custom Resource Definitions to create functions.
A huge advantage of the open source ecosystem is how cooperation leads to advances at a mind-boggling rate. However, while developers try to keep an eye on security gaps, the reality is that costly holes in the application layer can be missed. Vandium, for example, is a lightweight open source solution to secure serverless functions against some application layer attacks.
Some risks are mitigated with patches when using open source platforms, but the priority, of course, is not to compromise between efficiency, performance, and security. Companies should regularly assess their security posture and apply security measures that are effective but do not hinder performance.