CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers...

41
CORD: Multi-Access Edge Cloud – Building an Extensible Edge Platform – Larry Peterson

Transcript of CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers...

Page 1: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

CORD:Multi-AccessEdgeCloud– BuildinganExtensibleEdgePlatform–

LarryPeterson

Page 2: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

CORDisamulti-accessedgecloud• Builtusingcommodity serversandwhite-boxswitches/accessdevices(PON,RAN)• RunsbothscalablecloudservicesanddisaggregatedTelcoservices(BNG,EPC)

• Configured asBasePlatform+ OneormoreServiceProfiles

XOSisaframeworkforconfiguringandoperatingacloudplatform• Decouples ServiceControlPlaneandServiceDataPlane• Generatesthecontrolplanefromasetofdeclarativemodels

CORDandXOSareopensourceprojectsoftheONF• Workingwithnetworkoperatorstotakethesetechnologies toproduction

Background

Page 3: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

PublicClouds

Users

EdgeCloud

CORD– ReinventingtheNetworkEdge

TelcoCloud

WhiteBoxPeripherals

Page 4: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

DataCenter

WANRouters

SwitchingFabric

ComputeStorage

DataCenter

Page 5: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

I/O I/O

Multi-AccessEdge

PON

RAN

Core

Page 6: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

CORDSoftwareStackReferenceDesign– Multi-AccessEdgeCloud

CloudOrchestrator

Ceilometer vSG vCDN

Servers/Accelerators

VNF2 VNF3VNF1

GlobalAutomation

SDNController

Leaf-SpineFabric

vSGOverlay vSGFabric vSGVNF4 vSGVNF5

TelcoCloud vSG

RAN ControllerPONController

OLT BBU

AccessPeripherals

vSGSD-PON vSGSD-RAN

LocalServiceControl

Page 7: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

CORDSoftwareStack

Openstack/Kubernetes

Ceilometer vSG vCDN

OCPServers

ONOS

OCPSwitches(+P4Runtime)

ONOS

OCPOLT BBU

AccessPeripherals

ExemplarPlatform– CORD

vEPC …vSG

vSGVTN vSGFabric vSGvRouter vSG…

vSGvOLT vSGvRAN

TelcoCloud

GlobalAutomation

XOS

vSG

ONOS

VOLTHA

Page 8: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

Disaggregation–Micro-Services&SDNAppliedtotheCentralOffice–

8

Page 9: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

9

LegacyCentralOffice

Residence Central Office

CPE ONU OLT ETHAGG BNG

BackboneNetwork

CPE– CustomerPremisesEquipmentOLT– OpticalLineTerminationBNG– BroadbandNetworkGateway

Page 10: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

10

Disaggregation

CPE– CustomerPremisesEquipmentOLT– OpticalLineTerminationBNG– BroadbandNetworkGateway

Residence Central Office

CPE ONU OLT ETHAGG BNG

BackboneNetwork

vSG

vOLT

vRouter

Page 11: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

11

Disaggregation

CPE– CustomerPremisesEquipmentOLT– OpticalLineTerminationBNG– BroadbandNetworkGateway

Residence Central Office

CPE ONU OLTBackboneNetwork

vSG

vOLT

vRouter

SwitchingFabric

BNGETHAGG

Page 12: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

12

CORD Controller

vOLT

Controller

vSG

Controller

vRouterR-CORD

Controller

Controller

vCDN

Controller

OpenStack ONOS

Controller

ServiceGraphforResidentialCORD

Controller

FunctionalSpecification

Page 13: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

CORD– AnExtensiblePlatform– ConfiguringandControllinganIntegratedSystem–

13

Page 14: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

CORD

UseCases(Trials)

ExtensiblePlatform

BuildingBlocks

Challenge

VOLTHA xRAN Fabric vEPC vRouter …

Page 15: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

LifecycleManagement

XOS

CtrlAppCtrlAppCtrlAppCtrlAppCtrlAppCtrlApp

CtrlAppCtrlAppCtrlAppCtrlAppCtrlAppVNF

OCPHardware

ONOS Kubernetes(OpenStack)

AutomatedConfigurationWorkflow

Protobuf (xproto)Models

TOSCAWorkflows– Provision &Configure Services– RuntimeOperation

– SchemathatModelServices– CoresetLoadedatBootTime– DynamicallyUpdatedatRuntime

