Serverless architecture can help businesses, from enterprises to startups to speed up innovation, digitize legacy systems, and create new products and services without needing to manage server infrastructure.
The popular interpretation of Serverless is Functions-as-a-Service(FaaS) where developers can upload code that is run within Compute containers that are triggered by a variety of events, are ephemeral and fully managed by the cloud platform. FaaS obviates the need to provision, manage, scale or manage availability of your own servers. The most popular FaaS offering is AWS Lambda but Microsoft Azure Functions, Google Cloud Functions.
In this post, we try to gather every company, product, tool, or framework that has something to do with Serverless paradigm. Clearly, this industry is exponentially increasing over time. In this post you will get a glimpse of every product or tool that is out there, we also tried to segment the tools and products into a few categories.
So, let’s start with a landscape map that categorizes companies into several categories
Spotinst’s Serverless Map, 2017
Cloud Providers/ Serverless Platforms
IBM OpenWhisk is a distributed, event-driven compute service.OpenWhisk runs application logic in response to events or direct invocations from a web or mobile apps over HTTP.
Lambda is an event-driven, Serverless computing platform provided by AWS. It is a compute service that runs code in response to events and automatically manages the compute resources required by that code.
Google Cloud Functions is a lightweight, event-based, asynchronous compute solution that allows developers to create small, single-purpose functions that respond to cloud events without the need to manage a server or a runtime environment.
Azure Functions is a solution for easily running small pieces of code in the cloud. Functions can make development even more productive, and you can use your development language of choice.
Webtask is a simple, lightweight, and secure way of running isolated backend code that removes or reduces the need for a backend. It is a secure and cost-efficient solution to the challenge of supporting extensibility through a custom code in multi-tenant systems.
Open Source Serverless Frameworks
LeverOS is the open-source cloud platform that abstracts away complicated infrastructure and microservices challenges and leaves developers with very simple, but powerful building blocks that handle scale transparently.
Funktion is an open source project which implements an event-based Lambda style programming model for Kubernetes. Funktion is a subset of a wider product called “fabric8.io” by RedHat.
Fission is a serverless framework for Kubernetes with a focus on developer productivity and high performance.
OpenLambda is an Apache-licensed Serverless Computing project, written in Go and based on Linux containers. One of the goals of OpenLambda is to enable exploration of new approaches to serverless computing.
We have actually given it a try and found out that OpenLambda is still premature, we had to make some modifications and adjustments to make it work
Iron.io has developed a framework for running event-driven compute and serverless apps, they’ve recently open-sourced it. They currently focus on delivering API-driven workload management and a message queue with the flexibility and control to determine where to deploy job processing while using existing internal security processes.
Kubeless (By Bitnami)
kubeless is a Kubernetes-native serverless framework.
Openwhisk (By IBM)
IBM OpenWhisk runs application logic in response to events or direct invocations from web or mobile apps over HTTP. OpenWhisk is open source project. the managed (as a service) version called IBM Bluemix.
The Serverless Framework allows you to deploy auto-scaling, pay-per-execution, event-driven functions to any cloud. Currently support AWS Lambda, Apache OpenWhisk, Microsoft Azure, and are expanding to support other cloud providers.
FaaS Library. StdLib provides an easy way to create, distribute and discover web services.
Sparta transforms a single Go binaries registered lambda functions into a set of independently addressable AWS Lambda functions. Additionally, Sparta provides microservice authors an opportunity to satisfy other requirements such as defining the IAM Roles under which their function will execute in AWS, additional infrastructure requirements, and telemetry and alerting information.
Gestalt (Galactic Fog)
The Gestalt Framework is a set of microservices that used together create a platform for companies to build future-proofed cloud-native applications.The framework is comprised of three major components the meta-layer, which runs tracks and applies policy to all IT resources, the infrastructure layer which is a plug-able container and lambda management engine, and the integration layer which is a set of off the shelf microservices designed to solve most common enterprise integration
Effe is an extremely simple Open Source building block with which to build a serverless architecture. Effe operates on the level of a single lambda function
Apex lets you build, deploy, and manage AWS Lambda functions with ease. With Apex you can use languages that are not natively supported by AWS Lambda, such as Golang, through the use of a Node.js shim injected into the build. A variety of workflow related tooling is provided for testing functions, rolling back deploys, viewing metrics, tailing logs, hooking into the build system and more.
Distribyte aims to bring the Serverless advantage to the world of state. This allows applications to store data seamlessly between compute invocations. Adding data into the mix unlocks use cases previously out of reach of existing Serverless offerings.
Serverless API Frameworks
Multicolour is a REST API generator, it’s mission is to save your company 90% in the cost and time of developing developer-friendly APIs that empower your business. It’s packed with functionality and connectivity unrivaled by even the most mature frameworks available in the NodeJS ecosystem.
Deployd is a tool that makes building APIs simply by providing important ready-made functionality out of the box that meets the demands of complex applications.
Export an endpoint function and your notebook automatically become an HTTPS endpoint, accessible from any app. Great for prototyping iOS and Android backends, or creating microservices.
Kong is a scalable, open source API Layer (API Gateway, or API Middleware). Kong runs in front of any RESTful API and is extended through Plugins, which provide extra functionality and services beyond the core platform.
Tyk is an open source API Gateway that is fast, scalable and modern. Tyk offers an API management platform with an API Gateway, API analytics, developer portal and API Management Dashboard.
API Umbrella is a proxy that sits in front of your APIs.
It can seamlessly add common functionality like API keys, rate limiting, and analytics to any API.
Fusio is an open source API management platform which helps to build and manage REST APIs. Fusio provides all tools to quickly build an API from different data sources yet it is possible to create completely customized responses.
Kappa is a command line tool that makes it easier to deploy, update, and test functions for AWS Lambda. There are quite a few steps involved in developing a Lambda function – Kappa tries to help you with some of this.
Zappa makes it super easy to build and deploy all Python WSGI applications on AWS Lambda + API Gateway. Think of it as “serverless” web hosting for your Python apps. That means infinite scaling, zero downtime, zero maintenance – and at a fraction of the cost of your current deployments!
Stamplay is an API-based development platform, empowering web developers to build and launch full-featured cloud-based web apps in record time.
Firebase is a mobile platform that helps you quickly develop high-quality apps, grow your user base, and earn more money. Firebase is made up of complementary features that you can mix-and-match to fit your needs.
FaunaDB is a distributed, multi-tenant, multi-model database system with a powerful query language. This developer guide will introduce the key concepts of FaunaDB.
GraphQL is a query language for your API, and a server-side runtime for executing queries by using a type system you define for your data. GraphQL isn’t tied to any specific database or storage engine and is instead backed by your existing code and data.
Of course, Amazon DynamoDB, Google Cloud Spanner, Microsoft Azure’s CosmosDB and others are Serverless databases as well.
Serverless Monitoring Services
IOpipe is a high fidelity metrics and monitoring service which allows you to see inside Amazon Lambda functions for better insights into the daily operations and development of serverless applications.
Dashbird is a tool for getting insights into your AWS Lambda functions. Our goal is to clearly visualize processes happening across your serverless stack. The platform provides alerting, logs and invocation data. This is all done automatically – without needing any changes to your codebase.
In a Serverless world, Snyk aims to help you understand and secure your dependencies, starting with tools that find, fix and monitor for known vulnerabilities in Node.js npm and Ruby packages.