Microservice Bus Tutorial Huabing Zhao

Slides:



Advertisements
Similar presentations
Server Access The REST of the Story David Cleary
Advertisements

A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
Understanding and Managing WebSphere V5
1 © Talend 2014 Service Locator Talend ESB Training 2014 Jan Bernhardt Zsolt Beothy-Elo
Application Packaging Standard Fundamentals
ASP.NET Web API Udaiappa Ramachandran NHDN-Nashua.NET/Cloud Computing UG Lead Blog:
1 ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe confidential. 1 Building Portlets with ColdFusion Pete Freitag Foundeo, Inc.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
CoprHD and OpenStack Ideas for future.
International Planetary Data Alliance Registry Development and Coordination Project Report 7 th IPDA Steering Committee Meeting July 13, 2012.
Module 4: Troubleshooting Web Servers. Overview Use IIS 7.0 troubleshooting features to gather troubleshooting information Use the Runtime Control and.
Portlet Development Konrad Rokicki (SAIC) Manav Kher (SemanticBits) Joshua Phillips (SemanticBits) Arch/VCDE F2F November 28, 2008.
Deploying Docker Datacenter on AWS © 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved.
SDN-O LCM for Mercury Release Key Points and Overview
ONAP E2E Flow `.
ONAP Management Requirements
Building Azure Mobile Apps
Microservice Powered Orchestration
Configuration & Registry Microservice Deep Dive
fd.io vpp and containers
ONAP Microservice Bus Project Kickoff Huabing Zhao
Intel HF2 ONAP Community POD 01 (AKA: POD-25)
Consulting Services JobScheduler Architecture Decision Template
Deployment Architectures For Containers
ONAP Multi-VIM/Cloud Long Term Architecture and Use Cases (Under Community Discussion across Use Case, Optimization Framework, OOM,
ONAP/K8S Deployment OOM Team
Multi-VIM/Cloud High Level Architecture
Introduction to Windows Azure AppFabric
OpenLegacy Training Day Four Introduction to Microservices
MSB Integration Guide.
MSB Integration Guide.
A&AI Component Diagram
Node.js Express Web Applications
CLI PTL ONAP Paris Developer Event 25 –
Data Virtualization Tutorial… CORS and CIS
Web Hosting with OpenShift
What has Azure to offer to IoT Developers?
Consulting Services JobScheduler Architecture Decision Template
Get Started Developing with Azure IoT Hub
ONAP Integration to External Domain Management Systems (DMS)
Multi-VIM/Cloud High Level Architecture
Power BI Security Best Practices
Configuration Store in ONAP using Distributed KV Store (As part of making ONAP carrier grade) Consul.
Secure communication among services
Certificate and Secret Management Services
Introduction to Microservices Prepared for
Agenda Where we are (Amsterdam Architecture)
ONAP APIs Andrew Mayer, AT&T
2017 Real Questions
Kubernetes Container Orchestration
Microsoft Build /8/2018 5:15 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Using docker containers
Azure Container Instances
Multi-VIM/Cloud High Level Architecture
Intro to Docker Containers and Orchestration in the Cloud
ONAP 5G USE CASE ENHANCEMENTS FOR PNF DEPLOYMENTS
Container cluster management solutions
Module P3 Practical: Building a webapp in nodejs and
autodiscoverable microservices with vertx3
Developing for Windows Azure
Kirill Lukashin and IBM Montreal
OOM-ONAP Portal Access without VNC
OpenShift as a cloud for Data Science
5G Use Case Configuration & PNF SW Upgrade using NETCONF ONAP DDF, Jan 9, 2019 Ericsson.
Microservices – What Exactly Am I Securing Again?
9/16/2019 6:55 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
.NET Core and Kubernetes
IoT Security and Privacy
Presentation transcript:

Microservice Bus Tutorial Huabing Zhao

Agenda MSB Overview Service Registration Service Discovery Example & Demo How to integrate with MSB in Amsterdam

MSB Overview-Introduction MSB(Microservices Bus) provide a comprehensive, end to end solution to support ONAP microservice architecture including service registration/discovery, external gateway, internal gateway, client SDK. It's a pluggable architecture so it can integrate with auth service provider to provide centralized Authentication & Authorization. MSB also provides a service portal to manage the REST APIs. MSB doesn’t depend on a specific environment. It can work in bare metal, virtual machine or containerized environment.

MSB Overview-Components ONAP Microservices MSB Discovery 1 Service discovery Registry MSB Discovery MSB SDK Microservice A External service Internal service 2 Service request Microservice C 1 Service request External Gateway External Gateway Internal Gateway Microservice B Internal Gateway External service request 2 Route request to service provider Mobile Desktop External Systems Registry Service information storage, MSB leverage Consul as service registry. MSB Discovery Provides REST APIs for service discovery and registration Service Gateway Provide service request routing, load balancing and centralized Auth. It can be deployed as external Gateway or Internal Gateway. MSB SDK Java SDK for point to point communication

Service Endpoint Information Model Attribute Description serviceName Service Name version Service Version url the actual URL of the service to be registered protocol supported protocols: 'REST', 'UI', 'HTTP','TCP' visualRange Visibility of the service.  External(can be accessed by external systems):0  Internal(can only be accessed by ONAP microservices):1 path The customized publish path of this service. If path parameter is specified when registering the service, the service will be published to api gateway under this path. Otherwise, the service will be published to api gateway using a fixed format: api/{serviceName} /{version}. The customized publish path should only be used for back-compatible. lb_policy Load balancing method, Currently two LB methods are supported, round-robin and ip-hash. enable_ssl True if the registered service is based on https. False if the registered service is based on http. nodes ip: the ip of theservice instance node port: the port of the service instance node ttl: time to live, this parameter is reserved for later use

Service Registration –RESTFul API http method: POST url: http://{msb_ip}:{msb_port}/api/microservices/v1/services Example: curl -X POST \ -H "Content-Type: application/json" \ -d '{"serviceName": "test", "version": "v1", "url": "/","protocol": "REST", "lb_policy":"round-robin","nodes": [ {"ip": "127.0.0.1","port": "9090"}]}' \ "http://127.0.0.1:10081/api/microservices/v1/services”

Service Registration-OOM Registrator MSB ONAP Operations Manager 2 Register Service Update Service MSB Discovery Registry Registrator External service Internal service 1 Pod Even (Start, Stop etc.) External Gateway Internal Gateway ONAP Policy SO A&AI VF-C SDC VF-C OOM Registrator can register service endpoints for the microservices deployed by OOM OOM deploy/start/stop ONAP components. Registrator watches the kubernetes pod event . Registrator registers service endpoint info to MSB. It also updates the service info to MSB when ONAP components are stopped/restarted/scaled by OOM

OOM Registrator-Service endpoint configuration Use Kubernetes annotations to attach service endpoint metadata to objects. Service endpoint can be defined at Pod level or Service level  Pod level: leverage the LB capabilities of MSB to distribute requests to multiple pods Service level: MSB send the request to service(Cluster IP), K8s dispatch the request to the backend Pod Register at service level Pod Register Service MSB Pod Register at pod level Pod Register MSB Pod

Service Registration-MSB SDK Microservices can use SDK to register themselves to MSB.

Service Discovery-Gateway Expose the services(Rest API, UI pages, etc.)which need to be accessed by external systems Solve the cross-domain issue for web app Protocol transformation/translation between external reques and internal service Centralized Auth External service gateway SProtocol translation(eg. https->http) Centralized Auth … Load balancing Load balancing Routing and load balancing of the API calls within the system Minimize the codes modification for service consumer Internal API gateway Discovery Registry Both the external and internal gateway can be deployed as a cluster(multiple instances) to avoid single point of failure

Service Discovery-MSB SDK Microservices can use SDK to MSB SDK to discovery and access other microservices within ONAP.

Example & Demo Start MSB services Explore the MSB portal. 1. Run the Consul dockers. sudo docker run -d --net=host --name msb_consul consul agent -dev 2. Run the MSB dockers. Login the ONAP docker registry first: docker login -u docker -p docker nexus3.onap.org:10001 sudo docker run -d --net=host --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery sudo docker run -d --net=host -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway Explore the MSB portal. http://127.0.0.1/msb Use MSB SDK to register/access services https://gerrit.onap.org/r/gitweb?p=msb/java-sdk.git;a=tree;f=example;h=1c331f86cbcbdb8cc2935d8ac41169da1a523ec5;hb=refs/heads/master

How to integrate with MSB in Amsterdam Register the service endpoints to the wiki page Use annotations to attach service endpoint metadata to Kubernetes pod or service objects Use MSB SDK to access services Useful resources https://wiki.onap.org/display/DW/ONAP+Services+List https://wiki.onap.org/display/DW/MSB+Test+Environment+Setup https://wiki.onap.org/display/DW/Microservice+Bus+API+Documentation