3. Serverless is telling us
“there’s even more you don’t
care about”.
Dave Syer
Serverless Spring
S1P 2017
4.
5. Serverless platform features in
a nutshell
1. Less Code
Function-invoker model
2. Auto Build
buildpacks, revisions, CI/CD
3. Auto Run
0-N autoscaling
4. Auto Wire
Event channels & Routes
6. The promise of Serverless
Narrowly-scoped units of code, and built-in
event integration, contribute to software
development efficiencies.
Code which doesn't consume resources
when idle can provide significant resource
efficiencies.
Applying serverless to distributed computing
brings operational efficiencies based on
automated event-based scheduling and self-
scaling.
7. Q: What is Knative?
Set of Building Blocks to construct
FaaS on top of Kubernetes and
Istio.
8. DeWitt Clinton, Google Cloud
"Pivotal has been instrumental in the design and
delivery of Knative.
We appreciate this partnership, and are excited that
Pivotal plans on commercializing Knative
components on Kubernetes with their Pivotal
Function Service.”
10. Q: What does Knative do?
Source-to-container, by plug-ins (e.g. Cloud Foundry,
Dockerfile) - Deploying new (routable) function to
Kubernetes
Scale with Events (0 to 1, 1 to N, N to 0)
Roll out upgrades to functions, or perform a rollback
Trigger functions when called via HTTP requests; in
progress towards supporting gRPC as well
11. Q: What makes up Knative?
• Build - source-to-container build orchestration
• Eventing - management and delivery of events
• Serving - request-driven compute that can
scale to zero
12. Build – Source to Container
Runs on Kubernetes Cluster and implemented by CRD
Builds sources to container image that you can then run on
Knative
Build happens on Cluster, No need Docker locally
Build Templates including Jib(Google), Buildpack(Cloud
Foundry), Bazel, Kaniko, etc.
24. Q: What is Riff?
riff is designed for running
Functions in response to Events.
25.
26. December 6, 2017 at SpringOne
2
riff provides developers
with a service for
executing Functions in
response to Events.
Features
o Kubernetes-native
o polyglot
o event streaming
27. Google Cloud Next - July 2018
Community-driven
ecosystem of
Sources,
Channels,
Functions,
Invokers,
BuildTemplates,
etc.
Kubernetes
BuildTemplates
Channels
CLI
Invokers
CLI
Invokers
Build
Topics
Betting our Faas Future on Knative
29. • riff’s build template uses a builder to:
• compile source code
• add a runtime
• add an invoker
• builder is composed of multiple buildpacks:
• OpenJDK and NodeJS buildpacks
• Maven/Gradle buildpack for JVM functions
• NPM buildpack for node.js functions
• riff buildpack adds a suitable invoker
• final build step creates an image
riff Buildpacks and Invokers
29
31. Betting our FaaS future on Knative
Community-driven
ecosystem of
EventSources,
Buses,
Invokers,
BuildTemplates,
etc.
Kubernetes
VALUE LINE
BuildTemplates
Channels
CLI/UI
Invokers
VALUE LINE
32. Functions & Invokers
Developers are responsible
only for the business logic.
Dependencies in base image
layers can be managed
independently.
simpler
more secure
more efficient
Function Code
Function Layer
Invoker Layer
Dependency Layers
Base Image
Function
Container
35. Pivotal Application
Service (PAS)
Pivotal Container
Service (PKS)
Pivotal Function
Service (PFS)
Unit = Container
Running in Multiple Env
Open Source, Non-HTTP
Unit = Application
Web-facing App
Code First, HTTP
Unit = Function
Extending App with Event,
Lightweight ETL
Events, Fully-managed env