Skip to content
Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
65 lines (42 sloc) 2.08 KB

Going Serverless with OpenFaaS, Kubernetes, and Python

Submitted by

Michael Herman

Description

OpenFaaS (Functions as a Service) is a framework for building serverless, event-driven functions with Docker and Kubernetes.

In this tutorial, you'll learn how to build and deploy a full-stack application that uses Flask (client-facing app) along with OpenFaaS to handle background processes.

Audience

This is an intermediate-level tutorial geared toward those that have experience with full-stack web development with a Python-backend (i.e., Flask, Django) and client-side JavaScript framework or library (i.e., React, Angular, Vue). This tutorial also assumes prior knowledge of Docker and some experience working with a Docker-based microservice stack.

Objectives

By the end of this tutorial, you will be able to...

  1. Explain what serverless architecture is and why it may be a good option for you
  2. Discuss the pros and cons of using OpenFaaS over other serverless options like AWS Lambda
  3. Configure and run services locally with Docker, Docker Compose, and Docker Machine
  4. Install Flask, Ngnix, Gunicorn, and a serverless backend on a Digital Ocean Droplet
  5. Manage, deploy, and scale the services via Kubernetes

Outline

Introduction (30 minutes - (100% lecture))

  1. About Me
  2. Objectives
  3. Architecture
  4. Serverless 101
  5. Kubernetes 101
  6. Project Setup

Containers and Services (30 minutes (100% lecture))

  1. Flask web framework + Python
  2. Code execution back-end powered by OpenFaaS
  3. Workflow
  4. Nginx

Deployment (1.5 hours - (30 minute lecture, 1 hour hands-on))

  1. Kubernetes
  2. Digital Ocean Setup
  3. Deploying Each Service
  4. Workflow

What's next? (30 minutes)

  1. Next Steps
  2. Questions

Additional notes

A few things...

  1. This tutorial comes from a modified version of the course at http://testdriven.io/
  2. You can see my past speaking history at http://mherman.org/talks
  3. I run the NodeJS Meetup in Denver/Boulder - https://www.meetup.com/Node-js-Denver-Boulder/
  4. I am a former lead web development instructor for Galvanize, where I taught full-stack JavaScript
You can’t perform that action at this time.