Automation adds msb-apigateway-architecture.rst
[msb/apigateway.git] / docs / platform / architecture.rst
index 2fca78b..090536c 100644 (file)
@@ -1,32 +1,23 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. _architecture:
 
 
 Architecture
 ------------
+Microservices Bus(MSB) provides a reliable, resilient and scalable communication and governance infrastructure to support ONAP Microservice Architecture including service registration/discovery, external API gateway, internal API gateway, client SDK, Swagger SDK, etc. It's a pluggable architecture, plugins can be added to MSB to provide whatever functionalities you need, such as an auth plugin can be used to provide centralized authentication & authorization. MSB also provides a service portal to manage the REST APIs.
 
-Holmes comprises three modules: the rule management module, the engine management module and the data source adapter.
+MSB is platform independent, while it is integrated with Kubernetes(OOM) to provide transparent service registration for ONAP microservices, MSB also supports OpenStack(Heat) and bare metal deployment.
 
-- Holmes
-    - Rule Management Module
-    - Engine Management Module
-    - Data Source Adapter
-       
-ONAP-level Architecture
-^^^^^^^^^^^^^^^^^^^^^^^
 
-Basically, Holmes itself is an independent component in ONAP, which means it could be deployed as an ONAP-level component. In the Amsterdam release, Holmes is more generally a DCAE analytic application. It is deployed by DCAE and run as an analytic application on top of it. Also, it could be considered as a filter of the Policy component because it reduces the number of the input messages of Policy.
 
-.. image:: images/overall-architecture-in-onap.png
+MSB is mainly comprised of three parts: Discovery, API Gateway and MSB Client SDK. MSB also provide a swagger SDK which could generate swagger REST service description files..
 
-Holmes Architecture
-^^^^^^^^^^^^^^^^^^^
+.. image:: images/msb-architecture.png
 
-Take a deep dive into Holmes, we could see it mainly consists of three modules, which are the rule management module, the engine management module and the data source adapter module respectively. 
+Registry is the storage of service information, MSB leverage Consul as the service registry.
 
-The rule management module provides interfaces for the operations (e.g. creating, updating and deleting) on the rules.
+MSB Discovery provides REST APIs for service discovery and registration.
 
-The data source adapter consists of subscribers and publishers, which are used to convert the data format into the one that could be digested by Holmes and vice versa. 
+API Gateway provides service request routing, load balancing and service governance. It can be deployed as external Gateway or Internal Gateway.
 
-The engine management module is the core of Holmes. All the rules are deployed here. When alarms gets into Holmes, they will be pushed into the Drools engine and analyzed by the enabled rules one after another. When processing the alarms, a couple of attributes, such as the alarm name, the occurrence time of the alarm and so on, are utilized. Also, the topological information from A&AI is used in combination of the alarm attributes. After the root cause is identified, it will be converted into a control loop event and published to a specific DMaaP topic which is subscribed to by the Policy component.
-
-.. image:: images/holmes-architecture.png
+MSB SDK is a client-side Java SDK which can be used for point to point communication of microservices.