Skip to content

GunioRobot/skybase

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

========================================================================================================================
README

Willie Wheeler (willie.wheeler@gmail.com)

Copyright 2011-2012 the original author or authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
========================================================================================================================

From a high level, Skybase is an open source configuration management database, or CMDB. As such its goal is to support
runbook automation, especially deployment and operations use cases.

Technically Skybase explores the use of Neo4j in building a configuration management database. We're trying to address a
few challenges we've seen building another CM system (one that's based upon a relational backend):

1) When the CMDB's scope is large (e.g. spanning multiple global data centers), the underlying schema becomes complex
   and over time resists change. But we need to be able to change the schema as business requirements evolve (e.g., new
   customers, new vendor relationships, etc.).

2) Corresponding to the schema complexity, the UI becomes pretty complex too. We end up having to invent new terms, or
   assign very specific meanings to existing terms, like "application", "farm", "instance", "package", "environment",
   "logical environment", "physical environment", etc.

3) Defining, viewing and navigating relationships in the UI requires significant database, service and UI development.

The thought is that we can use a generic data representation--a graph--to address these issues. For example, instead of
building custom tables, services and UI for individual entities and for entity navigation, we can use generic graph
operations to establish these. Adding a person to a team, say, is the same sort of operation as adding an instance to a
farm.

About

CMDB based on Neo4j

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • JavaScript 70.1%
  • Java 29.9%