Files
fission-src/Documentation/Roadmap.md
T

2.5 KiB

Fission Roadmap

Function features (area-func)

Secrets, configmaps, env vars Volumes Mem requests and limits Function exec time deadline Expose a regular K8s Service for a function

Fission API (area-api)

TPR-based controller API authentication Aggregated API server

Development Workflows (area-dev)

Function Versioning Versioning for a group of functions Rolling upgrades for one function for multiple functions for functions + other kubernetes deployments Unit testing

API Gateway / Ingress features (area-ingress)

Function authn hooks K8s Ingress flag Bundle an ingress controller?

Workflows and Function composition (area-composition)

Simple Composition - Sync Simple Composition - Async Hooks (pre, post, on-error) Workflows Testing in the presence of function composition

Events (area-events)

NATS Kafka AWS: SNS, SQS Google PubSub RabbitMQ Other event sources

Bundle an event queue (NATS streaming, most probably)

Operability (area-ops)

Fission Install/Upgrade (area-install)

Helm Installer for Fission Helm installation for fission functions CLI installer/upgrader? ("fission upgrade") Upgrade checker/reminder (like minikube does) CLI auto-upgrader

Function observation (area-observe)

Function Logging Tracing -- Opentracing Metrics -- Prometheus Function exception tracking Logging function load errors Tracing fission overheads for each function

Function Security

Function isolation (is authz hook sufficient or do we need something like mutual TLS?)

UX, especially for beginners (area-ux)

Fission CLI should include a tutorial Fission CLI should have a way to drop you into the UI Eliminate FISSION_URL, just use kube client to find fission url. Also useful to grab credentials.

Documentation (area-doc)

Installation guide improvements Troubleshooting guide for common problems FAQ Performance overview Render docs nicely to fission.io

Web UI (tracked separately in the fission-ui repo)

Performance and Scalability (area-perf)

Autoscaling Cold-start optimization -- optimistically choose from pool, save about ~20msec Cold-start optimization -- preload funcs in fetcher Cold-start optimization -- preload libraries in envs (v2) -- mem vs. speed tradeoff

Function extensibility (area-ext)

Env v2: easy addition of dependencies etc. Integration with Service Broker

Multi-area stuff

Execution strategies: cold-start pool vs create-pod-on-cold-start -- one size doesn't fit all, at least with current tech; abstract over execution strategies according to requirements