Versions Compared

Key

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

...

Project NameEnter the name of the project
Target Release NameBeijingCasablanca
Project Lifecycle StateIncubation
Participating Company AT&T, CMCC, IBM, Tech Mahindra, ZTE

...

MSB(Microservices Bus) provides key infrastructure functionalities to support ONAP Microservice Architecture(OMSA) , which includes:

...

Note: The current name MSB(Microservices Bus) can't  well explain the project anymore, we're considering to change to a new name which can better reflect the scope and functionalities of this project.in Amsterdam and Beijing. In Casablanca, MSB mainly focuses on the integration of Istio service mesh with ONAP to enhance OMSA, while keeping the Istio integration compatible with the existing MSB API Gateway approaches. 

  • Integrate Istio with ONAP to provide a reliable, secure and flexible service communication layer (service discovery/retries/circuit breaker/route rule/policy)
  • Integrate with CNCF projects jaeger to provide distributed tracing Prometheus and Grafana for metrics collection and display
  • Add MSB Portal to control plane to provide service catalog, swagger UI of Restful API, service mesh configuration, etc

Image Added

Use Cases

MSB is an infrastructure projectMSB is an infrastructure layer project to support ONAP microservices architecture, it means that MSB supports every ONAP use case with no differenceuse case without difference.

Minimum Viable Product

  • Meet the planned Beijing Casablanca platform maturity(S3P) requirements
  • Integrate Istio with at least one ONAP project to provide service-2-service communication, metrics collection and distributed tracing
  • Integration MSB with Istio to make service communication via MSB API gateway compatible with service communication via Istio service mesh

...

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryproject=msb and issuetype in (epic) and fixVersion = "Beijing Casablanca Release"
serverId425b2b0a-557c-3c0c-b515-579789cceedb

...

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryproject=msb and issuetype in (story) and fixVersion = "Beijing Casablanca Release"
serverId425b2b0a-557c-3c0c-b515-579789cceedb

Longer term roadmap

  • Run ONAP on top of Istio service mesh.
  • Leverage Istio to achieve closed-loop operation for ONAP system itself
  • Investigate service mesh(Istio) and integrate Istio into OMSA when it's production ready.
  • Work together with Microservice subcommittee and other projects such as OOM/AAF/Logging to achieve OMSA(ONAP Microservice Architecture) to support carrier-grade ONAP platform.

Release Deliverables

Indicate the outcome (Executable, Source Code, Library, API description, Tool, Documentation, Release Note...) of this release.

Deliverable NameDeliverable Description
API GatewayService API gateway which provides client request routing, client request load balancing, transformation, such as https to http, authentication & authorization for service request with plugin of auth service provider,service request logging,service request rate-limiting,service monitoring,request result cache,solve cross-domain issue for web application and other functionalities with the pluggable architecture capability. It can be deployed as external API gateway which is a transparent inter-service communication proxy or internal API gateway which exposes ONAP services to outside world.
Service DiscoveryProvides service registration and discovery for ONAP microservices, which leverage Consul and builds an abstract layer on top of it to make it agnostic to the registration provider and add the needed extension.
JAVA SDK

Provides a JAVA SDK for rapid microservices development, including service registration, service discovery, request routing, load balancing, retry, etc.

Swagger SDKSwagger sdk helps to generate swagger.json and java client sdk during the build time, it also helps to provide the swagger.json at the given URI in the run time.
MSB Istio AgentMSB Istio Agent watches MSB services registration changes and automatically creates Istio routing rules which rewrite the requests to MSB internal API gateway to the service destination.
Mesh PortalA portal including mesh configuration, service catalog and API management.
Istio Installation glue scriptsGlue scripts for installation: Istio control plane, Istio data plane and service backends(jaeger, Prometheus, grafana, etc.)
DocumentationAPI documentation, tutorial and installation guide

...

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

...

This diagram shows how MSB project fits in the ONAP Architecture in a very high-level view.

If we take a closer look at ONAP Microservice Architecture, we get this diagram. The yellow blocks are currently in this project.

Please note that this diagram is a functional view of OMSA, which is not mapped to specific projects. So some of the blocks are currently implemented in this project, some of the blocks are implemented in other projects such as OOM and DMaaP, and other blocks may not exist yet, which need to be implemented or integrate with opensource projects to provide these functionalities. MSB will work with the related projects to provide all the OMSA functionalities to support a reliable, resilient and scalable ONAP Microservice Infrastructure.

Image Removed

MSB will provide service mesh as a transparent service communication layer which handles service discovery, load balancing, routing, failure handling, and visibility. 

Image Removed

Platform Maturity

...

AreaActual LevelTargeted Level for current ReleaseHow, EvidencesComments
Performance11Capture the baseline performance of API Gateway, such as QPS Latency Transfer/sec.
  • 0 -- none
  • 1 – baseline performance criteria identified and measured
  • 2 & 3 – performance improvement plans created & implemented
Stability1172 hours soak test with random transactions from ONAP microservices via Internal API Gateway.
  • 0 – none
  • 1 – 72 hours component level soak w/random transactions
  • 2 – 72 hours platform level soak w/random transactions
  • 3 – 6 months track record of reduced defect rate
Resiliency22MSB integrates with OOM and leverage kubernetes to provide automated detection and recovery
  • 0 – none
  • 1 – manual failure and recovery (< 30 minutes)
  • 2 – automated detection and recovery (single site)
  • 3 – automated detection and recovery (geo redundancy)
Security101Reach the 50% Test Coverage. It's unclear how to get CII Passing badge, will Investgate and figure out.
  • 0 – none
  • 1 – CII Passing badge + 50% Test Coverage
  • 2 – CII Silver badge; internal communication encrypted; role-based access control and authorization for all calls
  • 3 – CII Gold
Scalability11Provide cluster deployment for MSB components to achieve single site horizontal scaling.
  • 0 – no ability to scale
  • 1 – single site horizontal scaling
  • 2 – geographic scaling
  • 3 – scaling across multiple ONAP instances
Manageability11MSB provide access logging at API gateway.
  • 1 – single logging system across components; instantiation in < 1 hour
  • 2 – ability to upgrade a single component; tracing across components; externalized configuration management
Usability11Provide all the required documentation.
  • 1 – user guide; deployment documentation; API documentation
  • 2 – UI consistency; usability testing; tutorial documentation

...

API NameAPI DescriptionAPI Definition DateAPI Delivery dateAPI Definition link (i.e.swagger)
Service RegistrationRESTFul API for service registration with MSB.18/1/2018release API Freeze dateMicroservice Bus API Documentation
Service DiscoveryRESTFul API for service discovery with MSB.18/1/2018release API Freeze dateMicroservice Bus API Documentation
JAVA SDKJAVA SDK for service registration, discovery and inter-services communication.18/1/2018release API Freeze dateMicroservice Bus API Documentation

...

  1. Unit test: the goal is 50% coverage for Amsterdam Casablanca Release.
  2. Functional test: Leverage the robot framework infrastructure to provide the functional test.
  3. Integration test: Support integration team to provide the end to end integration test.
  4. All the above should be automation tests run on the LF Jenkins Infrastructure.

...

Risk identifiedMitigation PlanContingency Plan
To fill outTo fill outTo fill out
  • Resources

Fill out the Resources Committed to the Release centralized page.

  • Release Milestone

The milestones are defined at the Release Level and all the supporting project agreed to comply with these dates.

MSB project follows the ONAP Beijing release the ONAP Casablanca release milestones.

  • Team Internal Milestone

...