FaaS (Functions as a Service) - aka Serverless

Michael Bright, 27 January 2018,
DevConf.cz, Brno

These slides online at https://mjbright.github.io/Talks/2018-Jan-27_Devconf.cz_Serverless

Developer Evangelist @

Serverless Computing

  • What is Serverless?

    Your experiences?
  • Review of Cloud Provider Offerings.

    +CNCF Serverless WG
  • Serverless Tools

  • Serverless Platforms

  • Serverless In Action - demos

What is Serverless

No more servers ?!

The path to Serverless

Serverless - The making of ...

Serverless - What is it? ...

At the peak of the Hype Cycle !!

  • Don't care about servers

    - Developers focus on apps
    - Servers are auto-scaled
    - No server provisioning
  • BaaS

    • - Back-end as a Service - e.g. DB, messaging
  • Now FaaS + BaaS

    • Functions as a Service - your stateless logic
  • Pay as you go

    - Pay for real usage (theory)
    - No initial investment
    - Great for startups
  • Agile

    - Short time to market
    - Enables innovation
    - Massive scale on demand (theory)
  • Also a company!

    -Serverless(.com) provide deployment tools
    -called Serverless !

The future of fast-food is Serverless

Serverless - Event Driven Architecture

API Gateway allows external access to functions ...

Serverless - What is it? ... Use Cases


Serverless - What is it? ... Use Cases

Where it doesn't make sense to pay for always-on services

  • Periodic

    - monthly payroll
    - weekly news
    - daily summaries

    - Bank check processing
       (with image recognition)
  • Unpredictable

    - git webhooks
    - user web requests
    - S3 file uploads
    - SMS reception
  • Domains

    - IoT
    - Banking
    - Glue-logic

  • Characteristics

    - latency tolerant
    - event-driven
    - short-lived
    - periodic

Serverless - Cloud Providers

Serverless - Cloud Provider Offerings


AWS Lambda


Introduced βeta in Nov 2014, stable version by end of 2015.
Leader in developer uptake, back-end services and eco-system.

Language choices: Node.js (JS), Python, Java 8, C#, VB/F#?
(CSAR project)
NEW: Go (static binaries) and .Net(C#)
Cost: Free tier: 1 mn req/mth, then $0.00001667/GBy-sec details
Strengths: Created the space, enormous ecosystem, Cloud9 IDE?
Weaknesses: A little slow, limited languages, lock-in


Azure Functions


Introduced in May 2016

Many language choices: JavaScript, C#, F#, Python, PHP, Bash, PowerShell ...
Cost: Free tier: 1 mn req/mth, then $0.000016/GBy-sec details
Strengths: Win dev ecosystem, VStudio tools, Azure Stack
Weaknesses: still young, lock-in


Google Cloud Functions


Alpha release in Feb 2016.

Language support: JavaScript only.
Cost: Free tier: 2mn req/mth, then $0.0000004/GBy-sec details
Strengths: Google dev ecosystem, backend services
Weaknesses: Very young, Js only, commitment? Cost, lock-in


IBM Cloud Functions


Experimental release in Feb 2016

Open Sourced as Apache OpenWhisk

Language support: Node.js, Swift or BYoC
Cost: Free tier: 2mn req/mth, then $0.0000004/GBy-sec details
Strengths: Open source community, RedHat/Adobe backing, Fast growth
Weaknesses: lock-in


But we need open Serverless for open Cloud

The CNCF has a created a Serverless WG

CNCF Serverless

CNCF Serverless WG to

  • Provide clarity on the topic:
    • * Define common terminology
    • * Define the scope of the space
    • * Identify common use cases and patterns
    • * Identify relation to PaaS and container orchestration

  • Identify potential next steps for the community:
    • * Identify areas for harmonization or interop work

  • Create a whitepaper on Serverless.

CNCF Serverless WG Resources

Serverless - Tools

Serverless - Open Source tooling ...

Serverless - Open Source Frameworks

Serverless - Open Source Frameworks

--> --> --> -->

OpenFaaS - Johhny Mkhael, Unleasing the Artist in you

OpenFaaS - Finnian Anderson, Colourising Video with OpenFaaS Serverless Functions

Thanks !


Resources - 1

Resource Description URL
awesome-serverless Curated list of awesome services, solutions and resources for serverless / nobackend applications. [github] anaibol/awesome-serverless
awesome-Serverless(.com) Curated list of resources related to serverless architectures and the Serverless Framework [github] JustServerless/awesome-serverless
Serverless Tools for deploying to several Cloud Providers [github] serverless/serverless
Apex Tools for deploying to AWS Lambda [github] apex/apex

Resources - 2

Resource Description URL
Cloud Providers
AWS Lambda Amazon's Serverless Platform https://aws.amazon.com/fr/lambda/
Azure Functions Microsoft's Serverless Platform https://azure.microsoft.com/en-us/services/functions/
Google Cloud Functions Google's Serverless Platform https://cloud.google.com/functions/
IBM Cloud Functions IBM's Serverless Platform https://www.ibm.com/cloud-computing/bluemix/openwhisk

Resources - 3

Resource Description URL
Open Source Serverless Platforms
Kubeless Serverless platform from Bitnami url
Fission.io Serverless platform from Platform9 url
Apache OpenWhisk Serverless platform from IBM url
OpenFaaS Serverless platform from Alex Ellis, Docker Captain url
Serverless Python Frameworks
Apex Serverless framework supporting Python and other languages url
Chalice Serverless framework supporting Python / Flask url
Lambdify Serverless framework supporting Python url
Zappa Serverless framework supporting Python / WSGi url

Thanks !