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

[Sandbox] Drasi #296

Open
2 tasks done
NValsan opened this issue Oct 3, 2024 · 10 comments
Open
2 tasks done

[Sandbox] Drasi #296

NValsan opened this issue Oct 3, 2024 · 10 comments

Comments

@NValsan
Copy link

NValsan commented Oct 3, 2024

Application contact emails

[email protected], [email protected], [email protected], [email protected]

Project Summary

Drasi is a change data processing platform that automates real-time detection, evaluation, and meaningful reaction to events in complex, event-driven systems.

Project Description

Drasi is engineered to identify and react in real-time to events in complex, event-driven systems. Drasi streamlines the development of change detection systems for developers and software architects by eliminating the need to integrate multiple specialized tools and services. It offers a unified solution that provides built-in capabilities to track system logs for specific events, evaluate them for relevance, and automatically initiate appropriate reactions.

It operates through three main components:
i.      Sources connect to data repositories within software systems, monitoring logs and feeds for specific events.
ii.     Continuous Queries are the central component of Drasi. They interpret monitored events by applying specific criteria and conditions to identify significant changes. Running continuously, these queries evaluate incoming events in real-time, enabling Drasi to detect and react to events promptly. Implemented using the Cypher Query Language, Continuous Queries provide Drasi with precise and customizable event analysis functionality.
iii.    Reactions trigger meaningful responses based on updates to the result sets of the Continuous Queries.

Drasi is also extendable at its two points of integration, Sources and Reactions. Beyond the currently available options, developers can easily create new Sources and Reactions, allowing them to customize Drasi for specific environments and requirements.

Org repo URL (provide if all repos under the org are in scope of the application)

http://github.com/drasi-project (github.com)

Project repo URL in scope of application

http://github.com/drasi-project/drasi-platform (github.com)

Additional repos in scope of the application

https://github.com/drasi-project/drasi-core

Website URL

https://drasi.io

Roadmap

Drasi's roadmap is available here, https://github.com/drasi-project/community/blob/main/ROADMAP.md

Roadmap context

Moving forward, we will focus on improvements that enable Drasi to support real-world, production workloads. Specific areas of investment will include but will not be limited to scalability, performance and security. We have extensibility in place for Sources and Reactions. We’re ready to accept contributions and assist the community with expanding the set of supported technologies.  Areas for improvement include:

i.    Improve developer experience
ii.    Implement a flexible security model
iii.   Enhance platform resilience
iv. Increase operational readiness

We will prioritize this work based on community feedback.

Contributing Guide

http://github.com/drasi-platform/CONTRIBUTING.md at main drasi-project/drasi-platform (github.com)

Code of Conduct (CoC)

http://github.com/drasi-platform/CODE_OF_CONDUCT.md at main drasi-project/drasi-platform (github.com)

Adopters

No response

Contributing or Sponsoring Org

Microsoft

Maintainers file

http://github.com/community/MAINTAINERS.md at main drasi-project/community (github.com)

IP Policy

  • If the project is accepted, I agree the project will follow the CNCF IP Policy

Trademark and accounts

  • If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF

Why CNCF?

We aim to enable innovation in event-driven system management and this goal aligns closely with CNCF's focus on promoting cloud-native computing and the development of scalable, dynamic applications.

  • Drasi addresses critical needs in event-driven systems—a core aspect of cloud-native architectures—by simplifying change detection and reaction mechanisms.
  • Integrating with other CNCF projects like Kubernetes and Prometheus enhances Drasi’s functionality and provides users with a cohesive ecosystem. Additionally, Drasi's event-driven, micro services-friendly architecture fits well within the CNCF landscape, promoting best practices in cloud-native development.
  • CNCF's commitment to open-source development and community engagement mirrors our own and its vendor-neutral governance model will ensure that Drasi remains an open and community-driven project.

Benefit to the Landscape

Contributing Drasi to the CNCF landscape will bring significant benefits by enhancing the ecosystem's capabilities in real-time event detection, processing, and automated reactions within cloud-native environments.

  • Drasi fills a gap in the current cloud-native landscape by providing developers a versatile tool for building reactive, event-driven applications.
  • It introduces unique functionality for continuous querying and real-time reaction to data changes.
  • Drasi's ability to integrate with various data sources and systems makes it easier for organizations to adopt cloud-native practices without overhauling their existing infrastructure making the CNCF ecosystem more attractive to them.
  • Drasi simplifies development by providing a comprehensive solution for change detection and reaction, allowing developers to focus on core functionality rather than integrating multiple tools.

Cloud Native 'Fit'

Drasi embodies key cloud-native principles by enabling applications to be more responsive, scalable, and manageable in dynamic cloud environments.

Event-Driven Architecture:

  • Reactive Systems: Drasi is designed around an event-driven model, allowing applications to react to changes in data and system states in real-time. This aligns with the cloud-native emphasis on building reactive, responsive systems.
  • Loose Coupling: By decoupling the detection of events from the reactions, Drasi promotes a modular architecture where components can evolve independently.

Micro services-Friendly:

  • It integrates easily with other micro services, facilitating communication and coordination across a distributed application landscape.

Containerization and Management:

  • Drasi is designed to run within containers ensuring consistency across development, testing, and production environments.
  • Management of Drasi is via a CLI or API.
  • Drasi integrates with the OpenTelemetry observability framework.

Cloud-Agnostic Design:

  • Drasi is designed to be cloud-agnostic, allowing it to run on any public, private, or hybrid cloud infrastructure without significant changes.

