Womenintech Part 6: How To Use The Serverless Framework And What’s The Difference To OpenFaaS

This post is about serverless functions and how to implement them with the Serverless Framwork compared to OpenFaas

published in: Women In Tech Date: March 02, 2018
Miriam Grainer, Junior IT-Consultant

About the author

Miriam Grainer is a Junior IT-Consultant for Infralovers and for Commandemy. Miriam loves to learn and experiment with new technologies and programming languages. She currently studies Informationmanagement at the University of Applied Science FH-Joanneum in Graz. Twitter LinkedIn

See all articles by this author


As part of my Bachelor Thesis “Serverless Architectures”, my boss Edmund wanted to support me and assigned me the task to implement a serverless function to gain a deeper understanding of the serverless concept. We decided to work with the Serverless Framework.

We wanted to trigger our deployment pipeline for our website, which is described in the article Womenintech Part 4: Continuous Delivery Of A Static Web Page With Jekyll, GitLab And AWS, through a simple slash command in our slack channel. The problem here was, that you can’t configure the slash command to send a HTTP POST request with a JSON payload. So we decided to use a simple serverless function which triggers our pipeline.

The Serverless Framework

The Serverless Framework is a toolkit which is designed for operating serverless architectures and deploying centrally to AWS Lambda, Microsoft Azure, IBM OpenWhisk and some more providers. The first thing you need to do is install the Serverless Framework on your machine with the command ‘’’npm install -g serverless’’’. Afterwards you can choose between AWS Lambda, Microsoft Azure, IBM OpenWhisk and some more providers where your service should run. The most common supported programming languages are Node.js, Python, Java and some more.

AWS Lambda, Microsoft Azure, OpenWhisk


  • Node.js v6.5.0 or later
  • Serverless CLI v1.9.0 or later
  • Account at your desired provider

Creating a Serverless Function

To create a new service with a template you can use the command below (choose your favorite provider):

serverless create --template aws-nodejs | azure-nodejs | openwhisk-nodejs --path path-of-project

The template you get is configured to return a simple text message. We wanted our function to send a HTTP POST request to an API endpoint. Therefor I rewrote the code to handle this and to use custom options.

Afterwards I tested the function to see if it works as expected:

serverless invoke –f “name of function”

serverless invoke –-function “name of function(OpenWhisk)

Deploying the service to a provider can be achived with the following command:

serverless deploy (-v)

AWS and OpenWhisk use the ‘-v’ option, whereas Microsoft doesn’t.

After the deployment, we configured the slash-command to send an HTTP POST Request to the API where our function is located, when called.

OpenFaaS: The OpenSource Serverless Framework

OpenFaaS on the other side is a open source serverless framework to build serverless functions. They can be embedded in a Docker container, this means that you are not dependet on the programming languages that are supported by your provider. To work with it you should setup OpenFaas with Docker Swarm or with Kubernetes.

In contrast to the other providers, OpenFaaS works with orchestration platforms such as Docker Swarm or Kubernetes. It does not depend on runtimes for each supported language, therefor you can run code in any programming language.


It was really interesting for me to figure out how easy it is to configure and work with serverless functions. I very appreciate it that my colleagues support me wherever they can and that they are assigning me tasks which help me to write my Bachelor Thesis.