This document provides an overview of service mesh and serverless technologies. It discusses the evolution of microservices and how service mesh addresses needs like service discovery, routing and monitoring. It introduces concepts like sidecars and shows the architecture of Istio service mesh. It then defines serverless computing and discusses how the Knative project implements a serverless platform on Kubernetes. It shows examples of using Knative to deploy serverless applications on OpenShift and highlights the roadmap for integrating technologies like Tekton.
5. 5
● Two or more containers deployed to same pod
● Share
○ Same
■ Namespace
■ Pod IP
○ Shared lifecycle
● Used to enhance the co-located containers
● Istio Proxy (L7 Proxy)
○ Proxy all network traffic in and out of the app
container
Source: http://blog.kubernetes.io/2015/06/the-distributed-system-toolkit-patterns.html
Sidecars
POD
SERVICE A
Istio Proxy
8. 8
Enhanced Visualization of Cluster Traffic
With Kiali
Visualization of what
Matters most:
● Application Topology
● Traffic throughput
● Error Rates
● Service Latency
● Service Versioning
11. 11
Distributed Services With
Red Hat Openshift Service Mesh
INFRA
INFRA OPS
SERVICE
OPS
SERVICE
ANY
INFRASTRUCTURE
OpenShift Container Platform
(Enterprise Kubernetes)
Amazon Web Services Microsoft Azure Google CloudOpenStackDatacenterLaptop
OpenShift Service Mesh
(Istio + Jaeger + Kiali)
ANY
APPLICATION
Service
CONTAINER
Service
CONTAINER
Service
CONTAINER
Service
CONTAINER
Service
CONTAINER
12. Key Features
● A dedicated network for service to service
communications
● Observability and distributed tracing
● Policy-driven security
● Routing rules & chaos engineering
● Powerful visualization & monitoring
● Will be available via OperatorHub
12
Generally Available
In OCP 4.2
OpenShift Service Mesh
14. Serverless Defined
SERVERLESS
14
“computing execution model that depends
on services to manage server-side logic
and state where business logic run in
stateless, event-triggered compute linux
containers"
event
action
result$
15. 15
"Function as a
Service (FaaS) is
serverless in the
same way a square
is a rectangle"
Serverless > Functions
Serverless > Microservices
Serverless > Containers
SERVERLESS MARKET
24. What is Knative ?
OPENSHIFT SERVERLESS
24
SERVING
An event-driven model that
serves the container with
your application and can
"scale to zero".
EVENTING
Common infrastructure for
consuming and producing
events that will stimulate
applications.
27. User Experience
CLI
27
More details at https://github.com/knative/client/tree/master/docs
kn service create hello --image gcr.io/knative-samples/helloworld-go --env NAME=value
Service 'hello' successfully created in namespace 'default'.
kn service get hello
NAME DOMAIN GENERATION AGE CONDITIONS READY
REASON
hello hello.default.example.com 1 3m5s 3 OK / 3 True
Other commands available: update, replace, get, describe
Options: --limits-cpu 100m --limits-memory 1024m
29. Knative v0.7.1 (v1alpha1)
Kafka event source
Installation docs
Metering
Logging & Monitoring
Developer Console (UI)
29
OpenShift Serverless
Roadmap
Sep 2019
Knative v0.7.0 (v1alpha)
Operators-based Install
Domain config & Ingress
CLI (kn) for Serving
Camel-K event source
Tech Preview 2
Feb 2020
Dev Preview 0.7
June 2019
General Availability
Knative v0.9.0 (v1beta1)
Tekton Integration (Pipelines)
VS Code Plugins
CLI (kn) for Eventing
Support for GPU workloads
Rolling Updates (using OLM)
App Migration ("Knatify")
Tech Preview 1
Nov 2019
Knative Eventing (TP)
Developer Console (Eventing)
Advanced Metering (Cost)
Functions Catalog (Kscout)
Program for ISV Event Sources
Camel-K productization
30. CALL TO ACTION
30
What Next?
● Learn more about Knative, Camel-K, Strimzi, et al.
● Kick the tires on OCP 4.2 via OperatorHub
● Run the demo
● Hack the demo and create your own apps!
Additional Resources
https://openshift.com/learn/topics/serverless
http://bit.ly/knative-tutorial
https://github.com/markito/kqr-pay/tree/camel-k
Tech Preview 4.2
31. CONFIDENTIAL Designator
Where do I go to learn more about Red Hat and Serverless?
OPTIONAL SECTION MARKER OR TITLE
31
OpenShift Serverless
Build and deploy serverless applications
using an event-driven infrastructure on Red
Hat® OpenShift®
Tutorial
Get started with your serverless journey
Knative Blog series
Knative: Serving your Serverless Services