luram archanjo...2019/07/20  · source building blocks for serverless source: knative components...

28
Kubernetes, Istio e Knative: The new cloud stack Luram Archanjo

Upload: others

Post on 20-May-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

Kubernetes, Istio e Knative: The new cloud stack

Luram Archanjo

Page 2: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

Who am I?● Software Engineer at Sensedia

● MBA in Java projects

● Java and Microservice enthusiastic

Page 3: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

Agenda

● Serverless

● Knative & Components

● Why Kubernetes & Istio?

● Demo

● Questions

Page 4: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

What is Serverless?

Page 5: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

What is Serverless?

Serverless computing, is an execution model where the cloud provider is responsible for executing a piece of code by dynamically allocating the resources.

Source: https://serverless-stack.com & https://martinfowler.com/articles/serverless.html

Scalability

Reduced operational cost

Time to market

Page 6: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

What is Knative?

Page 7: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

What is Knative?

Kubernetes based open source building blocks for serverless

Source: https://knative.dev

Page 8: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

Knative Components

Page 9: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

Knative Components

Source: https://knative.dev

Page 10: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

Knative Components

Serving

How your code receives requests and scales with them:

● Automatic scaling up and down to zero

● Multiple revisions of same function

● Route traffic across revisions

Eventing

How your code is triggered by events:

● Functions consume and publish events

● Multiple event sources available

● Encourages asynchronous

Build

How your code is built and packaged as a container:

● Pluggable model to build

● Build in-cloud or on-cluster

● Templates available

Page 11: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

How Build works?

Page 12: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

How Build works?

Source: https://knative.dev

Code

Container Image

Registry

Page 13: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

How Serving works?

Page 14: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

How Serving works?

Source: https://knative.dev

Service

Manages the whole lifecycle of your workload.

Configuration

Maintains the current/desired state for your deployment.

Revision

A point-in-time snapshot of code and configuration.

Route

Maps and manage traffics to revisions.

Page 15: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

How Serving works?

Page 16: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

How Serving works?

Page 17: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

How Serving works?

Page 18: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

How Serving works?

Page 19: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

How Eventing works?

Page 20: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

How Eventing works?

Source: https://knative.dev

Page 21: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

How Eventing works?

Source: https://knative.dev

Page 22: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

Why Kubernetes?

Page 23: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

Kubernetes● Horizontal scaling

● Auto-scaling

● Service discovery and Load balancing

● Self-healing

Page 24: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

Why Istio?

Page 25: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

Istio● Traffic management

○ Traffic Routing

● Security○ East-West○ North-South

● Observability○ Metrics○ Traces○ Logs

Page 26: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

Demo

Page 27: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

Summary

2º Place

1º Place

3º PlaceBuild on top of Kubernetes and Istio

● Automatic scaling up and down to zero

● Route traffic across revisions

● Load-balancing

Flexibility and No Vendor Lock-in

● Cloud

● Premises

● Third-party data center

Serverless Experience in a Containerized Environment

● Immutability

● High Scalability

● Pipeline Management

Page 28: Luram Archanjo...2019/07/20  · source building blocks for serverless Source: Knative Components Knative Components Source: Knative Components Serving How your code receives requests

Thanks a million!Questions?

/larchanjo

/luram-archanjo