Code Monkey home page Code Monkey logo

depc's Introduction

Note: DepC is archived as of Sept 2022. It remains here in read-only mode for historical interest.


DepC logo

Build status Python versions License Code style: black

DepC Screenshots
View a larger version of the GIF


DepC (Dependency Checker) is a QoS Measurement & Dependency Graph Platform created by OVH. We use it to store and request our CMDB and to compute the QoS of our infrastructure, including our customers.

Overview

DepC provides a CMDB component to store and request related nodes into a graph structure. These nodes can be anything : servers, products, customers or even web services. A typical use case would be to create some customers nodes, related to their products. We can also link these products to servers, that way it would be very easy to display the impacted customers when a problem occurs on a server.

Once DepC knows your dependency graph, it then becomes possible to compute a QoS for every nodes. By taking up our previous example, Depc can compute the QoS of our customers, following the QoS of their servers.

Principles

  • Graph Dependency : We use the Neo4j database to manage the nodes and their relationships (we already handle several million of nodes in our OVH internal instance). DepC provides some API calls and WebUI to easily request a node and its relationships.
  • QoS Computation : DepC can compute a QoS for all nodes in the Graph, but of course we have to explain how we do it. We created different methods for that : some nodes will use the raw data stored in TimeSeries databases (for example a server node having a probe), other nodes will use their parents QoS to compute their own one. Finally the QoS can be displayed in Grafana or in the DepC WebUI (this last one allows some cool features, like display the worst nodes or even the root cause of a bad QoS).
  • Scalability : Apache Kafka is used to receive payloads and forward them to Neo4j, adding the wanted scalabily and high-availability management. Then Apache Airflow is responsible to automate the QoS computation, so DepC can benefit from its executors feature (Celery, Kubernetes..) to scale horizontally.

Installation

See https://ovh.github.io/depc/installation.html

Links

License

See https://github.com/ovh/depc/blob/master/LICENSE

depc's People

Contributors

anthonyolea avatar antleblanc avatar dependabot[bot] avatar maximecaruchet avatar ncrocfer avatar pkalemba avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.