SlideShare a Scribd company logo
© Copyright 2019 Pivotal Software, Inc. All rights Reserved.
Florent Biville
4th of July = Saint Florent !
Function as a Service
with Knative and
Agenda
■ Introduction to 🗻
■ … and beneath ⚙
■ Demos 🙏
■ Q+A ❓
`who am i`
Florent Biville ( @fbiville)
■ riffer at by day
■ ambassador and trainer by night
■ Spring Paris, Hackergarten Paris co-org
■ co-founder and co-org
■ Bu cümleyi anlarsan, sunumumdan sonra konuşalım!
`who am i`
Introduction to
Word of caution ⚠
What you will 👀 about is
not released yet and is subject to change
What is love ?
is the open-source serverless Function As A Service platform
■ based on Kubernetes (shorthand: K8s)
■ easy to install (CNAB FTW)
■ easy to scale (via Knative serving built-in autoscaling, inc. scale-{to,from}-zero)
■ with polyglot function support (build sources via Knative build and buildpacks v3)
■ with emergent stateful streaming support
■ and an overall improved User eXperience in mind
Thanks for attending, bye!
Source: https://www.ina.fr/video/I08358793/valery-giscard-d-estaing-au-revoir-video.html
Wow, let’s back up a bit!
Kubernetes has become the de-facto IaaS*
*IaaS = Infrastructure as a Service
Kubernetes has become the de-facto IaaS
■ Open-source, CNCF project
■ Rich and growing ecosystem
■ Sane and simple conceptual core model
■ Generic and extensible via CRD
Stop!
Demo time!
K8s is awesome, but!
■ Common deployment patterns complex to
implement (want to 👀 some more YAML? 🤕)
■ Perfect to build a platform on top of it …
■ … which is probably NOT the core mission of
your company 😉
Have you
heard
about
Knative to the rescue
■ 3 main components
○ Build 🛠
○ Serving 🥂
○ Eventing ⛓
Knative to the rescue
■ 3 main components
○ Build 🛠
○ Serving 🥂
○ Eventing ⛓
Knative build
Brings a custom Build resource
The whole sequence of steps is run on the cluster,
in Builder images configured in a
(Cluster)BuildTemplate
Performs tasks such as:
■ Fetching code from repositories
■ Compiling
■ Publishing images
Current build template is based on
Buildpacks v3
apiVersion: build.knative.dev/v1alpha1
kind: BuildTemplate
metadata:
name: bazel
spec:
parameters:
- name: TARGET
description: The name of the Bazel "container_push"
target to run
steps:
- name: build-and-push
image: gcr.io/cloud-builders/bazel
args: ['run', '${TARGET}']
Buildpacks v3
■ Initially developed by Heroku & Pivotal
■ Build auto-detection (npm, Maven, Gradle…)
■ Eases the production upgrade process
■ defines its own builder and buildpacks
to detect, build and publish functions with
their corresponding invoker
Knative to the rescue
■ 3 main components
○ Build 🛠
○ Serving 🥂
○ Eventing ⛓
Knative serving
■ Autoscaling (down-to/up-from 0)
■ Routing with Istio (service mesh)
■ Versioned code & configuration (revision)
Back to 😅
What is love ?
is the open-source serverless Function As A Service platform
■ based on Kubernetes (shorthand: K8s) ✓
■ easy to install (CNAB FTW)
■ easy to scale (via Knative serving built-in autoscaling, inc. scale-{to,from}-zero) ✓
■ with polyglot function support (build sources via Knative build and buildpacks v3) ✓
■ with emergent stateful streaming support
■ and an overall improved User eXperience in mind
Installation via riff CNAB
CNAB?
Cloud Native Application Bundle
■ Standard for packaging multi-component
applications
■ Target environment-agnostic
■ Invocation image can use Helm, KAB etc
■ Bundle can be thin or thick
cnab.io
Installation via riff CNAB
The bundle includes
■ Knative serving and build
■ Istio (Envoy) service mesh
■ riff custom resources and controllers
It does not include
■ A K8s cluster
Stop!
Demo time!
Stop!
Demo time!
What is love ?
is the open-source serverless Function As A Service platform
■ based on Kubernetes (shorthand: K8s) ✓
■ easy to install (CNAB FTW) ✓
■ easy to scale (via Knative serving built-in autoscaling, inc. scale-{to,from}-zero) ✓
■ with polyglot function support (build sources via Knative build and buildpacks v3) ✓
■ with emergent stateful streaming support
■ and an overall improved User eXperience in mind
Function deployment
Function?
■ A custom resource to describe the
(Repo URL)→Docker image
transformation on the cluster a.k.a. build
■ Orchestrated by the buildpack
builder
■ Invokable in:
○ Request-reply mode (handler)
○ Streaming fashion (processor)
const os = require('os');
const hostname = os.hostname();
module.exports = name => {
console.log(`received request to ${hostname} for ${name}`);
return `hello ${name} from ${hostname}`
};
Stop!
Demo time!
Streaming function (pre-α)
Streaming
■ Heavy lifting done by Spring Cloud Fn
■ Streaming processor and gateway
(Liiklus) abstract the underlying msg
system
■ ⚠ Only Java supported at this point
(broader support soon)
Fn Invoker Processor
Gateway
1
Gateway
2
Kafka
topic1
Kinesis
topic2
What is love ?
is the open-source serverless Function As A Service platform
■ based on Kubernetes (shorthand: K8s) ✓
■ easy to install (CNAB FTW) ✓
■ easy to scale (via Knative serving built-in autoscaling, inc. scale-{to,from}-zero) ✓
■ with polyglot function support (build sources via Knative build and buildpacks v3) ✓
■ with emergent stateful streaming support ✓
■ and an overall improved User eXperience in mind ✓
Useful resources
Useful resources
riff resources
Documentation: https://projectriff.io
CNAB bundle: https://github.com/projectriff/cnab-riff
System: https://github.com/projectriff/system
Buildpack builder: https://github.com/projectriff/builder/
CLI: https://github.com/projectriff/cli/
PFS: https://pivotal.io/platform/pivotal-function-service
Twitter: https://twitter.com/projectriff
General resources
CNAB: https://cnab.io/
Cloud Native Buildpacks v3: https://buildpacks.io/
Kubernetes: https://kubernetes.io
Knative: https://cloud.google.com/knative/
Presentation resources
Demo repo: https://github.com/fbiville/riff-demos
Q&A
Thank you 🙏
Any questions?

