State of Serverless & Service Mesh - OpenShift...Serverless Defined SERVERLESS 16 “computing...
Transcript of State of Serverless & Service Mesh - OpenShift...Serverless Defined SERVERLESS 16 “computing...
State of Serverless & Service Mesh
William Markito OliveiraProduct Manager@william_markito
1
Sep 2019
Giuseppe BonocoreSolution Architect
Sep 2019, Milano
2
Service Mesh
3
Sep 2019, Milano
4
Distributed Architecture
Service ServiceService
Service ServiceService
Service ServiceService
Sep 2019, Milano
5
Microservices Evolution
Service
Config
Svc Discovery
Routing
Circuit Breaker
Tracing
Service
Platform Container Platform (+ Service Mesh)
...2014 2018
Sep 2019, Milano
6
● 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
Sep 2019, Milano
Control Plane
7
POD
ENVOY
SERVICE
POD
ENVOY
SERVICE
POD
ENVOY
SERVICE
Pilot Mixer Auth
Service Mesh Architecture
Applies security, route rules, policies and reports traffic telemetry at the pod level
Jaeger
Data Plane
Sep 2019, Milano
8
Service Mesh Ecosystem
Observe Observe
Secure
ControlConnect
Jaeger
Kiali Grafana
PrometheusIstio
Sep 2019, Milano
9
Enhanced Visualization of Cluster TrafficWith Kiali
Visualization of what
Matters most:
● Application Topology
● Traffic throughput
● Error Rates
● Service Latency
● Service Versioning
Sep 2019, Milano
10
Convenient Overviews of Individual Services
Sep 2019, Milano
11
Guided Configuration of Traffic Policies
Sep 2019, Milano
12
Distributed Services WithRed Hat Openshift Service Mesh
INFRA
INFRA OPS
SERVICE OPS
SERVICE
ANYINFRASTRUCTURE
OpenShift Container Platform(Enterprise Kubernetes)
Amazon Web Services Microsoft Azure Google CloudOpenStackDatacenterLaptop
OpenShift Service Mesh(Istio + Jaeger + Kiali)
ANYAPPLICATION
Service
CONTAINER
Service
CONTAINER
Service
CONTAINER
Service
CONTAINER
Service
CONTAINER
Sep 2019, Milano
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
13
Generally Available
OpenShift Service Mesh
Serverless
14
Sep 2019, MilanoSERVERLESS
15
Wait… wat ?https://github.com/ghuntley/serverless-to-cgi-bin
Sep 2019, Milano
Serverless Defined
SERVERLESS
16
“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$
Sep 2019, Milano
17
"Function as a Service
(FaaS) is serverless in the
same way a square is a
rectangle"
Serverless > Functions
Serverless > Microservices
Serverless > Containers
SERVERLESS MARKET
Sep 2019, Milano
18
Sep 2019, MilanoCLOUD NATIVE DEVELOPMENT MARKET
19
Sep 2019, MilanoCLOUD NATIVE DEVELOPMENT MARKET
20
Sep 2019, MilanoCLOUD NATIVE DEVELOPMENT MARKET
21
Sep 2019, Milano
Microservices, Functions and Apps + Events
22
MicroservicesFunctions Apps
Containers
Infrastructure & Scheduling
Containers
Infrastructure & Scheduling
Events
Infrastructure
Sep 2019, Milano
First Principles
MODERN APPLICATIONS
23
Distributed
Secure
API Centric
Event Driven
Multi-cloud Scalable
Polyglot
Java
.NetCore
Node.js
Python
GoLang
Disposable
Serverless & Knative
24
Sep 2019, Milano
Companies contributing to Knative
25
Source: https://knative.teststats.cncf.io/d/8/dashboards?refresh=15m&orgId=1
Sep 2019, Milano
What is Knative ?
OPENSHIFT SERVERLESS
26
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.
Sep 2019, Milano
Community Operators
27
Sep 2019, Milano
28
Productized Operator
Sep 2019, Milano
User Experience
CLI
29
More details at https://github.com/knative/client/tree/master/docs
kn service create hello --image gcr.io/knative-samples/helloworld-go --env NAME=valueService 'hello' successfully created in namespace 'default'.
kn service get helloNAME DOMAIN GENERATION AGE CONDITIONS READY REASONhello hello.default.example.com 1 3m5s 3 OK / 3 True
Other commands available: update, replace, get, describe
Options: --limits-cpu 100m --limits-memory 1024m
Sep 2019, MilanoNEXT WAVE OF DEVELOPER TOOLS
apiVersion: apps/v1kind: Deploymentmetadata: name: frontend labels: app: guestbookspec: selector: matchLabels: app: guestbook tier: frontend replicas: 1 template: metadata: labels: app: guestbook tier: frontend spec: containers: - image: markusthoemmes/guestbook name: guestbook resources: requests: cpu: 100m memory: 100Mi env: - name: GET_HOSTS_FROM value: dns ports: - containerPort: 80
apiVersion: serving.knative.dev/v1alpha1kind: Servicemetadata: name: frontendspec: template: metadata: labels: app: guestbook tier: frontend spec: containers: - image: markusthoemmes/guestbook resources: requests: cpu: 100m memory: 100Mi env: - name: GET_HOSTS_FROM value: dns ports: - containerPort: 80
---apiVersion: v1kind: Servicemetadata: name: frontend-service labels: app: guestbook tier: frontendspec: ports: - port: 80 selector: app: guestbook tier: frontend---apiVersion: route.openshift.io/v1kind: Routemetadata: name: frontend-routespec: to: kind: Service name: frontend-service
Kubernetes Knative
22 lines 53 lines
"Lift & Shift" to Serverless
30
Knative v0.7.1 (v1alpha1)Kafka event sourceInstallation docsMeteringLogging & MonitoringDeveloper Console (UI)
31
OpenShift ServerlessRoadmap
Sep 2019
Knative v0.7.0 (v1alpha)Operators-based InstallDomain config & Ingress CLI (kn) for ServingCamel-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 PluginsCLI (kn) for EventingSupport 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 SourcesCamel-K productization
Sep 2019, Milano
CONFIDENTIAL Designator
DEMO
32
Sep 2019, Milano
The Journey to Profit$! with Serverless
33
Kiosk App Store App Order Routing Payment
Sep 2019, Milano
Admin User Experience
INSTALLATION
Sep 2019, Milano
User Experience
DEPLOY AN IMAGE
Applies to:
● Deploy Image
● Import from Git
● Create new App
* Developer Perspective coming in OpenShift 4.2
Summary & Roadmap
37
Sep 2019, Milano
OpenShift Platform Services
38
Platform Services
Operator Framework Knative TektonService Mesh
Interface Console Frameworks
Red Hat operator-based
services
OpenShiftServerless
OpenShift Pipelines
OpenShiftService Mesh
OpenShiftConsole
Core OpenShift
Full Stack Install Metering, Monitoring and Logging Kubernetes Networking &
Storage / OCS SecurityOver-the-air updates
Container Registry
Red Hat Quay
OpenShift Cluster Manager (a.k.a. UHC)
Cluster Registry Cluster Updates Cluster ConfigurationCluster Monitoring
ON PREMISE PUBLIC CLOUD OPENSHIFT ONLINE OPENSHIFT DEDICATED AZURE RED HAT OPENSHIFT
Sep 2019, Milano
Key features● Enable FaaS in OpenShift● Familiar developer experience using VS Code and Azure CLI● Polling based auto-scaling for Azure Queues, Kafka...● Reuse Knative event sources, HTTP auto-scaling ● On premise or Any cloud.● Familiar to Kubernetes users. Native.
Learn more● https://github.com/kedacore/keda
In partnership with:
Azure Functions & KEDA
Functions as a Service
39
Developer Preview
Sep 2019, Milano
OpenShift Serverless
Serverless for any container workload
40
Tech Preview 4.2
Key Features● Familiar to Kubernetes users. Native.● Scale to 0 and autoscale to N based on demand● Applications and functions. Any container workload.● Powerful eventing model with multiple event sources.● Operator available via OperatorHub● Knative v0.8 (v1beta1 APIs)● No vendor lock in
Learn morehttps://openshift.com/learn/topics/serverlesshttps://redhat-developer-demos.github.io/knative-tutorial
Sep 2019, Milano
41
See you soon at...
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHat
42
● openshift.com/learn/topics/knative● https://redhat-developer-demos.github.io/knative-tutorial● github.com/kedacore/keda
Thank you
OPTIO
NAL SECTION
MARKER O
R TITLE
@william_markito