7. OpenFaaS
DRIVING FACTORS
FrameworksPlatformsLibraries
Scheduling & Orchestration Coordination & Service Discovery Service Management
Container Runtime Cloud-Native NetworkCloud-Native Storage Public
Serverless computing refers to a new model of cloud native computing,
enabled by architectures that do not require server management to
build and run applications. This landscape illustrates a finer-grained
deployment model where applications, bundled as one or more
functions, are uploaded to a platform and then executed, scaled, and
billed in response to the exact demand needed at the moment.
Security
Azure Functions
v2.0
Serverless Cloud Native Landscape Greyed logos are not open source
github.com/cncf/landscape
Hybrid Kubernetes-Native
Dashbird
TM
fx
Tools
See the serverless interactive landscape at s.cncf.io
10. How did OpenFaaS come about?
STORY SO FAR
• Created by Alex Ellis
• “Lambda but with containers for Alexa”
• Dockercon Cool Hacks - “push Docker beyond what it was designed to do”
• Since May 2017
• > 11k stars
• Production case-studies
• Full-time at VMware
12. Comes in one flavor: Cloud Native
API Gateway Function Watchdog
Prometheus Swarm Kubernetes
http://localhost:8080/function/<name>
13. Serverless Functions Made Simple
Portable
Developer-
First
Unsurprising UNIX-like
Operator-
Friendly
Community-
Centric
Open
Platform
Developer
Love
CLI & UI
Cloud Native
14. How do I write a function?
WRITE A HANDLER
def handler(req):
r = requests.get(req)
return str(r.status_code)
handler.py
requirements.txt
requests
$ faas new --lang python kubecon
Python
Template
Docker
Image
Container Registry
15. USE ANY LANGUAGE
• Generate with templates
• Write your own
• Use existing binary/Docker image
How do I write a function?
20. AS FUNCTIONS
• Should be a function
• A can call B Directly
• A can call B via gateway
• Async
• Director Pattern
• Helper library available
Chaining / Workflows
25. Explain it to your boss
• Build your platform
• Iterate faster
• Use any language
• Own your data
• Unlock your community
WITH OPENFAAS YOU CAN:
26. Case study: University of Washington
CROWD-SOURCING
Anisha Keshavan
Post-doc
Neuroinformatics
Machine-learning
Scikit-learn
https://test.medulina.com/#/
27. Case study: Citrix, UK
MASS AUTOMATION
Jason Leonard
Staff Engineer
• Custom UI
• RBAC
• Cron/triggers
• Docker Swarm
28. Case study: British Telecom (BT) Research
REUSABLE RESEARCH CONTRIBUTIONS
Joost Noppen
• Making software accessible
within R&I/company
• Optimisation algorithms
(resource allocation,
scheduling)
• Deployment pipeline
• Language agnostic Optimization of algorithms