Microservice Powered Orchestration

Slides:



Advertisements
Similar presentations
A scalable and flexible platform to run various types of resource intensive applications on clouds ISWG June 2015 Budapest, Hungary Tamas Kiss,
Advertisements

Docker for Ops: Operationalize Your Apps in Production Vivek Saraswat Sr. Product Evan Hazlett Sr. Software
Version 0.6 Draft – For Review Huabing Zhao
Architecting Enterprise Workloads on AWS Mike Pfeiffer.
Version 0.9 Huabing Zhao
OPEN-O Approach 1, 2, 3 and 1.5 Discussion in Beijing.
OPEN-O DevOps Practice with Automation Toolchain
Open-O GS-O Project Proposal
SDN-O LCM for Mercury Release Key Points and Overview
ONAP E2E Flow `.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
Open-O SFC.Mgr Proposal
ONAP Management Requirements
OPEN-O VNF Supplier APIs & SDK Project Proposal
ARC: Definitions and requirements for SO/APP-C/VF-C discussion including call notes Chris Donley July 5, 2017.
ArcGIS for Server Security: Advanced
Master Service Orchestrator (MSO)
Open-O SDN-O Driver Project Proposal
Orchestration and Controller Architecture Alignment Vimal Begwani AT&T
Configuration & Registry Microservice Deep Dive
Rationalizing ONAP Architecture for R2 and Beyond Vimal Begwani – AT&T
LSO Innovation Platform
ONAP Microservice Bus Project Kickoff Huabing Zhao
ONAP Architecture Meeting 8/8
Microservice Bus Tutorial Huabing Zhao
Microservices & API Gateways Marco Palladino.
Containers as a Service with Docker to Extend an Open Platform
Orchestration and Controller Alignment for ONAP Release 1
ONAP Architecture Slides Current Plan of Record
Understanding Solutions
OPEN-O Project Proposal Training
Multi-VIM/Cloud High Level Architecture
OPEN-O GS-O Planning Mercury Release
OPEN-O Sun Release Lab Deployment & Assembly
OpenLegacy Training Day Four Introduction to Microservices
MSB Integration Guide.
MSB Integration Guide.
Interface to External Controllers and SD-WAN Use Case
OPEN-O Multiple VIM Driver Project Use Cases
ONAP Interface to External Controllers
ARC: Definitions and requirements for SO/APP-C/VF-C discussion Chris Donley Date , 2017.
ONAP Architecture Meeting 8/8
Docker Birthday #3.
OPEN-O Modeling Directions (DRAFT 0)
ARC 5: Deployment Options Chris Donley
ONAP Architecture Slides Current Plan of Record
MEF LSO Legato SDK 24 October 2017 Andy Mayer, Ph.D. Tara Cummings.
Dovetail project update
Multi-VIM/Cloud High Level Architecture
Enterprise vCPE use case requirement
Windows Azure AppFabric
Introduction to Microservices Prepared for
Open-O Client Project Proposal
ONAP – Centralised Parser Distribution Atul Purohit - Vodafone
VF-C R2 Feature Planning & Implementation Yan Yang
Agenda Where we are (Amsterdam Architecture)
Enterprise vCPE use case requirement
ONAP Amsterdam Architecture
Christopher Donley Prakash Ramchandran Ulas Kozat
Kubernetes Container Orchestration
Continuous Automated Chatbot Testing
Documenting ONAP components (functional)
Multi-VIM/Cloud High Level Architecture
Software Defined Networking (SDN)
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Management and Orchestration in Complex and Dynamic Environment
ONAP Beijing Architecture Chris Donley 1/9/18
Learn. Imagine. Build. .NET Conf
ESB Modernization Prepared by: OIT As of May 23, 2016.
Eldert Grootenboer Cloud Architecture Recipes For The Enterprise
Presentation transcript:

Microservice Powered Orchestration Huabing Zhao ZTE, System Engineer, Network Management & Service, OPEN-O Common Service PTL zhao.huabing@zte.com.cn Zhaoxing Meng ZTE, NFV&SDN Architect, Network Management & Service, OPEN-O Common Service PTL zhaoxing.meng1@zte.com.cn

Agenda Why Microservice at OPEN-O Challenges of Microservice MSB(Microservice Bus) Solution What can MSB bring to ONAP

Monolith vs Microservice Microservices The microservice architectural style  is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. -Martin Fowler No performance issue here Scaling Monolith Scaling Microservices Process Machine

Why chose Microservice Architecture? How to build an OPEN community? We have various members and we are expecting more joining in Each organization has its own tech Stack How to integrate existing seed codes in different technical stack? We didn’t start from scratch A dozen of existing seed codes repos Ambitious release plan How to make orchestration reliable and scalable? OPEN-O is a large, complex software system Each component may have different resource requirement Each component may have different working load

Ambitions Sun Release Plan We had made an ambitions plan for SUN Release June 8,2016 Kick-Off August 11,2016 Planning Sept 1,2016 API Freeze Sept 15, 2016 Code Freeze Sept 29,2016 RC0 Nov 3, 2016 Sun Release

Challenge of Integration We get bigger challenge for ONAP integration SDN Driver VNFM Drivers VIM Drivers ACCESS/WAN SDN Controller Drivers NFV SDN Controller Drivers Orchestrator Service Model Designer Portal GUI Portal … Test & Lab (for feature) GS-O Service Decomposer Service Lifecycle Mgr. Service Parser Abstract NBI SDN-O SDN Res. Mgr. Abstract SBI NFV-O NFV Res. Mgr. NFV Monitor NS Lifecycle Mgr. VPN SDN Lifecycle Mgr. Traffic Optimize VAS Mgr. Monitor O-Common External System Register Template Mgr. Analytics Policy Inventory Common Service HA Log Driver Mgr. Micro-Service Bus Protocol Stack Auth. EMS/NMS Driver NFV Workflow Engine Catalog

Build an Open Community Portal Legacy System Partner App Operator Vendor Individual Developers Common Service Orchestrator Common Global Service-O Test & Lab Partner SDN-O NFV-O Driver Driver Driver Driver Driver SDN Controller VNFM VIM VNF Microservice Platform Build an open community so that everyone can enjoy the party

Challenges of Microservice Architecture Microservice Architecture comes at a price: Complexity How do the clients application access the back end services? How do the client or another service - discover the location of a service instance?

Direct Client-to-Microservice Communication? This approach has some problems: Add complexity to client codes Nightmare for firewall configuration Coupling of client and individual services Cross-domain issue for web app

Solution: Service Gateway Service gateway hides the complexity Simplify the client codes. Reduce request roundtrips Provide API management Solve cross-domain issue for web app

“Traditional” application Microservice application How to find the service? In order to access a service, you need to know the exact endpoint(IP & Port) IP & Port dynamically assigned Service endpoint doesn’t change a lot Consumer can get the endpoint from configuration files “Traditional” application The IP & port is dynamically allocated IP & port changes along with the scaling/ updating/ self-healing of service instances Microservice application IP & Port dynamically changing How to load balancing

Solution: Service Registration & Discovery Service providers register themselves to the registry when start up Update service information when service instances change Service Discovery: Service consumers query registry to find the locations of service Two approaches: Server-side discovery & Client-side discovery Service Registry Service Consumer Load Balancer Service Instance A 10.74.215.33:3564 10.74.215.211:1522 10.74.215.8:3281 Invoke Load balance & invoke Query Register Server-side discovery Client SDK Client-side discovery

OPEN-O Microservice Solution: High Level Architecture L7 Service Updater Listen to service change Register Heartbeat Unregister Update Service Registry Service Discovery (DNS Server) Registration Proxy Listen to service change Register L4 Service Updater Cache Listen DNS Search Access Service Query Service Registry Service Provider Instance B Service Consumer Service Provider Instance A Modify and Reload Service Consumer Access Service (Client-side discovery) Service Gateway access service Access Service (Server-side discovery) Request Routing Load Balance Service Discovery

OPEN-O Microservice Solution : MSB Components Docker Cluster Other Cluster(VM, Mesos, K8S, Swarm …) Service A Service A Service A Service B Service A Service B Service A Service A Service A Service B Service A Service B Docker events Service lifecycle events Healthy Check register forward service request Registration Proxy Service Discovery Service Gateway Service Discovery Client Docker Listener Other Listeners Service Management query Service Gateway DockerProxy OtherProxy OpenResty Discovery Client Healthy Check update External Systems register register L7 Service Updater 3-party App forward registration request Discovery Client Discovery Client Service Discovery Server Cluster L4 Service Updater Service request UI Portal Discovery Server Cache Discovery Server Discovery Server forward registration request

MSB Features-High Availability Load balancer(DNS Server/LVS etc.) in the front end Service gateway cluster to avoid SPOF of service gateway Access Layer Service A Service B Service C Service gateway as the load balancer for services Deploy multiple service instances to avoid SPOF of service Service Layer Service D Service E

MSB Features-Separated gateway for External and Internal Routing Expose the services(Rest API, UI pages, etc.)which need to be accessed by external systems Solve the cross-domain issue for web app Stricter access control Adaption between external API and internal service External service gateway Stricter access control Protocol translation(eg. https->http) … Routing and load balancing of the API calls within the system Less control in trusted zone Light weight communication protocol Internal API gateway (router) Registry Can add more gateways according to deployment scenarios

MSB Features-Extendability Extendable architecture for adding functionality Auth: add auth to APIs, integrated with Openstack keystone Driver routing: add driver specify routing logic for devices Logging: API calling logging Service health monitoring ACL,API Analytics,Transformations Anything: new functionality can be added on demand by plugins Authentication API Monitoring MSB Logging Other Plugin

MSB Features-Service API Portal

MSB Features-Service Healthy Monitoring

MSB Features-API Monitoring

How MSB may fit into ONAP (Service Discovery & Routing) Using a configuration file, we might have problems on scaling, failover and update Before: …… VF-C Service Discovery MSB External Service gateway Internal API Router How to call service: After: "apigateway": "https://apigateway.onap.org:80" GET https://apigateway.onap.org/api/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id} MSB as the single entry point Other Modules … API gateway routes the request to: GET https://c1.vm1.aai.simpledemo.openecomp.org:8443/aai/v8 /cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id} MSB handles the service discovery & routing & LB

How MSB may fit into ONAP(reverse proxy for web app) Service Gateway Backend Server FrontEnd Server Other Services After: service gateway to solve cross-domain issue Cache for static resources (page, picture) Clearer boundary between UI and business logic page rest Backend Server FronEnd Server Before: The business logic(rest service) forwader must be add to front end server Solve the cross-domain issue cause coupling of business logic and UI pages

Thank You www.onap.org