Project Name: MUSIC - Multi-site State Coordination Service

Project description:

To achieve 5 9s of availability on 3 9s or lower software and infrastructure in a cost-effective manner, ONAP components need to work in a reliable, active-active manner across multiple sites (platform-maturity resiliency level 3). A fundamental aspect of this is  state management across geo-distributed sites in a reliable, scalable, highly available and efficient manner. This is an important and challenging problem because of three fundamental reasons:

In this project, we identify common state management concerns across ONAP components and provide a multi-site state coordination/management service (MUSIC) with a rich suite of recipes that each ONAP component can simply configure and use for their state-management needs.

Functionality:

At its core, MUSIC provides a scalable sharded eventually-consistent data-store (Cassandra) wherein the access to the keys can be protected using a locking service (built on Zookeeper) that is tightly coupled with the data-store. ONAP components can use the MUSIC API directly to store and access their state across geo-distributed sites.  This API enables ONAP components to achieve fine-grained flexible consistency on their state.

MUSIC also provides a rich set of recipes (mdbc, prom, musicCAS, musicQ) that ONAP components can use to build multi-site active-active/active-passive/federated state-management solutions:

Scope:

MUSIC is a shared service with recipes that individual ONAP components and micro-service can use for state replication, consistency management and state ownership across geo-distributed sites. MUSIC will make sure that the right service data is available at the right place, and at the right time to enable federated active-active operation of ONAP. For example, we envisage the use of MUSIC for multi-site state management in SO (to store Camunda state across sites), <SDN-C, AppC> (to store ODL related state across sites) , A&AI (to store its graph data) and most other ONAP components that need to manage state across sites. 

Out of Scope:

While MUSIC is an optional solution for state-management of ONAP components across sites,  OOM will continue to manage component level and platform level deployment, scalability, redundancy, resiliency, self-healing and high availability on top of Kubernetes across sites for ONAP. 


Usage:

MUSIC and its recipes export a REST API apart from mdbc which is implemented as a jdbc driver to enable seamless integration with SQL-based ONAP components.  

Architecture:

The figures below how MUSIC can be used in a general context and also provide a  specific example of its potential usage in ONAP SO.

A specific example:





Seed Code Status:

Architecture Alignment:

Other Information:

Use the above information to create a key project facts section on your project page

Key Project Facts:

Facts

Info

PTL (first and last name)

Bharath Balasubramanian

Jira Project Name

Music

Jira Key

MUSIC

Project ID

music

Link to Wiki Space

MUSIC Project

Release Components Name:

Note: refer to existing project for details on how to fill out this table

Components Name

Components Repository name

Maven Group ID

Components Description

music

music

org.onap.music

This repo contains the code for a multi-site coordination service (MUSIC) and associated recipes that enables efficient, highly available state-management across geo-redundant sites.

Resources committed to the Release:



Role

First Name Last Name

Linux Foundation ID

Email Address

Location

PTL

Bharath Balasubramanian

bharathb

bharathb@research.att.com

Bedminster, NJ, USA

Committers






Bharath Balasubramanianbharathbbharathb@research.att.comBedminster, NJ, USA

Viswanath

Kumar Skand Priya

kspviswa-vz

viswanath.kumarskandpriya@verizon.com

Chennai, India


Thomas Nelson Jr.arthurdent3tn1381@att.comBedminster, NJ, USA

Greg WainesgwainesGreg.Waines@windriver.com

Contributors






Srinivasa R Addepalli
srinivasa.r.addepalli@intel.com

Gil Hellman



gil.hellmann@windriver.com



Manoj Nair
manoj.k.nair@netcracker.com




Abbas Fazal
afazal@research.att.com

Bedminster, NJ, USA