OpenFaaS framework
Serverless functions for Docker & Kubernetes
CNCF INTRO & DEMO
by Alex Ellis
What is Serverless?
MicroserviceMicroserviceMicroservice
Monolith
Microservice
Function
Serverless evolution
OpenFaaS
DRIVING FACTORS
PortabilityEase of use
Simplicity
Open
Platform
How did OpenFaaS come about?
STORY SO FAR
• “Lambda but on containers for Alexa”
• Dockercon Cool Hacks - “push Docker beyond what it was made to do”
• Major changes since Dockercon
• Top trending Open Source project overall
• > 4.4k stars
• Kubernetes & external provider support
• Asynchronous processing via NATS
• CLI - templating
• Regular contributors & Slack Community
What is OpenFaaS?
"A SERVERLESS FRAMEWORK BUILT ON CONTAINERS"
• Basic primitive: containers in OCI format
• Container security
• r/o filesystem, privilege drop, content trust
• Manage functions with scheduler/orchestrator
• Rich container eco-system - commercial & community
• Avoid vendor lock-in
• Run anywhere - cloud or on-prem
• Leverage existing skills in teams (including Windows)
• Anything can be a function.
Comes in one flavor: Cloud Native
HTTP
body
stdinrequest
stdoutresponse
“/usr/bin/node

handler.js”
headers
body
headers
Forked process
Function watchdog
YAML stack format
provider:
name: faas
gateway: http://localhost:31112
shrink-image:
image: functions/resizer:latest
fprocess: "convert - -resize 50% fd:1"
url-ping:
lang: python
handler: ./sample/url-ping
image: alexellis/url-ping
$ faas-cli -action build -f ./sample.yml
$ faas-cli -action deploy -f ./sample.yml
SAMPLE
def handler(req):
print(‘You said ‘ + req)
Deployed in 60 seconds
QUICK DEMO
What’s next for OpenFaaS?
SET REPLICAS = 10,000
• Roadmap - supporting users
• Evaluating - ADP, CodeFresh, IRT Saint Exupery, Reevoo
• Additional language templates - CSharp, Ruby
• Curating UX
• Guides, manual & tutorials for developer-clouds
• Website & branding
• Contributors, sponsorship and finding a home
• Speaking & SWAG
• LinuxCon North America + CNCF London - Sept
• Dockercon EU - October
• Kubecon (?) - November
@alexellisuk
https://github.com/alexellis/faas
Fun examples
FUNCTIONS / DEMOS
• Dockercon closing keynote (video)
Derek
• https://github.com/alexellis/derek
Twitter + Elastic search / Youtube Downloader
• https://github.com/alexellis/journey-expert
Other functions
• https://github.com/alexellis/faas-contributor-stamp
• https://github.com/alexellis/faas-office-sample
• https://github.com/alexellis/faas-img2ansi

CNCF Intro & Demo - OpenFaaS framework

  • 1.
    OpenFaaS framework Serverless functionsfor Docker & Kubernetes CNCF INTRO & DEMO by Alex Ellis
  • 2.
  • 4.
    OpenFaaS DRIVING FACTORS PortabilityEase ofuse Simplicity Open Platform
  • 5.
    How did OpenFaaScome about? STORY SO FAR • “Lambda but on containers for Alexa” • Dockercon Cool Hacks - “push Docker beyond what it was made to do” • Major changes since Dockercon • Top trending Open Source project overall • > 4.4k stars • Kubernetes & external provider support • Asynchronous processing via NATS • CLI - templating • Regular contributors & Slack Community
  • 6.
    What is OpenFaaS? "ASERVERLESS FRAMEWORK BUILT ON CONTAINERS" • Basic primitive: containers in OCI format • Container security • r/o filesystem, privilege drop, content trust • Manage functions with scheduler/orchestrator • Rich container eco-system - commercial & community • Avoid vendor lock-in • Run anywhere - cloud or on-prem • Leverage existing skills in teams (including Windows) • Anything can be a function.
  • 7.
    Comes in oneflavor: Cloud Native
  • 8.
  • 9.
    YAML stack format provider: name:faas gateway: http://localhost:31112 shrink-image: image: functions/resizer:latest fprocess: "convert - -resize 50% fd:1" url-ping: lang: python handler: ./sample/url-ping image: alexellis/url-ping $ faas-cli -action build -f ./sample.yml $ faas-cli -action deploy -f ./sample.yml SAMPLE def handler(req): print(‘You said ‘ + req)
  • 10.
    Deployed in 60seconds QUICK DEMO
  • 11.
    What’s next forOpenFaaS? SET REPLICAS = 10,000 • Roadmap - supporting users • Evaluating - ADP, CodeFresh, IRT Saint Exupery, Reevoo • Additional language templates - CSharp, Ruby • Curating UX • Guides, manual & tutorials for developer-clouds • Website & branding • Contributors, sponsorship and finding a home • Speaking & SWAG • LinuxCon North America + CNCF London - Sept • Dockercon EU - October • Kubecon (?) - November
  • 12.
  • 13.
    Fun examples FUNCTIONS /DEMOS • Dockercon closing keynote (video) Derek • https://github.com/alexellis/derek Twitter + Elastic search / Youtube Downloader • https://github.com/alexellis/journey-expert Other functions • https://github.com/alexellis/faas-contributor-stamp • https://github.com/alexellis/faas-office-sample • https://github.com/alexellis/faas-img2ansi