...
Project Name | Enter the name of the project |
---|---|
Target Release Name | BeijingCasablanca |
Project Lifecycle State | Incubation |
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
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 server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution maximumIssues 20 jqlQuery project=msb and issuetype in (epic) and fixVersion = "Beijing Casablanca Release" serverId 425b2b0a-557c-3c0c-b515-579789cceedb
...
Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution maximumIssues 20 jqlQuery project=msb and issuetype in (story) and fixVersion = "Beijing Casablanca Release" serverId 425b2b0a-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 Name | Deliverable Description |
---|---|
API Gateway | Service 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 Discovery | Provides 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 SDK | Swagger 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 Agent | MSB 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 Portal | A portal including mesh configuration, service catalog and API management. |
Istio Installation glue scripts | Glue scripts for installation: Istio control plane, Istio data plane and service backends(jaeger, Prometheus, grafana, etc.) |
Documentation | API 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.
MSB will provide service mesh as a transparent service communication layer which handles service discovery, load balancing, routing, failure handling, and visibility.
Platform Maturity
...
Area | Actual Level | Targeted Level for current Release | How, Evidences | Comments |
---|---|---|---|---|
Performance | 1 | 1 | Capture the baseline performance of API Gateway, such as QPS Latency Transfer/sec. |
|
Stability | 1 | 1 | 72 hours soak test with random transactions from ONAP microservices via Internal API Gateway. |
|
Resiliency | 2 | 2 | MSB integrates with OOM and leverage kubernetes to provide automated detection and recovery |
|
Security | 10 | 1 | Reach the 50% Test Coverage. It's unclear how to get CII Passing badge, will Investgate and figure out. |
|
Scalability | 1 | 1 | Provide cluster deployment for MSB components to achieve single site horizontal scaling. |
|
Manageability | 1 | 1 | MSB provide access logging at API gateway. |
|
Usability | 1 | 1 | Provide all the required documentation. |
|
...
API Name | API Description | API Definition Date | API Delivery date | API Definition link (i.e.swagger) |
---|---|---|---|---|
Service Registration | RESTFul API for service registration with MSB. | 18/1/2018 | release API Freeze date | Microservice Bus API Documentation |
Service Discovery | RESTFul API for service discovery with MSB. | 18/1/2018 | release API Freeze date | Microservice Bus API Documentation |
JAVA SDK | JAVA SDK for service registration, discovery and inter-services communication. | 18/1/2018 | release API Freeze date | Microservice Bus API Documentation |
...
- Unit test: the goal is 50% coverage for Amsterdam Casablanca Release.
- Functional test: Leverage the robot framework infrastructure to provide the functional test.
- Integration test: Support integration team to provide the end to end integration test.
- All the above should be automation tests run on the LF Jenkins Infrastructure.
...
Risk identified | Mitigation Plan | Contingency Plan |
---|---|---|
To fill out | To fill out | To 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
...