XOS provides a framework to define a set of declarative models and use them to manage the collection of components that have been configured into an operational system. XOS is itself deployed as a set of micro-services, collectively forming a ControlPlane-as-a-Service that:
- Serves as a single unifying interface to a collection of backend services, avoiding the management silos that otherwise result from disaggregation. This includes a framework for creating and operating on services across organizational boundaries, across a range of implementations, and across multiple tenants.
- Implements end-to-end service chains across a service mesh, supporting visibility and control at the granularity of individual subscribers. This provides a fine-grain means to correlate diagnostic and monitoring information, allocate resources and isolate performance, and distribute/migrate functionality.
XOS is being used in three projects:
- CORD Controller → XOS is a central part of CORD, providing a coherent service control plane that runs on on top of a mix of legacy services running in VMs, micro-services running in containers, SDN control applications, and access technologies.
- Network Edge Mediator (NEM) → XOS is being used to provide a mediation layer for SEBA (Software-Enabled Broadband Access), simplifying the challenge of integrating an edge site with different operators’ global orchestrators and legacy OSSs.
- End-to-End Service Chains in a Multi-Cloud → XOS is being used to manage end-to-end service chains that span customer premises, edge sites, and commodity clouds.
A stable release of XOS is included in CORD 6.0. It includes a modeling language (xproto), a tool chain used to generate code that enforces the models on an operational system (xosgenx), a set of core model definitions for service meshes and service chains, and a set of helm-charts that define how to deploy an XOS-based control plane.
Work is underway to fully integrate XOS with Kubernetes in support of lifecycle management. Kubernetes is responsible for deploying, scaling, and managing micro-services, and XOS is responsible for constructing a distributed/heterogeneous service mesh and instantiating fine-grain service chains across the mesh on behalf of individual users.