Cloud Native 'Integration'

Drasi depends on

  • Kubernetes
  • DAPR

Drasi integrates with the following for observability:                          

  • OpenTelemetry
  • Prometheus

Cloud Native Overlap

At present, we have not identified a CNCF project that offers all the features that Drasi has as a comprehensive solution.

Similar projects

There are several event-driven automation framework CNCF projects such as Argo Events and Knative Eventing (component of Knative). While none of these projects are identical to Drasi, they offer similar functionality for event detection, processing, and automated reactions in real-time. Drasi distinguishes itself by providing an integrated platform specifically designed for change data processing, combining event monitoring, continuous queries for event assessment, and reaction mechanisms in a unified solution.

Contributing Drasi to the CNCF adds value by providing capabilities not fully addressed by existing projects, enhancing the ecosystem's capabilities in automated change detection and response.

Landscape

No. Drasi is not already listed in the CNCF landscape.

Business Product or Service to Project separation

Currently, there aren’t any managed service offerings or business products based on Drasi. If in the future this changes, the service or offering will exist separate from the upstream open-source project under CNCF governance.

Project presentations

Drasi has not been presented to a CNCF TAG. We are interested in presenting to the App Delivery TAG and will seek an opportunity to do so in the coming months.

Project champions

The Drasi team briefed Chris Aniszczyk and he's supportive of the project going through the CNCF project proposal process.

Additional information

No response

@NValsan
Copy link
Author

NValsan commented Oct 18, 2024

Thank you for taking a look at the Drasi Sandbox Issue and adding the Runtime label, @angellk. Would it be possible to know what aspects of Drasi make it a good fit for the Runtime TAG? I am hoping to learn more about the TAG and what they would like to see presented to them. When we reviewed Drasi with Chris Aniszczyk, he mentioned that the App Delivery TAG would be suitable group for it. Any information would be greatly appreciated!

@NValsan
Copy link
Author

NValsan commented Jan 2, 2025

Update: Drasi presented to the Runtime TAG on Dec 19th 2024. Notes and link to the deck presented available here, https://docs.google.com/document/d/1k7VNetgbuDNyIs_87GLQRH2W5SLgjgOhB6pDyv89MYk/edit?pli=1&tab=t.0#heading=h.8qqg6hbzb1pa.

@NValsan
Copy link
Author

NValsan commented Jan 8, 2025

Update: Drasi was presented to the App Delivery TAG on Jan 8th 2025. Notes and link to the deck presented are available here, https://docs.google.com/document/d/1OykvqvhSG4AxEdmDMXilrupsX2n1qCSJUWwTc3I7AOs/edit?tab=t.0

@edrob999
Copy link

TAG Contributor Strategy has reviewed this project and found the following:

  • Contributor Guide: is Complete, with sections on getting started, developer set up, and how to contribute to each area of the project
  • Governance: project does not yet have a written Governance file (NOT a blocking issue for sandbox acceptance)
  • Roadmap: is Basic, listing six areas of focus; and would be improved with milestones/task breakdown/who-tasks-are-assigned-to/schedule (NOT a blocking issue for sandbox acceptance)
  • Maintainers: Project has 4 maintainers. All maintainers are affiliated with Microsoft

This review is for the TOC’s information only. Sandbox projects are not required to have full governance or contributor documentation.

@NValsan
Copy link
Author

NValsan commented Jan 13, 2025

Thanks for taking a look at the Drasi project. I've added a Governance and Community Membership file to our Community repo. Hopefully, it acts suitable guidance on how we decide on project membership and the roles and responsibilities of members.
https://github.com/drasi-project/community/blob/main/GOVERNANCE.md

@edrob999
Copy link

Thanks @NValsan. Putting these docs into a Community repo, as you've done, makes them very easy to find

@srust
Copy link

srust commented Jan 14, 2025

Drasi presented to TAG-Runtime on Dec. 19th, 2024: https://www.youtube.com/watch?v=X_i2XIAqKLE

@mrbobbytables
Copy link
Member

/vote

@kgamanji to follow up

Copy link

git-vote bot commented Jan 14, 2025

Vote created

@mrbobbytables has called for a vote on [Sandbox] Drasi (#296).

The members of the following teams have binding votes:

Team
@cncf/cncf-toc

Non-binding votes are also appreciated as a sign of support!

How to vote

You can cast your vote by reacting to this comment. The following reactions are supported:

In favor Against Abstain
👍 👎 👀

Please note that voting for multiple options is not allowed and those votes won't be counted.

The vote will be open for 2months 30days 2h 52m 48s. It will pass if at least 66% of the users with binding votes vote In favor 👍. Once it's closed, results will be published here as a new comment.

@kgamanji
Copy link

The TOC has reviewed the project for sandbox inclusion. A few notes:

  • the project seems to be in its early development stages, as it only has less than 6 months of public engagement and contributions. It also seems that the project is used internally by Microsoft
  • most maintainers come from one organization (Microsoft), hence the recommendation is to work with TAG contrib-strategy to nurture a diverse maintainer base (not a blocker for sandbox)
  • it is commendable that the project is embracing interoperability and can be deployed on multiple Kubernetes distributions

The recommendation from the TOCs is to move the project to a vote, however, if it does not pass the vote we recommend reapplying in 6 months, which will help the project reach a larger period of public development.

@angellk angellk moved this from 🏗 Upcoming to 🤔 In voting in Sandbox Application Board Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🤔 In voting
Development

No branches or pull requests

7 participants