Slide 1

Slide 1 text

Knative Project Introduction and Roadmap @cheddarmint @mattmoor @n3wscott @ro14nd

Slide 2

Slide 2 text

What is it?

Slide 3

Slide 3 text

What is it really? ● Kubernetes extension focused on developer productivity ● Solves boring but hard problems ● Two key pieces ○ Serving ○ Eventing

Slide 4

Slide 4 text

Knative History inception - present ● Fall 2017 - Early Prototyping @ Google ● July 2018 - Public Launch ● March 2019 - Build -> Tekton ● Sept 2019 - Serving API v1 ● May 2020 - First TOC elections ● July 2020 - Eventing API v1 ● Nov 2020 - First Steering elections

Slide 5

Slide 5 text

Cloud Events

Slide 6

Slide 6 text

What does Knative serving get me? ● Goal: Enable developers to focus on business logic ● You bring: container image with your HTTP application. ● You get: ○ DNS name for your application ( ) ○ Automatic TLS (when enabled) ○ Immutable application revisions ○ Traffic splitting between revisions (canary, rollout, rollback) ○ Request-based autoscaling (0 -> n -> 0) ○ Concurrency Control

Slide 7

Slide 7 text

Knative Serving - key resources

Slide 8

Slide 8 text

BYO ingress

Slide 9

Slide 9 text

Serving Roadmap ● DomainMapping: new resource to assign “vanity” URLs to Services (alpha) ● Gradual Rollouts: smarter gradual rollouts (alpha) ● “Ingress v2”: contributing to this so that we work with “just” K8s (dev) Always: ● Scaling: bigger clusters, smaller footprints, more services, more traffic ● Latency: faster node/pod cold starts

Slide 10

Slide 10 text

What does Knative eventing get me? ● Enables async app development through event deliver from anywhere ● Loose coupling and late binding between producers and consumers ● Producers can generate events before consumers exist ● Consumers can express interest in events that haven’t been produced yet

Slide 11

Slide 11 text

Knative Eventing - key resources

Slide 12

Slide 12 text

Eventing Roadmap Next 3 Months Next 6 Months ● More flakiness stabilization ● New testing framework ● Experimental features ● Tenant Targeted Logging ● Better Trigger Filtering ● JS expression for Filtering ● Improved Reply Contract ● Eventing Autoscaling ● Control and Data planes Milestone events ● Event Discovery

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

kn - your door to Knative wonderland ● Imperative management of Knative core entities (CRUD): ○ kn service|revision|route - Manage Knative services and revisions ○ kn trigger|subscription|broker|channel - Manage Knative eventing plumbing ○ kn source - Manage builtin-sources ● Declarative handling of Knative services ○ kn service apply - Like kubectl apply, supporting 3-way merging of resources ● Plugin architecture ○ Similar to kubectl ○ Inlining possible ● GitOps support ○ Tekton tasks ○ Offline generation of resource files

Slide 15

Slide 15 text

kn Roadmap ● Support for arbitrary sources ○ Detection via CRDs / Knative Discovery ○ Dynamic command line arguments, specific to source attributes ● Support for Kamelets ○ Kamelets: Hooking up Apache Camel components (300+) as Knative sources ● New plugins in knative-sandbox ○ kn service log - Logging à la stern for Knative services ○ kn event - Inject CloudEvents from the CLI (for testing and debugging) ● UX improvements

Slide 16

Slide 16 text

Will it blend???

Slide 17

Slide 17 text

2021 Goals ● “Knative 1.0” release ● More integrations ● Improve UX ● More adoption! ● Grow pool of contributors

Slide 18

Slide 18 text

Contributors wanted!

Slide 19

Slide 19 text

How to contribute ● Check us out on github! https://github.com/knative ● Working group meeting schedule ● Join our slack: knative.slack.com