7 Best Open Source Frameworks for Serverless Computing

Pratik Rupareliya
Intuz
Published in
6 min readJun 15, 2017

I think cloud deserves a tag of “The Technology for Decades” indeed the way it’s adding more and more sub-technologies under an umbrella. SaaS, PaaS, IaaS are quite familiar with cloud service provider companies. While DaaS (Database as a Service), FaaS (Function as a Service), RaaS (Robot as a Service) and EaaS (Everything as a Service) are emerging on the horizon of cloud, so only tech giants can afford to invest in innovation and execution.

FaaS is one of the fastest-growing cloud technologies that is also known as Serverless Computing. Usually, people get confused with the term “Serverless”. They assume the cloud technology runs without a server. Well, that’s not true! Explore basic information on the essential aspects of serverless computing by reading Serverless Computing: An Emerging Trend of Cloud. It will give you a brief idea on what does it mean, the best serverless servers in the world, as well as the pros and cons of the technology.

What is serverless computing?

Serverless computing can be defined as the set of servers, operating systems, and infrastructure. At the time of building serverless apps, there is no need for provision and server managing. You can avoid the tension of infrastructure set up. In Serverless computing, developers do not have to think much about the servers and its set up.

Some top characteristics of Serverless computing are -

• No need of managing server

• Flexible scaling which is event-driven

• Easily available

• No need to pay for idle capacity

  • Supports micro billing

Merits of using Serverless computing

• It has the capability to offer scales and handle the needed resources.

• Real-time rapid provision of resources for unforeseen peak loads and disproportionate growth.

• All the users are charged only for the used resources.

• It has high error tolerance and this is because of its flexible hardware infrastructure which is present at the computer centers of providers.

Now, let’s talk about the serverless computing frameworks that offer a wide platform for experimental projects and enable developers to explore new aspects of serverless computing without any commercial constraints.

#1. AWS Lambda

AWS Lambda, the most stable and mature framework amongst all serverless computing service providers. It supports Python, NodeJS, and Java. Several AWS services are integrated with Lambda. Moreover, IoT and mobile developers also prefer to use Lambda due to the flexibility and power it brings to cloud product.

Due to its integration with Alexa Skills Kit, it’s a prime choice to develop voice-activated applications for Amazon Echo. Amazon also enables developers with command line tools and an interactive console to upload and manage the snippets.

#2. Apache OpenWhisk

Written in Scala language, the framework processes the inputs from triggers like HTTP requests and later on fires a snippet of code either on JavaScript or Swift. Otherwise, Apache OpenWhisk accepts a binary in a Docker container in response. Thus, the framework performs multiple actions together from a single trigger. Rules to maintain the multiple actions are pre-defined where it is very clear what triggers touch off what actions.

Integration of OpenWhisk with external API services is also possible. You can find such integration available in Slack or GitHub. The framework can also be used for a service that offers API endpoints or webhooks. Initially, the OpenWhisk was working for the only Apache project. Now, the framework works with another serverless computing service provider IBM Bluemix as well.

#3. IBM OpenWhisk

It’s one of the best alternatives of AWS Lambda and allows to run snippets written in NodeJS and Swift. IBM OpenWhisk will support many more programming languages in near future. Developers can install the framework on their Ubuntu machine. Windows and Mac OS X developers have to install a Vagrant box to get the framework up and running. OpenWhisk can be integrated with IBM Bluemix and any third party service that supports Webhooks.

#4. Iron.io

Iron.io has represented itself as a Serverless computing framework. Initially, it was a managed platform hosted in the public cloud. It was developed to encourage developers to create their code and run it on Iron.io.

Now, this framework is offering a cohesive micro-services platform by integrating its existing services and embracing Docker. Developers write the functions in Go language. They are free to develop and deploy the functions within IronFunctions. To avoid lock-in with Amazon, Iron.io holds cross integration with AWS Lambda. Moreover, functions that are already hosted in Lambda can be run in or imported to IronFunctions.

#5. Fission

A serverless computing framework that permits developers to build functions using Kubernetes. It allows coders to write short-lived functions in any programming language and map them with any event triggers such as HTTP requests. Just apply one command and developers can deploy the functions immediately.

Fission doesn’t require any Docker registries to manage and containers to build. It’s an open source technology based on Apache License. It runs in your public cloud, private cloud or laptop. The open source framework supports various programming languages such as PHP, NodeJS, C#, Python, Go. Kubernetes frees developers from the heavy lifting of setting up the underlying strata. Serverless computing reduces the burden of developers related to the strata and Kubernetes enables operations not to get into those details.

#6. Gestalt

It is a set of pre-integrated microservices that allow developers to run the cloud native application. One of those services is Lambda Engine that enables developers with better speed than Amazon Lambda. It is also very flexible as developers can use the Lambda Engine with any programming language. Mainly, it supports Go, .Net, Ruby, Scala, Python, and JavaScript. Gestalt runs on Mesosphere DC/OS with the help of an installer that is already available on this platform. Else, developers can deploy it in a Kubernetes cluster with the Helm installer.

#7. OpenLambda

The framework is mainly designed for research. It allows developers to explore new approaches of serverless computing. Right now, OpenLambda contains basic functions. Developers are using this technology in production due to the intrinsic insecurity of design. As the framework has a few functionalities, it caters limited space to experiment different methodologies. Additionally, there are chances of hacking as it’s not a full-fledged product developed.

Below are some real-world examples of Serverless computing

Marbot The Serverless Slack Bot

Slack is a Serverless platform which is based on cloud technology and provides its teams with such tools that they can use for collaboration. It has increasingly becoming a popular business solution for small enterprises.

Audiobooks With Amazon Polly

Amazon is an immensely popular platform and is continuing to growing every single day. It sells everything i.e. from scented candles to sporting goods and the buyers could ever need. The first AI service that Amazon is having is Amazon Polly. The whole service converts the text into real speech.

Message-Driven Apps

Message-driven apps need to collect different pieces of information at one time. Advertisement platforms are the best example in this case. Clicking on the advertisement, you will get redacted to a new web page. The platform also records the number of clicks have been made on the advertisement and this will be beneficial for the PPC campaign. This Serverless technology is brilliant to provide such features.

Being a cloud enthusiast, I love to stay updated with the latest cloud tools, technologies, and trends. I am always eager to learn about the more mature processes to deliver authenticated cloud services and solutions that help developers in the smart management of server resources. Moreover, Serverless computing supports the “pay as you go” concept, so organizations need to pay only for the resources they used. Thus, adoption of serverless computing is highly cost effective.

Love what we write? Press the little heart ❤ and spread the word!

Also read: Serverless Architecture: The Next Grand Revolution in Cloud Computing

--

--

Pratik Rupareliya
Intuz
Editor for

Techno-commercial leader heading Intuz as head of Strategy.