HelmCharts– Containers thatImplementServices– CoresetLoadedatBootTime– DynamicallyUpdatedatRuntime

Kubernetes (OptionallyMaaS)

CORDPOD

Page 16: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

LifecycleManagementXOSisresponsibleforServiceControlPlane

• Support forconfiguringandcontrollingservices• Support forincrementalupgrades (transitioning state/interfaces)

Kubernetes isresponsibleforServiceDataPlane• Support forimplementing services(scaleup/down, HA)• Support forincrementalupgrades (rollout/rollback)

16

Page 17: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

OperationalView

XOS

OCPHardware

Operators

Telemetry/DiagnosticData

Configure/ProvisionControl

(Self-ServicePortal)

Subscribers

DataPlane

XOSprovidesVisibilityandControlatthegranularity ofper-subscriberservicechains.

Cloud-basedAutomation

Tools

…aPaaS forServiceChains– Provision– Isolate– Distribute– Migrate

Page 18: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

MobileCloud– ValueofServiceChains–

18

Page 19: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

What’sDifferentabout5G?Earliergenerationswereaboutimprovingbroadbandtechnology

5Gisfundamentallyaboutsupportingnewservices• Internet-of-Things• ImmersiveUIs• PublicSafety

Whatuniquecapabilitydoesthemobileaccessnetworkoffer?• Low-latencyproximitytoend-users• Intrinsicsupport formobility

Challengeof5GistoSimultaneouslySupport…• LowLatency– Moving functionality totheedge,closertodevices• Mobility– Accessingthatedgefunctionalitywhilecontinuing tobemobile

19

Page 20: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

ChallengeCentralChallengeof5GistoSimultaneouslySupport…

• LowLatency– Moving functionality totheedge,closertodevices.• Mobility– Accessingthatedgefunctionalitywhilecontinuing tobemobile.

OtherFactors…• Performancedictatesthatfunctionalitybeimplemented inthemostappropriatehardware(e.g.,GPUs,SwitchingFabric).

• Autonomy dictatesthatdifferent stakeholderswillberesponsible forcontrolling andmanagingdifferentcomponents.

• Monetizationdictatestheneedtoofferdifferentiatedservicestodifferentclassesofsubscribers/applications.

• Costsdictatesadistributedsolution, withsomefunctions running inthedatacentersandsomerunning inascalablenumberofedgesites.

• Dynamicitydictatestheneedforlocal(edge)controlwithtightcontrolloops.20

Page 21: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

MobileBroadband(2G– 4G)

21

Datacenter

Access-Edge

Page 22: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

MoveFunctionalitytotheEdge

22

Datacenter

Access-Edge

Page 23: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

MobileCloud(5G)

23

Datacenter

Access-Edge

Page 24: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

MobileCloud(5G)

24

Datacenter

Access-Edge

Page 25: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

RequirementsHeterogeneous– RangeoffunctionalelementimplementationsMulti-Tenant– MultiplestakeholdersmanagingfunctionalelementsDistributed– FunctionalelementsspanmultiplecloudsIsolation– DifferentiatedresourceallocationbetweenservicechainsMobility– Moveservicechainsfromoneedgecloudtoanother

25

Page 26: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

XOSOverview– APaaS forServiceChains–

26

Page 27: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

CORDInnovationsVirtualizationandDisaggregation

• Pre-requisiteformovingfunctionalitytotheedge• Abilitytorunfunctionalityinbothswitchesandservers

ExplicitSupportforServiceChains• Afirstclassabstractionthatdefinesacontrolframework• Operationstoprovision,distribute,isolate,andmigrate

27

Page 28: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

WhatisXOS?

28

xproto – Adeclarativelanguageforspecifyingmodels• ProtocolBuffers:extendedtosupport inheritance,relationships, andpredicates

xosgenx– Anextensibletoolchain toenforcemodelsonanoperationalsystem• Targets:APIs,AccessControl,ORM,SynchronizerFramework,…

core.xproto – Adefault(andmalleable)setofcoremodels• Models:Service,ServiceDependency, ServiceInstance,ServiceInstanceLink,…

Chart.yaml – AHelmChart(plussetofcontainerimages)todeployXOS• Micro-services:xos-core,xos-gui,xos-tosca,xos-db,xos-ws,redis,…

Page 29: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

LocalServiceControl(XOS)

Backend ServicesandResources

GUI RESTAPI TOSCA …

XOSCore DBEvent