More Related Content

PDF
Knative and Riff
PDF
Knative from an Enterprise Perspective
PDF
Insights on Knative and how it changes the serverless landscape
PDF
Knative CloudEvents
PDF
Cloud-native Patterns (July 4th, 2019)
PDF
The what, why and how of knative
PDF
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
PDF
Knative And Pivotal Function As a Service
Knative and Riff
Knative from an Enterprise Perspective
Insights on Knative and how it changes the serverless landscape
Knative CloudEvents
Cloud-native Patterns (July 4th, 2019)
The what, why and how of knative
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
Knative And Pivotal Function As a Service

What's hot (20)

PDF
Knative, Serverless on Kubernetes, and Openshift
PPTX
Going Serverless with Kubeless In Google Container Engine (GKE)
PDF
Knative Meetup
PDF
Kubernetes, Istio and Knative - noteworthy practical experience
PDF
Developing Serverless Applications on Kubernetes with Knative
PDF
Building and Running Workloads the Knative Way
PDF
JJUG CCC 2018 : Lessons Learned: Spring Cloud -> Docker -> Kubernetes
PDF
Building Resilient Cloud Native Apps in GKE
PDF
Kubernetes Native Serverless solution: Kubeless
PDF
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
PDF
Building Event-Driven Workflows with Knative and Tekton
PDF
Kubernetes, Istio e Knative: The new cloud stack
PPTX
Serverless Summit India 2017: Fission
PDF
Spring Boot 2.2
PDF
Keptn Meetup Interoperable ci/cd ecosystem
PDF
Deploy your machine learning models to production with Kubernetes
PPTX
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
PPTX
Building CI/CD Pipelines with Jenkins and Kubernetes
PDF
Intro to React
PDF
India Serverless Summit 2017 - Sponsorship Deck
Knative, Serverless on Kubernetes, and Openshift
Going Serverless with Kubeless In Google Container Engine (GKE)
Knative Meetup
Kubernetes, Istio and Knative - noteworthy practical experience
Developing Serverless Applications on Kubernetes with Knative
Building and Running Workloads the Knative Way
JJUG CCC 2018 : Lessons Learned: Spring Cloud -> Docker -> Kubernetes
Building Resilient Cloud Native Apps in GKE
Kubernetes Native Serverless solution: Kubeless
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Building Event-Driven Workflows with Knative and Tekton
Kubernetes, Istio e Knative: The new cloud stack
Serverless Summit India 2017: Fission
Spring Boot 2.2
Keptn Meetup Interoperable ci/cd ecosystem
Deploy your machine learning models to production with Kubernetes
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
Building CI/CD Pipelines with Jenkins and Kubernetes
Intro to React
India Serverless Summit 2017 - Sponsorship Deck
Ad

