Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Service registration per service provider instances
    • Registration
      Service instances are registered to the registry by proxy or themselves. The visible scope should be indicated as a parameter when register. If a service is only internal visible, the service information is only pulled by the internal gateway (aka router & load balancer) and used by other components inside the system, the interal services can't be accessed by external systems or front end(web client). If a service is visible to external system, the service information is pulled by the external gateway and can be accessed by external systems and front end (web client) with auth.
               
        
    • Discovery & Service Consuming
      • For internal service consumers(Components inside ONAP system, such as A&AI, SO, Controller, etc.)
        • Client side discovery and load balancing
        • Server side discovery and load balancing
      • For external service clients(OSS, BSS, Web client, etc.), access the service via external gateway


  2. Service registration per service
    The service may have its own load balancer built inside, for example, Kubernetes can create a load balancer for a service. In such case, only need to register the service LB node to MSB, and the service request from the consumer is routed to the service LB node.
    • Registration

    • Discovery  & Service Consuming

      Note: Only show the client side discovery in this diagram for simplicity, it's also possible to use server side discovery by the internal gateway.


  3. Centralized Authentication&Authorization via MSB plugin
    MSB is a pluggable architecture, so it can provide centralized authentication & authorization for service request with plugin of auth service provider like AAF.

Minimum Viable Product

Service Registration & Discovery

Service API Gateway(External API Gateway)

Service Router(Internal API Gateway)Describe the MVP for this release.

Functionalities

List the functionalities that this release is committing to deliver by providing a link to JIRA Epics and Stories. In the JIRA Priority field, specify the priority (either High, Medium, Low). The priority will be used in case de-scoping is required. Don't assign High priority to all functionalities.

...

Sub-components are repositories are consolidate in a single centralized place. Edit the Release Components name for your project in the centralized page.

ONAP Dependencies

...

  • Integration: work with Integration project to integrate MSB with other ONAP components
  • OOM: work with OOM team to register services to MSB after ONAP components are deployed and started by OOM

Architecture

High level architecture diagram

...

Anyone reading this section should have a good understanding of all the interacting modules.

Image Added

API Incoming Dependencies

...

High level description of the
API NameAPI DescriptionAPI Definition DateAPI Delivery dateAPI Definition link (i.e.swagger)To fill out










API

...

API Outgoing Dependencies

API this release is delivering to other releases.

Link toward the detailed API description
API NameAPI DescriptionAPI Definition DateAPI Delivery dateAPI Definition link (i.e.swagger)To fill outHigh level description of the APIDate for which the API is reviewed and agreedTo fill out
Service Registration
6/26/2017release API Freeze dateMicroservice Bus API Documentation
Service Discovery
6/26/2017release API Freeze dateMicroservice Bus API Documentation

Third Party Products Dependencies

Third Party Products mean products that are mandatory to provide services for your components. Development of new functionality in third party product may or not be expected.
List the Third Party Products (OpenStack, ODL, RabbitMQ, ElasticSearch,Crystal Reports, ...).

To fill out
NameDescriptionVersionTo fill outTo fill out
ConsulConsul is a distributed, highly-available, and multi-datacenter aware tool for service discovery, configuration, and orchestration. 0.8.4
OpenRestyOpenResty® is a full-fledged web platform that integrates the standard Nginx core, LuaJIT, many carefully written Lua libraries, lots of high quality 3rd-party Nginx modules, and most of their external dependencies. It is designed to help developers easily build scalable web applications, web services, and dynamic web gateways.

In case there are specific dependencies  (Centos 7 vs Ubuntu 16. Etc.) list them as well.

...