The SONATA SDK environment: A sandbox for NFV-based services
Ongoing evolutions in the Network Function Virtualization (NFV) area show that software will play an increasingly important role within telecommunication services. Telco providers benefit from this, as it enables a faster introduction of new telecom services, combined with an agile set of features to optimize and fine-tune their performance. However, the provided NFV-based telecom service can only be well supported if adequate software tools are available. Therefore, the development, deployment and maintenance of such services puts specific requirements on the platform providing it.
The SONATA project aims to support the whole lifecycle of an NFV-based service, from development to production. In this context, the SONATA SDK environment targets the need for software tools to assist in development, debugging and validation of Virtual Network Functions (VNFs). In fact, we can consider the SDK environment as a sandbox, to develop and try-out NFV-based network services. In previous posts, we already discussed the importance of bridging the gap between development and operational side of the telecom service. This SDK effectively extends the use of the SONATA platform, as it helps to tightly integrate both development and operational aspects into one ecosystem. Either during development or during its lifetime, service updates can be verified in the SDK, thereby adding confidence that the network service will work as expected, before it is deployed or updated in production.
The SONATA SDK offers support for typical VNF-related actions such as: create and test several forwarding chains through VNFs, inject test traffic into an emulated network service, develop and test APIs to interact with any deployed VNFs and package the newly developed or modified services to be deployed on the SONATA platform. Bottom-up, we are actively developing several tools to support this:
• A service graph editor that allows a visual creation and modification of VNF chains.
• An NFV-based emulator that is capable of deploying container-based service chains. A light-weight environment, capable of generating a virtual multi-PoP test environment on a developer’s machine.
• Gathering an analysis of monitoring data to debug and characterize a network service. The SONATA monitoring system is using Prometheus to gather and store measured data and Grafana to visualize the metrics.
• Support for VNF performance profiling, to assist in capacity and resource planning for virtualized services. By defining automated test runs and KPIs to be monitored, the performance of the VNFs can be characterized under varying resource configurations.
• Creation of a network service package that describes the network service in terms of resources, VNF images, networking, forwarding chains and other aspects that allow a successful deployment on a virtualized infrastructure by the SONATA MANO platform.
• A pre-deployment validation of the generated network service package and forwarding graphs, to make sure that the SONATA service platform is able to accept and deploy the network service.
References:
– Manuel Peuster, Holger Karl, Steven Van Rossem. “MeDICINE: Rapid Prototyping of Production-Ready Network Services in Multi-PoP Environments”, IEEE SDN-NFV ‘16
– SONATA Deliverable D3.2, http://www.sonata-nfv.eu/content/d32-intermediate-release-sdk-prototype-…
– SONATA blog post: MANO Over Hybrid Virtualization Technologies, http://www.sonata-nfv.eu/content/mano-over-hybrid-virtualization-technol…
– SONATA blog post : SONATA Network Service Editor, http://www.sonata-nfv.eu/content/sonata-network-service-editor