State of Serverless & Service Mesh - OpenShift...Serverless Defined SERVERLESS 16 “computing...

Post on 26-Aug-2020

17 views 0 download

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