Roadmap.md for an overview of roadmap and areas

This commit is contained in:
Soam Vasani
2017-05-18 12:17:33 -07:00
parent 6185e842b5
commit bc61396071
+107
View File
@@ -0,0 +1,107 @@
# 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