Through a customisable Service Platform with NFV Orchestrator, supporting Network Service SDK for developers and specialised DevOps workflow to connect it all, SONATA pushes the following innovation towards the transition to software networks.

The SONATA service programming and orchestration framework consists of the SONATA software development kit , the SONATA service platform , and different catalogues storing artifacts that can be produced, used, and managed by the SONATA system. Services developed and deployed by this system run on top of the underlying infrastructure accessible to the SONATA system via Virtual Infrastructure Managers. In the following, we briefly outline the software architecture of the SONATA system.

SONATA Service Development Kit

The SDK supports service developers by providing a service programming model and a development tool-chain. Its design allows developers to define and test complex services consisting of multiple network functions, with tools that facilitate custom implementations of individual network functions. The SDK is built up as a set of small independent tools which can be combined in one or multiple workflows to develop a SONATA service. his design enables agile development, involving quick and iterative cycles of development, with the possibility of rapidly transitioning between development and operations, which is one of the key characteristics of the SONATA approach.

The SONATA programming model focuses on the common concepts of service chains and service graphs comprised by individual network functions. Each of these components are defined by their corresponding descriptors following a particular data model. The used data models are built upon ongoing standards or outcomes of research projects, extending them when appropriate. A SONATA service is characterized by a network service descriptor (NSD), a set of virtual network function descriptors (VNFD), and a package descriptor for the overall service. Each of these descriptors define artifacts containing data and information such as images, files and/or configuration parameters or scripts. The descriptors follow a YAML or JSON schema language format. A set of validation tools have been made in order to check if given descriptors are compliant with the SONATA format. These can be used across the project in different modules and tools of both the SDK and the Service Platform.

SONATA Service Platform

SONATA's service platform that is able to manage complex network services throughout their entire lifecycle. To this end, the platform contains a highly flexible MANO framework that can be customized on a per-service and per-function level.