D4.1. Orchestrator Prototype

5G poses a number of challenges to our society, both technical and non-technical, of which the SONATA NFV project intends to answer the extreme need for flexible programmability of 5G networks. By pushing for a Digital Society and the general spread of new and disruptive Digital Services, Communication Service Providers foresee significantly lower barriers for third party service provider entrants to the usage of their infrastructure which was once a protected realm in the name of quality of service, business support, etc.

In this emerging context, Communication Service Providers need Service Platforms that are radically different from the ones they currently own or use, highly flexible, extensible and enable authorized usage, modification or even extension to this flexible behavior in order to support new business models and technological trends.

This deliverable describes the prototype version of SONATA Service Platform consisting of a modular and customizable orchestrator.

The platform accepts (network) services and (virtual network) functions described in Yet Another Markup Language (YAML), which is a human-readable format that can be automatically validated by the use of a schema. We have adopted ETSI's way of describing these entities, but we are not at all locked to their current version. Different forms of describing these entities can be adopted in the future, just by changing their validators/interpreters.

We have addressed flexibility and extensibility by choosing three key technologies:
-A plugin-based architecture, supported by a message-oriented middleware: the platform will ship with a relevant set of such plugins, allowing an off-the-shelf usage, but it's behavior may be changed if different plugins are provided;
- A micro-services-based architecture, which extends the flexibility to parts of the system not needing a message broker (a plugin can be a micro-service, but not necessarily the other way around: micro-services must be kept very simple in terms of the service(s) they provide);
- An infrastructure abstraction which supports different implementations of the Virtual Infrastructure Manager (VIM).

To facilitate implementation of the platform, same agile techniques are used that are recommended for Developers developing and providing services to the platform- namely considering DevOps as our way to develop and push forward the code that is to reach production along the deployment pipe-line. The complete Service Platform implementation is not yet accomplished, but its main functionality is already available in this prototype version.