Similar to Function as a Service with Knative and riff (20)

PDF
The path to a serverless-native era with Kubernetes
PDF
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
PDF
KNATIVE - DEPLOY, AND MANAGE MODERN CONTAINER-BASED SERVERLESS WORKLOADS
PDF
DCEU 18: Docker Containers in a Serverless World
PDF
Knative Intro
PDF
STANISLAV KOLENKIN, BAQ "K8S: network plugins - issues and performance compar...
PDF
Serverless Spring - Nate Schutta 2/2
PDF
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
PDF
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
PDF
Kubernetes: The evolution of distributed systems | DevNation Tech Talk
PDF
Serverless with Knative - Mete Atamel (Google)
PPTX
ATO 2018 - What is Serverless Useful For?
PPTX
Developing Serverless Applications on Kubernetes with Knative - OSCON 2019
PDF
Knative build for open whisk runtimes phase 1 - 2018-02-20
PPTX
Serverless integration with Knative and Apache Camel on Kubernetes
PDF
Knative and Kubernetes - bringing serverless to more developers
PPTX
Intro to Knative
PDF
What next after microservices
PDF
The what, why and how of knative
PDF
High-Performance FAAS with Nuclio
The path to a serverless-native era with Kubernetes
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
KNATIVE - DEPLOY, AND MANAGE MODERN CONTAINER-BASED SERVERLESS WORKLOADS
DCEU 18: Docker Containers in a Serverless World
Knative Intro
STANISLAV KOLENKIN, BAQ "K8S: network plugins - issues and performance compar...
Serverless Spring - Nate Schutta 2/2
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
Kubernetes: The evolution of distributed systems | DevNation Tech Talk
Serverless with Knative - Mete Atamel (Google)
ATO 2018 - What is Serverless Useful For?
Developing Serverless Applications on Kubernetes with Knative - OSCON 2019
Knative build for open whisk runtimes phase 1 - 2018-02-20
Serverless integration with Knative and Apache Camel on Kubernetes
Knative and Kubernetes - bringing serverless to more developers
Intro to Knative
What next after microservices
The what, why and how of knative
High-Performance FAAS with Nuclio
Ad

More from VMware Tanzu (20)

PDF
Spring into AI presented by Dan Vega 5/14
PDF
What AI Means For Your Product Strategy And What To Do About It
PDF
Make the Right Thing the Obvious Thing at Cardinal Health 2023
PPTX
Enhancing DevEx and Simplifying Operations at Scale
PDF
Spring Update | July 2023
PPTX
Platforms, Platform Engineering, & Platform as a Product
PPTX
Building Cloud Ready Apps
PDF
Spring Boot 3 And Beyond
PDF
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
PDF
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
PDF
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
PPTX
tanzu_developer_connect.pptx
PDF
Tanzu Virtual Developer Connect Workshop - French
PDF
Tanzu Developer Connect Workshop - English
PDF
Virtual Developer Connect Workshop - English
PDF
Tanzu Developer Connect - French
PDF
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
PDF
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
PDF
SpringOne Tour: The Influential Software Engineer
PDF
SpringOne Tour: Domain-Driven Design: Theory vs Practice
Spring into AI presented by Dan Vega 5/14
What AI Means For Your Product Strategy And What To Do About It
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Enhancing DevEx and Simplifying Operations at Scale
Spring Update | July 2023
Platforms, Platform Engineering, & Platform as a Product
Building Cloud Ready Apps
Spring Boot 3 And Beyond
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
tanzu_developer_connect.pptx
Tanzu Virtual Developer Connect Workshop - French
Tanzu Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
Tanzu Developer Connect - French
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: Domain-Driven Design: Theory vs Practice