Bus

Views(UIs)

DataModel

Synchronizers

XOSConstructedfromMicro-Services

Page 30: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

policygrant_policy <ctx.user.is_admin|existsPrivilege: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];}

ExampleModelandPolicy

Page 31: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

GUI RESTAPI …TOSCA

XOSCore DBEvent

Bus

Sync Sync Sync Sync

GeneratedCode– APITests– Northbound Interfaces– EnforceSecurityPolicy– ObjectRelationMapper– SynchronizerFramework

XOSGenerativeToolchain

Page 32: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

CoreModels

Controller

Service

Slice

Instance

ServiceInstanceServiceInstanceServiceInstanceServiceInstance

Slice

InstanceInstance

Slice

ComputeInstanceCompute

InstanceComputeInstance

(Resources)

(Control)

Controller

Service

Slice

Instance

ServiceInstanceServiceInstanceServiceInstanceServiceInstance

Slice

InstanceInstance

Slice

(Resources)

(Control)

ONOS

Ctl App

Page 33: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

CoreModels

Controller

Service

ServiceInstanceServiceInstanceServiceInstanceServiceInstance

(Distributed, Layered,andCompositeServices)

(Control)

Page 34: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

ServiceControlandDataPlanes

34

FunctionalElements

ServiceGraph

ServiceControlPlane

ServiceDataPlane

Controller Controller

Controller

Controller Controller

A B

C

D E

LegacyVNFRunningin

aVM

HorizontallyScalable

Micro-Service

SDNControlApp

ContainerPer

Subscriber…

Page 35: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

ServiceGraphandServiceChains

35

ServiceChains

Controller Controller

Controller

Controller Controller

A B

C

D E

Subscriber 1Subscriber 2

Page 36: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

ControllerControllerController

ServiceGraph– ResidentialCase

ServiceInstanceServiceInstanceServiceInstanceServiceInstance

ServiceInstanceServiceInstanceServiceInstanceServiceInstance

ServiceGraph

vOLT vSG vRouter

Controller

ServiceInstanceServiceInstanceServiceInstanceServiceInstance

R-CORD

ServiceChain=Atthegranularityofsubscribers(orsubscriberclasses)

SubscriberSubscriber

SubscriberCORDSubscriber

Page 37: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

Controller

ServiceGraph– MobileCase

Controller

vHSS

eNBController

SPGWControl

Controller

vMME

Controller

vSPGW-c

Controller

vSPGW-u

CompositeServices

NetworkSlicing

EPC-as-a-Service

Page 38: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

Controller

ServiceGraph– MobileCase

Controller

vHSS

eNBController

vSPGW-u

Controller

vMME

Controller

vSPGW-cCompositeServices

NetworkSlicing

EPC-as-a-Service

Off-loadVNFs(tofabric)

Page 39: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

ConclusionCORDisaMulti-AccessEdgeCloud

• IncludesbothAccess-as-a-ServiceandSoftware-as-a-Service• UsesMerchantSiliconandFunctionDisaggregation

XOSisaFrameworkforConfiguringandOperatingaCloudPlatform• Supports ServicesasaUnifyingAbstraction(implementation agnostic)• DecouplesServiceControlPlaneandServiceDataPlane• UsesDeclarativeModelsandGenerativeToolchain toSpecify&EnforceBehavior

39

Page 40: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

ConclusionCORDintegratesAccess-as-a-Serviceintoamulti-tenantcloudplatform

• Disaggregatedfunctionality withamixofserver- andswitch-basedimplementations

XOSintegratesthedisaggregatedcomponentsintoacoherentwhole(PaaS)• Programmable frameworkwithvisibilityandcontrolatthegranularityof subscribers

40

Page 41: CORD: Multi-Access Edge Cloud...CORD is a multi-access edge cloud • Built using commodity servers and white-box switches/access devices (PON, RAN) • Runs both scalable cloud services

Conclusion

41

COMPUTEINFRASTRUCTURE

NETWORKINGFABRIC

ACCESSNODES

XOS

VMs Containers

OpenStack KubernetesONOS

VOLTHA

ONOS

VOLT

xRAN

ProgRA

N

IaaSAPIsNaaS APIs

vRouter

AaaS APIs

PaaSAPIs

IoTService AnalyticsService LowLatencyService ResidentialService MobileBBService

SaaSAPIs

RANOLT

MCast

Trellis

DHCP