Build a Serverless Memes Function with OpenFaaS

In this quick post, I will show you how to build a Serverless function in Go to get the latest 9Gag Memes using OpenFaaS.

This tutorial assume that you have:

  • faas-cli installed – The easiest way to install the faas-cli is through cURL:

  • Swarm or Kubernetes environment configured – See Docs.

1 – Create a function

Create a “handler.go” file with the following content:

The code is self-explanatory, it uses 9Gag Web Crawler to parse the website and fetch memes by their tag.

2 – Docker Image

I wrote a simple Dockerfile using the Multi-stage builds technique to reduce the image size down:

3 – Configuration file

Note: If pushing to a remote registry change the name from mlabouardy to your own Hub account.

4 – Build

Issue the following command:

5 – Deploy

6 – Tests

Once deployed, you can invoke the function via:

cURL:

FaaS CLI:

UI:

Note: all code used in this demo, is available on my Github 😍

Comments

comments