WHAT IS SERVERLESS
USEFUL FOR?
BUILDING A MULTI-CLOUD
AUTOMATION WITH DISPATCH
Karol Stepniewski & Berndt Jung
Cloud Native Apps @VMware
Agenda
2
Serverless, FaaS, Functions, and Use cases
What is Dispatch?
Demo
Wrapping up & next steps
Q & A
3
How Did We Get Here?
Increasingfocusonbusinesslogic
Decreasing concern (and control) over infrastructure implementation
Virtual machines
Functions
Containers
Bare Metal
Justwritecodethatmatters
4
What is a Function?
Auto-scaled Lower Cost
Event Driven Stateless Finite Lifespan
5
Use Cases
• RESTful services
• Stateless apps
• Bursting workloads
• Parallel processing
• Edge computing
• Mobile app
backends
• Log analysis
• Job queues
• ETL
• Machine Learning
• CI/CD pipelines
• Notifications
• Chat Ops
• Periodic jobs
• Monitoring and
alerting
• Provisioning
• Automation
ƒ(x)
Micro-services IoT Stream-processing DevOps IT Operations
6
Events in the Public Cloud
Or Serverless the easy way
Eco-system of Services
Connected via a common event bus
Events and triggers integrated into platform
But what if you’re not just in one cloud?
What about on-premise event producers and
consumers?
7
Serverless is...
• Functions
• PaaS/CaaS
• Managed Services
– Databases
– Queues
– Object Store
• API Gateways
• Etc.
But does everything have to be within a single cloud?
Serverless is More Than Just Functions
8
CloudEvents
- Cloud Events is now a
CNCF sandbox project
- Released 0.1 specification
- Showed multi-vendor
interoperability demo at
kubecon in Copenhagen
Tech community
9
Dispatch
Batteries-included production functions
10
What is Dispatch?
Enterprise Functions Stack
Cloud events native
Integrate almost any IDP
Production-ready
API-gateway
11
Under Construction
Dispatch 0.1.x
• Loosely Kubernetes Based
• Support multiple FaaS
backends
Dispatch Solo
• Single Binary
• Single Dependency (Docker)
Dispatch Knative
• Based on Knative building
blocks
• Tightly coupled to Kubernetes
12
Open sourced by Google with partners (Pivotal, IBM,
RedHat, etc)
Serverless building blocks for Kubernetes
• Build
– Pluggable framework for building container images on
Kubernetes from source
• Serving
– Auto-scaling containers from 0 (not just functions)
– Istio based routing with support for traffic splitting and
canary deployments
• Eventing
– Manage event sources and subscriptions
– Pluggable bus (Kafka, GCP pub/sub)
– CloudEvents based
What is Knative?
13
Dispatch Architecture
Customers
Administrators
Developers
External
Events
Inbound data
Dispatch component
Knative component
Image
Registry
(Harbor)
IDP/AD
Kubernetes (PKS)
Knative Eventing
API Gateway (Istio)IAM
Knative Serving Service Catalog
External OSB
Services
Dispatch API
Dispatch Operators
Knative Building
Dispatch dependency
14
Demo
Chat-ops with Dispatch and Slack
1
API-Gateway: POST /cloudmaster
Execute: cloudmaster.py
Create/List/Delete VM
Event-Driver: Listen for events
Execute: status.py
2 3
5 4
15
What's Next for Dispatch?
16
Low barrier to entry
• Shipped as single binary or VM appliance
• Only dependency is Docker
API compatible with Dispatch Knative*
• Shared UI/CLI
• Same functions and images
Lightweight
Explore Dispatch and Functions use-cases
• It ran the demo!
Dispatch Solo
17
Long-term bet on Knative
• VMware contributing directly to upstream Knative project
• Knative is still evolving significantly
Currently supported features
• Image management
• Function creation and execution
• API gateway*
Dispatch Knative
18
Want to get involved?
• vmwarecode.slack.com #dispatch
Tell us your use-cases
Become a committer
• https://github.com/vmware/dispatch
Wrapping Up
19
http://dispatchframework.io
https://knative.dev
Links
20
Questions?

