Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC] Roadmap (towards first public release) #121

Closed
23 of 36 tasks
mssun opened this issue Dec 4, 2019 · 3 comments
Closed
23 of 36 tasks

[RFC] Roadmap (towards first public release) #121

mssun opened this issue Dec 4, 2019 · 3 comments

Comments

@mssun
Copy link
Member

mssun commented Dec 4, 2019

Recently, we (some core contributors) have a small offline discussion on the roadmap towards first public release. In this meeting, we discussed what components and features are still missing as a boarder public release.

Here is a brief summary of features and components need to be designed and implemented. I'm trying to outline in bullet points, so some may not be very concise.

These are things we'd better to have in the first release:

  • support function and data registration
    • input data of a function can be fetched from external storage
    • a better function attestation mechanism to attest Python script
    • reuse registered function in new tasks
  • redesign function development workflow
    • developers only need to write python script with native libraries written in Rust
  • provide persistent database implementation
    • port rusty-leveldb
    • add dedicated database service for data persistency
  • support protobuf compatible RPC protocol
    • refactor existing service protocol with .proto files
  • provide a more flexible access control mechanism with ACS
    • multi-owner for data fusion results
  • support distributed workers
    • support docker deployment
  • support customized workers
    • service provider can deploy with other kinds of customized workers besides builtin worker
  • support TPM-based workers
  • support basic automatic Rust code auditing
  • better documentation
  • better error handling
    • errors can be propagated through RPC
    • better error triage
  • testsuite cleanup/refactoring
  • implement more built-in functions
  • community
    • more external contributors (regularly code/doc contributions and feedbacks)
    • accessibility (docs, guideline, open roadmap, etc)
    • meetup

These are nice to have in the first release:

  • k8s deployment
  • support more flexible attestation mechanisms (DCAP)
  • provide trusted logging service for better auditing
  • RPC enhancement
    • HTTP-based RPC
    • multi-language client
  • workload evaluation benchmark
@mssun mssun pinned this issue Dec 4, 2019
@mssun mssun changed the title Roadmap (towards first public release) [RFC] Roadmap (towards first public release) Dec 4, 2019
@mssun
Copy link
Member Author

mssun commented Feb 20, 2020

I have updated the original post of roadmap to reflex current status in the develop branch.

@mssun
Copy link
Member Author

mssun commented May 23, 2020

Hi folks, thank you for spending days and nights to redesign and implement the refreshed Teaclave platform in an open way.

I just updated the roadmap today and checked some items which has been already done. Few items are still not checked, I'm wondering if these are really needed to be included in the first public release. Anyway, I have added cross lines on items which I think is not necessary. The next step is to continue polishing existing features and provide more documents. Feel free to comments on what features are still missing for the public release.

At last, thanks again, without your contribution we cannot have current achievements!

@mssun
Copy link
Member Author

mssun commented Aug 21, 2020

Hi all, we follow this roadmap and finish most of the refactoring and features. I'm closing this issue and plan to initiate and official Apache incubator release. Thanks for all contributors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant