The latest years, lot of work has been realised for the design and implementation of profiling approaches for cloud computing applications, focusing mainly on resource efficiency aspects and optimal infrastructure setup to serve the applications workload. Similar approaches are being adopted in the 5G world and especially in the NFV community, where specifications evolve with regards to standard mechanisms for realising analysis. Following this trend, within 5GTANGO, we have designed and implemented an Analytics Engine, supporting the execution of various analysis processes. The objective is to get analysis insights that lead to the design of efficient policies and introduce automation within orchestration mechanisms.

 

These insights cover many different aspects, including identification of resources consumption trends and capacity limits through Resource Efficiency Analysis, evaluation of the performance gain achieved upon scaling actions through Elasticity Efficiency Analysis, identification of thresholds for proactive decision making based on formulation, training and evaluation of Machine Learning Models, design of forecasting models upon Time Series Decomposition as well as identification of unforeseen correlations among VNF-specific and resources usage metrics based on Correlation Analysis. Automation can be introduced in orchestration mechanisms and DevOps processes based on the exploitation of the provided outcomes (e.g. elasticity actions triggered based on machine learning models). Autonomic functionalities based on the design and implementation of control loops that are considering the current state and the potential actions that can be realised per decision making entity for satisfying performance objectives can be designed, exploiting feedback provided by Reinforcement Learning mechanisms.

 

Some challenges faced and tackled -or partially tackled- regards the provision of smooth ways for integration of analysis processes, the provision of homogeneous access to the wealth of collected monitoring metrics, as well as the openness of the overall engine in terms of the programming language or (big) data analytics platform used for the analysis. The approach followed is based on the detaching of the design and development of an analysis process -as it can be provided by a data scientist- from the incorporation of this process in the 5GTANGO Analytics Engine. In this way, ease incorporation and execution of analysis processes is taking place. Open APIs are designed and implemented for registering an analysis process and getting access to the collected time series data, by the deployed monitoring engines. Such data is provided as input for the analysis phase, leading to the execution of analysis and production of the analysis results.

 

We considered crucial to make it easy to include extra data analysis services, based on analysis scripts provided by data scientists that may cover a diverse set of needs and objectives, as well as be developed in different programming languages (e.g. R, Python). To do so, we introduced the notion of a Proxy that can support, through open APIs, the registration and execution of analysis processes. In the current implementation, two kinds of proxies are supported. Namely, the OpenCPU framework for embedded scientific computing that acts as a middle layer interface to analysis scripts in R and the Flask microframework for analysis scripts in Python.

In more detail, in the 5GTANGO ecosystem, input data is provided in time series format by the V&V Monitoring Engine, based on the metadata information stored in the Test Results Repository. An API is specified that facilitates fetching of data from Prometheus instances, making the Analytics Engine interoperable with other tools, such as the 'tng-benchmark' tool in the SDK. Subsequently, given the selection of a test, the Analytics Engine requests to the Monitoring Engine to get the list of collected monitoring metrics, including resource usage, VNF-specific and NS-specific metrics. Based on the collected data, the end user is able to parameterize the analysis process to be realised. Following that, the Analytics Engine gets the relevant time series data, executes the analysis and provides the analysis results. The analysis results are also stored in the internal database of the Analytics Engine and are made available in the form of URLs. In this way, they can be easily consumed by any interested parties. Some indicative analysis results are depicted in the following Figures (results from a linear regression model, correlation analysis, time series decomposition, chord diagram).

 

The Analytics Engine regards a component that has been introduced in the latest SONATA release. The component has put the basis for the support of data analysis processes over data collected during a set of tests and the extraction of insights, mainly with regard to resource and elasticity efficiency. Further algorithms are going to be introduced in the near future, focusing on Artificial Intelligence (AI) / Machine Learning (ML) models and the potential for interconnection of analysis results with automated elasticity policies definition. One step further, the usage of the Analytics Engine from the Service Platform for supporting operational analytics. For example, given the existence of the huge amount of operational data, the introduction of machine learning techniques interacting with training and continuous evaluation datasets has the potential to lead to very accurate forecasting mechanisms and support a growing set of automated orchestration actions.

 

We use cookies to facilitate navigation and improve your experience across our website. By clicking "Accept", you will be storing these cookies.
More information Accept Decline