ATO 2018 - What is Serverless Useful For?

  • 1.
    WHAT IS SERVERLESS USEFULFOR? BUILDING A MULTI-CLOUD AUTOMATION WITH DISPATCH Karol Stepniewski & Berndt Jung Cloud Native Apps @VMware
  • 2.
    Agenda 2 Serverless, FaaS, Functions,and Use cases What is Dispatch? Demo Wrapping up & next steps Q & A
  • 3.
    3 How Did WeGet Here? Increasingfocusonbusinesslogic Decreasing concern (and control) over infrastructure implementation Virtual machines Functions Containers Bare Metal Justwritecodethatmatters
  • 4.
    4 What is aFunction? Auto-scaled Lower Cost Event Driven Stateless Finite Lifespan
  • 5.
    5 Use Cases • RESTfulservices • Stateless apps • Bursting workloads • Parallel processing • Edge computing • Mobile app backends • Log analysis • Job queues • ETL • Machine Learning • CI/CD pipelines • Notifications • Chat Ops • Periodic jobs • Monitoring and alerting • Provisioning • Automation ƒ(x) Micro-services IoT Stream-processing DevOps IT Operations
  • 6.
    6 Events in thePublic Cloud Or Serverless the easy way Eco-system of Services Connected via a common event bus Events and triggers integrated into platform But what if you’re not just in one cloud? What about on-premise event producers and consumers?
  • 7.
    7 Serverless is... • Functions •PaaS/CaaS • Managed Services – Databases – Queues – Object Store • API Gateways • Etc. But does everything have to be within a single cloud? Serverless is More Than Just Functions
  • 8.
    8 CloudEvents - Cloud Eventsis now a CNCF sandbox project - Released 0.1 specification - Showed multi-vendor interoperability demo at kubecon in Copenhagen Tech community
  • 9.
  • 10.
    10 What is Dispatch? EnterpriseFunctions Stack Cloud events native Integrate almost any IDP Production-ready API-gateway
  • 11.
    11 Under Construction Dispatch 0.1.x •Loosely Kubernetes Based • Support multiple FaaS backends Dispatch Solo • Single Binary • Single Dependency (Docker) Dispatch Knative • Based on Knative building blocks • Tightly coupled to Kubernetes
  • 12.
    12 Open sourced byGoogle with partners (Pivotal, IBM, RedHat, etc) Serverless building blocks for Kubernetes • Build – Pluggable framework for building container images on Kubernetes from source • Serving – Auto-scaling containers from 0 (not just functions) – Istio based routing with support for traffic splitting and canary deployments • Eventing – Manage event sources and subscriptions – Pluggable bus (Kafka, GCP pub/sub) – CloudEvents based What is Knative?
  • 13.
    13 Dispatch Architecture Customers Administrators Developers External Events Inbound data Dispatchcomponent Knative component Image Registry (Harbor) IDP/AD Kubernetes (PKS) Knative Eventing API Gateway (Istio)IAM Knative Serving Service Catalog External OSB Services Dispatch API Dispatch Operators Knative Building Dispatch dependency
  • 14.
    14 Demo Chat-ops with Dispatchand Slack 1 API-Gateway: POST /cloudmaster Execute: cloudmaster.py Create/List/Delete VM Event-Driver: Listen for events Execute: status.py 2 3 5 4
  • 15.
  • 16.
    16 Low barrier toentry • Shipped as single binary or VM appliance • Only dependency is Docker API compatible with Dispatch Knative* • Shared UI/CLI • Same functions and images Lightweight Explore Dispatch and Functions use-cases • It ran the demo! Dispatch Solo
  • 17.
    17 Long-term bet onKnative • VMware contributing directly to upstream Knative project • Knative is still evolving significantly Currently supported features • Image management • Function creation and execution • API gateway* Dispatch Knative
  • 18.
    18 Want to getinvolved? • vmwarecode.slack.com #dispatch Tell us your use-cases Become a committer • https://github.com/vmware/dispatch Wrapping Up
  • 19.
  • 20.

Editor's Notes

  • #7 AWS Lambda introduced 2014
  • #9 Which brings me to CloudEvents... Specification drafted by the CNCF serverless working group Aims to bring interoperability between event sources across vendors/clouds/services