Lifecycle Management for the Multi-Access Edge Cloud: Experience with CORD Larry Peterson.

Slides:



Advertisements
Similar presentations
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Advertisements

Chris Haven National Architect - Dynamics CRM US Public Sector Dynamics Dynamics CRM for Data-centric Business Applications.
Software-Defined Networks Jennifer Rexford Princeton University.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Zentera Guardia Fabric ™ Securely Connects Client-Server Apps between Microsoft Azure, Enterprise Datacenters & Other Public Clouds MICROSOFT AZURE ISV.
Introduction to Avaya’s SDN Architecture February 2015.
© Copyright IBM Corporation 2016 Diagram Template IBM Cloud Architecture Center Using the Diagram Template This template is for use in creating a visual.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Service Design & Onboarding
SDN-O LCM for Mercury Release Key Points and Overview
The Holmes Platform and Applications
Open Networking and SDN
+ Timon Sloane VP, Standards & Membership.
Rationalizing ONAP Architecture for R2 and Beyond Vimal Begwani – AT&T
Orchestration and Controller Alignment for ONAP Release 1
ONAP Multi-VIM/Cloud Long Term Architecture and Use Cases (Under Community Discussion across Use Case, Optimization Framework, OOM,
Accelerate your DevOps with OpenShift by Red Hat
DocFusion 365 Intelligent Template Designer and Document Generation Engine on Azure Enables Your Team to Increase Productivity MICROSOFT AZURE APP BUILDER.
Dockerize OpenEdge Srinivasa Rao Nalla.
Requirements for Building a Virtualized Central Office
ARC 5: Deployment Options Chris Donley
ONAP Integration Through Information and Data Modeling
MEF LSO Legato SDK 24 October 2017 Andy Mayer, Ph.D. Tara Cummings.
Cherwell Service Management is an IT Service Management Solution that Makes it Easier for Users to Capitalize on Power of Microsoft Azure MICROSOFT AZURE.
Multi-VIM/Cloud High Level Architecture
Infrastructure Provisioning Kenon Owens Sr
CORD Roadmap – Release Management –
Building Applications with Windows Azure and SQL Azure
CORD Build Event.
CORD: Putting the Pedal to the Metal Larry Peterson ONF
CORD – Technical Overview
GGF15 – Grids and Network Virtualization
Open Source Access Manager™ ONAP Proposal
CORD Roadmap – Release Management –
ONAP Amsterdam Architecture
OpenNebula Offers an Enterprise-Ready, Fully Open Management Solution for Private and Public Clouds – Try It Easily with an Azure Marketplace Sandbox MICROSOFT.
Casablanca Platform Enhancements to Support 5G Use Case (Network Deployment, Slicing, Network Optimization and Automation Framework) 5G Use Case Team.
Casablanca Platform Enhancements to Support 5G Use Case Architecture Review 5G Use Case Team June 26, 2018.
Isasku, Srini, Alex, Ramki, Seshu, Bin Hu, Munish, Gil, Victor
Securing Cloud-Native Applications Jason Schmitt CEO
Indigo Doyoung Lee Dept. of CSE, POSTECH
Continuous Automated Chatbot Testing
Documenting ONAP components (functional)
Be Better: Achieve Customer Service Excellence and Create a Lean RMA and Returns Process with Renewity RMA and the Power of Microsoft Azure MICROSOFT AZURE.
Data, Databases, and DBMSs
Auth0 Is Identity Made Simple for Developers, Built by Developers and Supported by the High Availability and Performance of Microsoft Azure MICROSOFT AZURE.
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
Data Security for Microsoft Azure
A 5G experimental environment focused on vertical applications
Casablanca Platform Enhancements to Support 5G Use Case (Network Deployment, Slicing, Network Optimization and Automation Framework) 5G Use Case Team.
Developing for the cloud with Visual Studio
Casablanca Platform Enhancements to Support 5G Use Case (Network Deployment, Slicing, Network Optimization and Automation Framework) 5G Use Case Team.
Dell Data Protection | Rapid Recovery: Simple, Quick, Configurable, and Affordable Cloud-Based Backup, Retention, and Archiving Powered by Microsoft Azure.
Casablanca Platform Enhancements to Support 5G Use Case (Network Deployment, Slicing, Network Optimization and Automation Framework) 5G Use Case Team.
Media365 Portal by Ctrl365 is Powered by Azure and Enables Easy and Seamless Dissemination of Video for Enhanced B2C and B2B Communication MICROSOFT AZURE.
Abiquo’s Hybrid Cloud Management Solution Helps Enterprises Maximise the Full Potential of the Microsoft Azure Platform MICROSOFT AZURE ISV PROFILE: ABIQUO.
Carlos J. Bernardos, Alain Mourad, Akbar Rahman
Next-generation cluster management architecture and software
Casablanca Platform Enhancements to Support 5G Use Case (Network Deployment, Slicing, Network Optimization and Automation Framework) 5G Use Case Team.
TEMPLATE NOTES Our datasheet and mini-case study templates are formatted specifically for consistency of branding at Microsoft. Please do not alter font.
Single Cell’s Progenitor Powered by Microsoft Azure Improves Organisational Efficiency with Strategic Procurement, Contract Management, and Analytics MICROSOFT.
Last.Backend is a Continuous Delivery Platform for Developers and Dev Teams, Allowing Them to Manage and Deploy Applications Easier and Faster MICROSOFT.
OpenStack Summit Berlin – November 14, 2018
Microsoft Virtual Academy
NFV and SD-WAN Multi vendor deployment
Productive + Hybrid + Intelligent + Trusted
ONAP Architecture Principle Review
Title: Robust ONAP Platform Controller for LCM in a Distributed Edge Environment (In Progress) Source: ONAP Architecture Task Force on Edge Automation.
Presentation transcript:

Lifecycle Management for the Multi-Access Edge Cloud: Experience with CORD Larry Peterson

Challenges Configurable and Extensible Platform Supports rapid deployment of new services It’s a Cloud, not a fixed-function solution Disaggregation implies fine-grain components Multiple Stakeholders with different requirements Developers: Tight development loops + Realistic emulation environments Integrators: Flexible way to build and certify composite services Operators: Lifecycle management + Configure/Control of production systems

Challenge CORD Use Cases (Trials) Extensible Platform Building Blocks VOLTHA xRAN Fabric vEPC …

Background CORD is a multi-access edge cloud Built using commodity servers and white-box switches/access devices (PON, RAN) Runs both scalable cloud services and disaggregated Telco services (BNG, EPC) Configured as Base Platform + One or more Service Profiles CORD adopts a model-based design philosophy System’s run-time behavior is defined by a set of models Decouple Service Control Plane (set of model) and Service Data Plane (set of images) CORD is an open source project Contributions managed through Gerrit Technical Steering Team curates releases

Data Center Data Center N W E WAN Routers Switching Fabric Compute Storage For illustration purposes; sizing is done independent of general design. 10GPON also an option (as is Mobile-CORD and Enterprise-CORD).

Multi-Access Edge I/O I/O PON RAN Core For illustration purposes; sizing is done independent of general design. 10GPON also an option (as is Mobile-CORD and Enterprise-CORD).

Architecture – Functional View CORD Controller vOLT Controller vSG vRouter R-CORD vCDN OpenStack ONOS Controller Service Graph for Residential CORD

Architecture – Component View CORD Controller Service Control Plane – Provision Services – Enforce Policy – Assemble & Control Data Paths Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App VNF ONOS Kubernetes (OpenStack) Service Data Plane – Server-based (VMs, Containers) – Switch-based (SDN Control Apps) – Highly disaggregated – White-Box (OCP) Hardware OCP Hardware

Architecture – Operational View GUI REST API TOSCA VIM Event Bus XOS Core DB Sync Sync Sync Sync ONOS Open Stack Backend Control Apps, VMs, and Containers Runs as a Set of Micro-Services (Managed by Kubernetes – not shown)

Automated Configuration Workflow TOSCA Workflows – Provision & Configure Services – Runtime Operation CORD Controller Protobuf-based Models – Schema that Model Services – Core set Loaded at Boot Time – Dynamically Updated at Runtime Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App VNF ONOS Kubernetes (OpenStack) Helm Charts – Containers that Implement Services – Core set Loaded at Boot Time – Dynamically Updated at Runtime OCP Hardware Kubernetes (optionally MAAS)

(Development/Production) Multi-Stage Pipeline On-Board Configure Build CORD Controller OCP Hardware Operational System (Development/Production)

Multi-Stage Pipeline On-Board Configure Build Service On-Board Configure Build CORD Controller OCP Hardware Gerrit On-Board – Make individual components available for inclusion in CORD. Service – 〈Xproto-Model, Helm-Chart, TOSCA-Workflow, VNF-Image〉 e.g., volt, vsg, vrouter,… Result – Commit source code to Gerrit

Profile = Composite Service Multi-Stage Pipeline Service Profile On-Board Configure Build CORD Controller OCP Hardware Gerrit Configure – Specify how a set of components are assembled into a solution. Profile – 〈Xproto-Model, Helm-Chart, TOSCA-Workflow〉 e.g., base-cord, rcord, mcord, ecord,… Result – Commit source code to Gerrit Insight: Profile = Composite Service

Multi-Stage Pipeline On-Board Configure Build Service Profile Target On-Board Configure Build CORD Controller OCP Hardware Gerrit DockerHub Build – Produce the set of Docker images that control the target POD. Target – 〈Profile, Scenario〉 e.g., local, single, mock, cord, ciab,… Result – Set of container images to DockerHub + Fully Qualified Helm-Charts

Multi-Stage Pipeline On-Board Configure Build Service Profile Target On-Board Configure Build CORD Controller OCP Hardware D Gerrit DockerHub Deploy – Manage lifecycle of containers on the target POD. Input – Helm-Charts (from Build Stage) Result – Operational POD (ready to be provisioned)

Multi-Stage Pipeline On-Board Configure Build Operate (Test) Workflow Provision Service Profile Target Configure On-Board Configure Build CORD Controller OCP Hardware D Operate (Test) Gerrit DockerHub Operate (Test) – Run regression/integration tests against commits/builds. Workflow – Parameterized TOSCA Result – Provisioned POD (ready to carry carry traffic)

Multi-Stage Pipeline Development Time Build Time Run-Time On-Board Service Profile Target Workflow On-Board Configure Build CORD Controller OCP Hardware D Operate (Test) Gerrit DockerHub Versioning Development Time Build Time Run-Time

Multi-Stage Pipeline Development Time Build Time Run-Time On-Board Service Profile Target Workflow On-Board Configure Build CORD Controller OCP Hardware D Jenkins (140 Tests) CP Workload Gerrit DockerHub DP Workload Smoke tests run on each commit. Integration tests run nightly on 22 physical PODS worldwide. Development Time Build Time Run-Time

(Self-Service Portal) Operational View Back Office Subscriber Database Cloud-based Automation Tools Operators Telemetry/Diagnostic Data Control (Self-Service Portal) Subscribers Data Plane Configure/Provision CORD Controller OCP Hardware (CORD Controller assembles per-subscriber service chains.)

Upgrade Service Helm-Charts On-Board Configure Build Operate (Test) CORD Controller OCP Hardware D Operate (Test) Gerrit DockerHub

Upgrade Service Helm-Charts specify versions and dependencies Semantics versioning at the granularity of services Each CORD Release corresponds to a tested combination of services Kubernetes manages incremental rollout/rollback Deploys new “VNF” image Deploys new Synchronizer image Synchronizer loads new models into XOS XOS manages upgrade of the service control plane Migrates database Generates backward compatible APIs

Approach to Lifecycle Management Kubernetes is responsible for Service Data Plane Support for implementing services (scale up/down, HA) Support for incremental upgrades (rollout/rollback) XOS is responsible for Service Control Plane Support for configuring and controlling services Support for incremental upgrades (transitioning state/interfaces)

XOS’s Role In Lifecycle Management Uniformity – Defines a system-wide layer of abstraction, making it possible to: Integrate into an existing operating environment as a single unified entity Extend the set of services without introducing OAM silos Reason about invariants and eliminate unstated assumptions that lead to errors Declarative – Represents services with models, making it possible to: Create composite services by composing multiple micro-services Create logical services that do not necessarily map onto micro-services Create federated or distributed services across multiple cloud instantiations Granularity – Tracks per-subscriber context, making it possible to: Control end-to-end service chains at the granularity of subscribers Correlate diagnostic/monitoring info at the granularity of subscribers Allocate resources and isolate performance on a per-subscriber (class) basis Migrate service chains in support of mobility

XOS Is… xproto – A declarative language for specifying models. Protocol Buffers: extended to support inheritance, relationships, and predicates xosgenx – An extensible toolchain to enforce models on operational system. Targets: APIs, Access Control, ORM, Synchronizer Framework,… core.xproto – A default (and malleable) set of core models. Models: Service, ServiceDependency, ServiceInstance, ServiceInstanceLink… Chart.yaml – A Helm Chart (plus set of container images) to deploy XOS. Micro-services: xos-core, xos-gui, xos-tosca, xos-db, xos-ws, redis,…

XOS Constructed from Micro-Services GUI REST API TOSCA VIM Views (UIs) CORD Controller (XOS) Event Bus XOS Core DB Data Model Synchronizers Backend Services and Resources

Example Model and Policy policy grant_policy < ctx.user.is_admin | exists Privilege:Privilege.object_type = obj.object_type & Privilege.object_id = obj.object_id & Privilege.accessor_type = "User" & Privilege.accessor_id = ctx.user.id & Privilege.permission = "role:admin" > message Privilege::grant_policy (XOSBase) { required int32 accessor_id = 1 [null = False]; required string accessor_type = 2 [null = False, max_length=1024]; required int32 controller_id = 3 [null = True]; required int32 object_id = 4 [null = False]; required string object_type = 5 [null = False, max_length=1024]; required string permission = 6 [null = False, default = "all", max_length=1024]; required string granted = 7 [content_type = "date", auto_now_add = True, max_length=1024]; required string expires = 8 [content_type = "date", null = True, max_length=1024]; }

XOS Generative Toolchain GUI REST API VIM TOSCA Generated Code – API Tests – Northbound Interfaces – Enforce Security Policy – Object Relation Mapper – Synchronizer Framework Event Bus XOS Core DB Sync Sync Sync Sync

Core Models Service Slice (Resources) (Control) Service Slice Controller Service Slice Instance (Resources) (Control) Controller Service Slice Instance (Resources) (Control) ONOS vRouter

Core Models Service Graph R-CORD vOLT vSG vRouter Controller R-CORD Controller Controller Controller vOLT vSG vRouter Service Instance Service Instance Service Instance Subscriber CORD Service Chain = At the granularity of subscribers (or subscriber classes)

Core Models EPC-as-a-Service eNB Composite Services Network Slicing Controller SPGW Control vMME vSPGW-c vSPGW-u Controller vHSS eNB Composite Services Network Slicing

XOS: Another Perspective Use Cases (Trials) Abstraction Layer XOS Building Blocks VOLTHA xRAN Fabric vEPC …