What the Service Platforms is?
The SONATA Service Platform is a modular and highly customizable solution able to manage the full lifecycle of Network Functions (VNF, CNF, PNF, and HNF), Network Services and Network Slices. It provides a MANO (Management and Orchestration) framework able to orchestrate the network resources in an efficient way.
NFV/SDN are key technologies for the evolution of current telecommunications networks towards the desired and so-called Software Networks. A MANO solution like the offered by SONATA Service Platform is a key element in this kind of networks.
Main Components Description
The SONATA Service Platform consists of a set of components running as microservices and interacting with each other.
The gatekeeper is the front-end component responsible for exposing the Service Platform's APIs to the outside, ensuring that only authenticated and authorized users can access the Service Platform. The Gatekeeper is also responsible for retrieving Descriptors from the Catalogue, enforcing licensing models (through the SLA Manager) and enriching requests with other data.
Management and Orchestration (MANO) Framework
The MANO Framework is one of the core components of the Service Platform. It manages the lifecycle of all active Network Service instances by orchestrating the available infrastructure (compute and networking). The MANO Framework translates all the requests to change the lifecycle of a Network Service into instructions for the Infrastructure Adapter. It exposes an internal API through a RabbitMQ message bus to receive those requests.
The Network Slice Manager must handle the deployment of the Network Slices, that contain multiple interconnected Network Services with specified SLAs. By adding one layer over the Network Services and creating Network Slices, this component allows the SONATA Service Platform to create and offer better and isolated services to the final user.
The Network Slice Manager is able to deploy the services composing a Network Slice in single or multi-VIMs scenarios; the later allows to distribute the services among the different VIMs depending on the resource availability and the requirements of each service. In addition, Network Service can be shared among different Network Slices, allowing the SONATA Service Platform to have a more efficient resource allocation.
The Infrastructure Abstraction
The Infrastructure Abstraction (IA) provides a uniform API towards the available infrastructures. This way, the management of different types of technologies (e.g. VMs, containers) becomes unified even though the original resource management APIs are significantly different. By using the IA, other components can be agnostic to the details of a particular technology (like Openstack, Kubernetes, etc.), as those details are embedded in IA plug-ins, leading to an easy utilization and flexible VIM/WIM extensibility. Currently, the IA supports 3 VIMs: OpenStack (heat), Kubernetes (k8s) and SONATA Emulator and 2 WIMs: Virtual Tenant Network (VTN) (OpenDayLight app) and Transport API (T-API).
The Catalogue stores different objects such as Packages, Virtual Network Functions (VNFs), Network Services (NSs), Network Slice Templates (NSTs), Service Level Agreements (SLAs) and Policies. Aiming at a multi-platform environment, it not only supports the storing and retrieval of SONATA packages, but also OSM and ONAP ones.
The Catalogue is aligned with the principle of persistent storage by extending the hosted VNF/NS Descriptors with valuable fields for successful data integration, accuracy in the format of the document, confirmed time of creation, etc. In this way, it enables the development of enhanced operations for Creating, Retrieving, Updating and Deleting descriptors inside it, while re-assures the correct data format of the stored documents. Going beyond a conventional data storage, the SONATA Catalogue provides intelligent functionalities in this 5G environment. Since the types of information vary, one of the requirements satisfied by the Catalogue is the full-text search capabilities in structure-agnostic documents. Since the schema of the diverse documents is variable, the Catalogue provides searching capabilities without the necessity of indexes. Thus, it provides seamless retrieval abilities in deep-hierarchical machine-readable document structures. Furthermore, besides the plain NoSQL document store for the diverse descriptors, Catalogue provides a scalable file system for hosting the artifact files, required for the instantiation life-cycle of the NSs.
The Repository is responsible for storing the runtime data (i.e. records) of the Network Services and Slices. It exposes a northbound REST API that allows the external requests to a backend database engine. The REST API is developed in Ruby 2.4.3 and distributed as microservice inside a container. The database engine used by the API is MongoDB. Moreover, the Repository API supports CRUD functions to handle the information of VNF, Network Service and Network Slice Instances Records. Additionally, the REST API validates each record that is being added to the database against the SONATA information model.
The Policy Manager is responsible for the activation and management of runtime policies over the deployed Network Services, aiming at injecting intelligence in the orchestration mechanisms. Focus is mainly given on elasticity policies (e.g. scenarios for scaling in and out VNFs) but further actions related to triggering of alerts and security aspects (e.g. consumption of an alert through an IDS and enforcement of a security incident handling action) are also supported. The Policy Manager is implemented based on Drools that is an open-source rules-based management system.
Policy Manager supports dynamic management of the policy rules, which means the capacity to adapt during runtime the enforced policy rule-set, without impacting the overall enforced policy efficiency. Such an adaptation may be required in cases that a non-efficient operation is identified (e.g. in cases of oscillating scaling in and out actions due to non-proper specification of the inertia period) or in cases of changes in the desired QoS level to be guaranteed for the NS (e.g. change the threshold for triggering a scaling action).
The SLA Manager supports the life-cycle management of Service Level Agreements, starting from the template formulation to the agreement violation, considering also the whole NS lifecycle. The implementation of the SLA Manager aims at governing the interaction between a distributed set of users and resources, benefiting both the service providers and customers. It is a plugin-based component that can be adapted and extended to work on different Service Platforms besides SONATA.
The Monitoring Manager is responsible for collecting and processing data from several sources, providing the ability to activate metrics and thresholds to capture generic or service-specific NS
and VNF behaviour. The Monitoring Manager provides interfaces in order to define rules based on metrics gathered from one or more VNFs deployed in one or more NFVIs and creates notifications in real-time. Monitoring data and alerts are also accessible through a RESTful API,
following standard format.
The Portal is a user-friendly Graphical User Interface (GUI) developed in Angular 7 which allows users to use the different functionalities of the SONATA integrated Platform depending on their role.
Focusing on the Service Platform´s features, it allows:
- The lifecycle management of Network Slices, NSs, VNFs, from on-boarding and instantiation to termination.
- Managing SLAs, Policies, and Licenses, allowing its CRUD and association to NSs.
- Performing VIMs, WIMs and Endpoints configurations.
- Consulting relevant information (records) related to Packages, NSs, VNFs, Requests, SLAs, Policies and Instances.
- Monitoring the key performance indicators (KPIs) of the SONATA environment by using a useful Dashboard, allowing operators, developers and final customers to see in a single page the big picture of the platform operations.
The ability to create multiple virtual networks on top of a common infrastructure is a key aspect in 5G environments. In this context, where different vertical use cases with heterogeneous requirements are foreseen, it is fundamental to be able to create different virtual networks providing the best-of-breed network for each of them.
Support of Cloud-native deployments
The irruption of the Cloud-native Network Functions (CNFs) in the telco landscape promises not only to reduce the deployment time but also the reliability of the services. A cloud-native network function implies the decomposition of the monolithic network function into small pieces, easier to handle and to provide rapid development and delivery for the telco vendors.
SONATA Service Platform is able to deploy the CNFs on a Kubernetes cluster (acting as a VIM). For the Service Platform, the Kubernetes installation is transparent, either on bare-metal or virtualized, either on a public cloud or private cloud.
Advanced Runtime Policy management
SONATA Service Platform supports the dynamic management of runtime policies, what allows to manage the lifecycle of a service in real time and according to predefined rules. This provides a high level of automation which is in-line with the emerging trends regarding to zero-touch management and network automation.
SONATA Service Platform includes the capacity to activate and de-activate a policy on demand as well as the capacity to update the set of declared policy rules in the policy descriptor and apply the new rule-set on the fly. Policies are related to service placement, scaling, updating or healing, among others.
Integrated into the Service Platform, the implemented SONATA policy solution is one of the first policies management and enforcement solutions within a NFVO.
SONATA Service Platform is able of delivering Network Services with different performance and quality. This is possible thanks to the support of Deployment Flavours, which enables the creation of VNFs/NSs with multiple flavours, which makes possible to describe multiple ways to deploy a VNF/NS and allocate more resources (computational or networking) according to the level of performance required.
Attaching Ingress and Egress Service Endpoints
The Service Platform also provides full support for the attachment of a NS to its service endpoints, if defined. While not relevant for all network services, this plays an important role in those that come with end-to-end QoS requirements. For such network services, it is not enough to guarantee the QoS just between the VNFs, but also between the source of the traffic (ingress) and the first VNF in the service chain, and between the last VNF and the destination of the traffic (egress).
Quality of Service
The ability to specify different QoS requirements on certain links, together with the definition of Deployment Flavours, allows the Service Platform users to define and deploy Services with tailored levels of QoS.
SLAs (Service Level Agreement) management is a fundamental feature to ensure that the level of QoS promised to the customer can be properly contracted and committed. It targets the profitable provisioning of QoS guarantees in 5G Service Platforms.
Licensing allows the enforcement of multiple business models associated to VNFs and NSs, making the Service Platform an industry grade tool. The Service Platform provides a service-based licensing model, which links a license to a specific customer and an instantiated NS by specifying also the number of allowed NS instances. The model provides three types of licenses:
- Trial, which supports limited time of trying the desired NS before license purchasing
- Public, which comes with no instantiation restrictions
- Private, which specifies as mandatory the purchase of a license before instantiating a NS.
In some scenarios, it is useful to migrate VNFs from one location to another. When users of a network service are mobile and moving around, it might make sense to relocate latency sensitive VNFs to a PoP that is closer to the users.
SONATA Service Platform supports VNF migration workflows. Such a workflow can be triggered on-demand, when a customer foresees the need for a migration event, or automatically, when an active policy requests it to overcome some rule that is being violated.
SONATA Service Platform supports on-demand scaling to ensure the performance of a Network Service when its load changes. When scaling requests are made, the Service Platform allows to specify how many additional instances should be deployed for a scale out event and how many should be removed when scaling in.
Dynamic Network Allocation
SONATA Service Platform is able to allocate networks dynamically based on what is described in the descriptors. The virtual link descriptors are combined with the result of the placement procedure to determine which networks are needed in which PoPs, how many we need and what capabilities they should have (external connectivity, DHCP, etc.). The MANO Framework then uses the Infrastructure Abstraction API to create these networks. Afterwards, when the VNFs are being deployed, the MANO Framework specifies to the Infrastructure Abstraction which VNF interface should be connected to which network, and whether a floating IP is required for any of its interfaces, or not. In order to connect VNFs that are on different PoPs, the MANO Framework uses the improved Infrastructure Abstraction API to configure paths in SDN-controlled networks. These requests are handled by the appropriate SDN controller (attached to the SP through wrappers) and can contain QoS requirements for the implemented paths. When network services are terminated, the MANO Framework uses the same APIs to request destruction of both inter-PoP paths and intra-PoP networks.
SONATA Service Platform is compliant with the use of an SDN WAN Infrastructure, being adopted by operators to enable programmability and flexibility into their network infrastructures. This is possible thanks an Infrastructure Adapter plugin compliant with ONF Transport API (T-API), a standard NBI for Transport SDN controllers. T-API is a control solution for transport networks and enables real-time orchestration of on-demand connectivity setup, control and monitoring across diverse multi-layer networks.
Support of Transport API (T-API) interface for implementing networking control mechanisms (i.e. T-API enables the dynamic allocation of transport resources using software-defined networking (SDN) technology), close the loop for a more controlled and comprehensive business models.
Orchestration on the Emulator
As one of the core SDK components, the Emulator allows Network Functions and Services developers to emulate both compute and networking resources in their local environment. This makes it both easy and flexible for them to deploy and test their services and VNFs on actual operator-like topologies, resulting in shorter development cycles and more stable components.
SONATA Service Platform is extended with a wrapper for this Emulator, which makes possible its orchestration on the emulated resources. The target of this effort is to make the Service Platform usable in a local setup, so that it associated workflows, such as Service and Function Specific Managers, can be tested locally as well.
To provide high availability, SONATA was born with two of the principles of the cloud-native environments: microservice architecture and container-based software. The way of the Service Platform is deployed, allows being placed over Kubernetes. The container orchestrator provides built-in load balancer that routes the traffic among containers.
SONATA Service Platform includes an advanced real-time monitoring system that acts as the main feedback loop in the SONATA DevOps approach. It includes self-monitoring facilities allowing critical operational information to be shared with the platform owner.
User-friendly WEB interface
SONATA Service Platform incorporates a WEB interface that enables its full management through an intuitive and simple graphical user interface (GUI)