Recently uploaded (20)

PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
System and Network Administration Chapter 2
PDF
Digital Strategies for Manufacturing Companies
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
AI in Product Development-omnex systems
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
L1 - Introduction to python Backend.pptx
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Transform Your Business with a Software ERP System
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
ai tools demonstartion for schools and inter college
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
PTS Company Brochure 2025 (1).pdf.......
Internet Downloader Manager (IDM) Crack 6.42 Build 41
System and Network Administration Chapter 2
Digital Strategies for Manufacturing Companies
Design an Analysis of Algorithms II-SECS-1021-03
AI in Product Development-omnex systems
Navsoft: AI-Powered Business Solutions & Custom Software Development
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
L1 - Introduction to python Backend.pptx
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Transform Your Business with a Software ERP System
How to Migrate SBCGlobal Email to Yahoo Easily
2025 Textile ERP Trends: SAP, Odoo & Oracle
wealthsignaloriginal-com-DS-text-... (1).pdf
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Operating system designcfffgfgggggggvggggggggg
ai tools demonstartion for schools and inter college
Design an Analysis of Algorithms I-SECS-1021-03
CHAPTER 2 - PM Management and IT Context
PTS Company Brochure 2025 (1).pdf.......

Function as a Service with Knative and riff

  • 1. © Copyright 2019 Pivotal Software, Inc. All rights Reserved. Florent Biville 4th of July = Saint Florent ! Function as a Service with Knative and
  • 2. Agenda ■ Introduction to 🗻 ■ … and beneath ⚙ ■ Demos 🙏 ■ Q+A ❓
  • 4. Florent Biville ( @fbiville) ■ riffer at by day ■ ambassador and trainer by night ■ Spring Paris, Hackergarten Paris co-org ■ co-founder and co-org ■ Bu cümleyi anlarsan, sunumumdan sonra konuşalım! `who am i`
  • 6. Word of caution ⚠ What you will 👀 about is not released yet and is subject to change
  • 7. What is love ? is the open-source serverless Function As A Service platform ■ based on Kubernetes (shorthand: K8s) ■ easy to install (CNAB FTW) ■ easy to scale (via Knative serving built-in autoscaling, inc. scale-{to,from}-zero) ■ with polyglot function support (build sources via Knative build and buildpacks v3) ■ with emergent stateful streaming support ■ and an overall improved User eXperience in mind
  • 8. Thanks for attending, bye! Source: https://www.ina.fr/video/I08358793/valery-giscard-d-estaing-au-revoir-video.html
  • 9. Wow, let’s back up a bit!
  • 10. Kubernetes has become the de-facto IaaS* *IaaS = Infrastructure as a Service
  • 11. Kubernetes has become the de-facto IaaS ■ Open-source, CNCF project ■ Rich and growing ecosystem ■ Sane and simple conceptual core model ■ Generic and extensible via CRD
  • 13. K8s is awesome, but! ■ Common deployment patterns complex to implement (want to 👀 some more YAML? 🤕) ■ Perfect to build a platform on top of it … ■ … which is probably NOT the core mission of your company 😉 Have you heard about
  • 14. Knative to the rescue ■ 3 main components ○ Build 🛠 ○ Serving 🥂 ○ Eventing ⛓
  • 15. Knative to the rescue ■ 3 main components ○ Build 🛠 ○ Serving 🥂 ○ Eventing ⛓
  • 16. Knative build Brings a custom Build resource The whole sequence of steps is run on the cluster, in Builder images configured in a (Cluster)BuildTemplate Performs tasks such as: ■ Fetching code from repositories ■ Compiling ■ Publishing images Current build template is based on Buildpacks v3 apiVersion: build.knative.dev/v1alpha1 kind: BuildTemplate metadata: name: bazel spec: parameters: - name: TARGET description: The name of the Bazel "container_push" target to run steps: - name: build-and-push image: gcr.io/cloud-builders/bazel args: ['run', '${TARGET}']
  • 17. Buildpacks v3 ■ Initially developed by Heroku & Pivotal ■ Build auto-detection (npm, Maven, Gradle…) ■ Eases the production upgrade process ■ defines its own builder and buildpacks to detect, build and publish functions with their corresponding invoker
  • 18. Knative to the rescue ■ 3 main components ○ Build 🛠 ○ Serving 🥂 ○ Eventing ⛓
  • 19. Knative serving ■ Autoscaling (down-to/up-from 0) ■ Routing with Istio (service mesh) ■ Versioned code & configuration (revision)
  • 21. What is love ? is the open-source serverless Function As A Service platform ■ based on Kubernetes (shorthand: K8s) ✓ ■ easy to install (CNAB FTW) ■ easy to scale (via Knative serving built-in autoscaling, inc. scale-{to,from}-zero) ✓ ■ with polyglot function support (build sources via Knative build and buildpacks v3) ✓ ■ with emergent stateful streaming support ■ and an overall improved User eXperience in mind
  • 22. Installation via riff CNAB CNAB? Cloud Native Application Bundle ■ Standard for packaging multi-component applications ■ Target environment-agnostic ■ Invocation image can use Helm, KAB etc ■ Bundle can be thin or thick cnab.io
  • 23. Installation via riff CNAB The bundle includes ■ Knative serving and build ■ Istio (Envoy) service mesh ■ riff custom resources and controllers It does not include ■ A K8s cluster
  • 26. What is love ? is the open-source serverless Function As A Service platform ■ based on Kubernetes (shorthand: K8s) ✓ ■ easy to install (CNAB FTW) ✓ ■ easy to scale (via Knative serving built-in autoscaling, inc. scale-{to,from}-zero) ✓ ■ with polyglot function support (build sources via Knative build and buildpacks v3) ✓ ■ with emergent stateful streaming support ■ and an overall improved User eXperience in mind
  • 27. Function deployment Function? ■ A custom resource to describe the (Repo URL)→Docker image transformation on the cluster a.k.a. build ■ Orchestrated by the buildpack builder ■ Invokable in: ○ Request-reply mode (handler) ○ Streaming fashion (processor) const os = require('os'); const hostname = os.hostname(); module.exports = name => { console.log(`received request to ${hostname} for ${name}`); return `hello ${name} from ${hostname}` };
  • 29. Streaming function (pre-α) Streaming ■ Heavy lifting done by Spring Cloud Fn ■ Streaming processor and gateway (Liiklus) abstract the underlying msg system ■ ⚠ Only Java supported at this point (broader support soon) Fn Invoker Processor Gateway 1 Gateway 2 Kafka topic1 Kinesis topic2
  • 30. What is love ? is the open-source serverless Function As A Service platform ■ based on Kubernetes (shorthand: K8s) ✓ ■ easy to install (CNAB FTW) ✓ ■ easy to scale (via Knative serving built-in autoscaling, inc. scale-{to,from}-zero) ✓ ■ with polyglot function support (build sources via Knative build and buildpacks v3) ✓ ■ with emergent stateful streaming support ✓ ■ and an overall improved User eXperience in mind ✓
  • 32. Useful resources riff resources Documentation: https://projectriff.io CNAB bundle: https://github.com/projectriff/cnab-riff System: https://github.com/projectriff/system Buildpack builder: https://github.com/projectriff/builder/ CLI: https://github.com/projectriff/cli/ PFS: https://pivotal.io/platform/pivotal-function-service Twitter: https://twitter.com/projectriff General resources CNAB: https://cnab.io/ Cloud Native Buildpacks v3: https://buildpacks.io/ Kubernetes: https://kubernetes.io Knative: https://cloud.google.com/knative/ Presentation resources Demo repo: https://github.com/fbiville/riff-demos
  • 33. Q&A
  • 34. Thank you 🙏 Any questions?