pishahang: joint orchestration of network function chains ... › download › 2667 › 3358 ›...

3
Pishahang: Joint Orchestration of Network Function Chains and Distributed Cloud Applications Hadi Razzaghi Kouchaksaraei, Tobias Dierich, Holger Karl Computer Network Group Paderborn University, Paderborn, Germany {hadi.razzaghi, tdierich, holger.karl}@uni-paderborn.de Abstract—Developing cloud applications using a microservice architecture allows their functional blocks to be distributed and deployed on multiple Cloud infrastructures. This enables service providers to mix and match Cloud-based microservices and Virtual Network Functions (VNFs) that are provided by Network Function Virtualization (NFV). Provisioning complex services containing VNFs and Cloud-based microservices across NFV and cloud infrastructures can enhance service quality, reduce latency, and optimise cost. This can be provided by an orches- tration system that can handle cross-ecosystem dependencies. To this end, we implemented Pishahang that is a framework for jointly managing and orchestrating virtual network functions and Cloud-based microservices. During the demo, we deploy several complex services to demonstrate features provided by Pishahang to support management and orchestration of complex services. I. I NTRODUCTION Microservice-based Cloud applications are gaining mo- mentum as a recent study conducted by NGINX [1] states that microservices are either used or investigated by nearly 70% of organisations, with more than 30% currently using microservices in production. In microservice-based applica- tion, individual software components of an application are implemented as separate lightweight functional blocks, called microservices. This type of application can also smooth the road to the realisation of Distributed Cloud Computing (DCC) where microservices of a cloud application are deployed on geographically distributed micro data centres instead of on a single data centre. Similar to distributed cloud applica- tions, Network Function Virtualization (NFV) services, which cloudify hardware-based network services, consist of a set of distributed virtualised Network Functions (NFs) that are chained together to deliver a network service (e.g., Set-Top Box). The distributed structure of NFV services and distributed cloud applications enables to mix and match VNFs and microservices. Such combined services, which we call com- plex services, are beneficial for all actors (users, service and infrastructure providers) involved in both NFV and cloud ecosystems by optimizing cost, reducing total latency, and improving service performance [2]. An example complex service (Fig. 1) includes a load balancer that spreads the load among application back-end instances and a firewall that filters incoming requests to the application front-end. The mentioned above advantages of complex services can be achieved if their constituent VNFs and microservices can Firewall F-end Load Balancer B-end #1 B-end #2 B-end #3 DataBase Fig. 1. An example of complex services run on their specific ecosystems. For example, running a firewall in a cloud ecosystem would not be efficient as cloud computing ecosystems are not designed to meet the packet processing performance required by VNFs. On the other hand, cloud services (e.g., a DataBase) do not need to bother with packet processing performance, which makes deployment of microservices in NFV infrastructure inefficient. Therefore, complex services need to be deployed across specialized infrastructures. This can be eased by a centralised management and orchestration system that can handle cross-ecosystem management and orchestration tasks (e.g., service chaining, WAN connectivity). To this end, we implemented Pishahang to support management and orchestration of complex services. Pishahang extends state of the art Cloud and NFV tools and technologies to meet management and orchestration require- ments of complex services. II. RELATED WORK Multiple Cloud and NFV management systems and tech- nologies are used to manage Cloud and NFV services. How- ever, a management system capable of meeting requirements of complex services is missing. In the following, we mention some of these technologies and discuss their capabilities to manage complex services. OSM [3], an NFV MANO framework, supports separate infrastructure adaptors for OpenVIM, OpenStack, VMware vCloud, and AWS. The infrastructure adaptors use these platforms API to provision and manage services. It uses infrastructure-platform-independent descriptors to describe service requirements. However, OSM does not allow network operators to jointly manage and orchestrate microservices and VNFs due to the lack of support for Cloud-based microservices (no means to describe cloud services, and lack of support for container-based management systems).

Upload: others

Post on 09-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pishahang: Joint Orchestration of Network Function Chains ... › download › 2667 › 3358 › submitted.pdfcontaining VNFs and Cloud-based microservices across NFV and cloud infrastructures

Pishahang: Joint Orchestration of Network FunctionChains and Distributed Cloud Applications

Hadi Razzaghi Kouchaksaraei, Tobias Dierich, Holger KarlComputer Network Group

Paderborn University, Paderborn, Germany{hadi.razzaghi, tdierich, holger.karl}@uni-paderborn.de

Abstract—Developing cloud applications using a microservicearchitecture allows their functional blocks to be distributed anddeployed on multiple Cloud infrastructures. This enables serviceproviders to mix and match Cloud-based microservices andVirtual Network Functions (VNFs) that are provided by NetworkFunction Virtualization (NFV). Provisioning complex servicescontaining VNFs and Cloud-based microservices across NFVand cloud infrastructures can enhance service quality, reducelatency, and optimise cost. This can be provided by an orches-tration system that can handle cross-ecosystem dependencies. Tothis end, we implemented Pishahang that is a framework forjointly managing and orchestrating virtual network functions andCloud-based microservices. During the demo, we deploy severalcomplex services to demonstrate features provided by Pishahangto support management and orchestration of complex services.

I. INTRODUCTION

Microservice-based Cloud applications are gaining mo-mentum as a recent study conducted by NGINX [1] statesthat microservices are either used or investigated by nearly70% of organisations, with more than 30% currently usingmicroservices in production. In microservice-based applica-tion, individual software components of an application areimplemented as separate lightweight functional blocks, calledmicroservices. This type of application can also smooth theroad to the realisation of Distributed Cloud Computing (DCC)where microservices of a cloud application are deployed ongeographically distributed micro data centres instead of ona single data centre. Similar to distributed cloud applica-tions, Network Function Virtualization (NFV) services, whichcloudify hardware-based network services, consist of a setof distributed virtualised Network Functions (NFs) that arechained together to deliver a network service (e.g., Set-TopBox).

The distributed structure of NFV services and distributedcloud applications enables to mix and match VNFs andmicroservices. Such combined services, which we call com-plex services, are beneficial for all actors (users, service andinfrastructure providers) involved in both NFV and cloudecosystems by optimizing cost, reducing total latency, andimproving service performance [2]. An example complexservice (Fig. 1) includes a load balancer that spreads the loadamong application back-end instances and a firewall that filtersincoming requests to the application front-end.

The mentioned above advantages of complex services canbe achieved if their constituent VNFs and microservices can

Firewall F-end Load Balancer

B-end #1

B-end #2

B-end #3

DataBase

Fig. 1. An example of complex services

run on their specific ecosystems. For example, running afirewall in a cloud ecosystem would not be efficient as cloudcomputing ecosystems are not designed to meet the packetprocessing performance required by VNFs. On the other hand,cloud services (e.g., a DataBase) do not need to bother withpacket processing performance, which makes deployment ofmicroservices in NFV infrastructure inefficient. Therefore,complex services need to be deployed across specializedinfrastructures. This can be eased by a centralised managementand orchestration system that can handle cross-ecosystemmanagement and orchestration tasks (e.g., service chaining,WAN connectivity). To this end, we implemented Pishahangto support management and orchestration of complex services.Pishahang extends state of the art Cloud and NFV tools andtechnologies to meet management and orchestration require-ments of complex services.

II. RELATED WORK

Multiple Cloud and NFV management systems and tech-nologies are used to manage Cloud and NFV services. How-ever, a management system capable of meeting requirementsof complex services is missing. In the following, we mentionsome of these technologies and discuss their capabilities tomanage complex services.

OSM [3], an NFV MANO framework, supports separateinfrastructure adaptors for OpenVIM, OpenStack, VMwarevCloud, and AWS. The infrastructure adaptors use theseplatforms API to provision and manage services. It usesinfrastructure-platform-independent descriptors to describeservice requirements. However, OSM does not allow networkoperators to jointly manage and orchestrate microservices andVNFs due to the lack of support for Cloud-based microservices(no means to describe cloud services, and lack of support forcontainer-based management systems).

hadik3r
Typewritten Text
This work has been accepted for publication in 2018 IEEE conference on Network Softwarization (Netsoft 2018) Copyright © 2018 by IEEE ISBN 978-1-5386-4633-5
hadik3r
Typewritten Text
Pre-Print
Page 2: Pishahang: Joint Orchestration of Network Function Chains ... › download › 2667 › 3358 › submitted.pdfcontaining VNFs and Cloud-based microservices across NFV and cloud infrastructures

Cloudify [4], a native cloud management system, utilisesARIA [5] to orchestrate VNFs and provides a plugin thatallows operators to deploy Cloud services on an existingKubernetes cluster. It also supports orchestration of VNFs andmicroservices by allowing service developers to use multipleinfrastructure provider plugins per service definition (so-calledblueprints). However, it is not possible to chain VNFs andmicroservices. Moreover, Cloudify’s blueprints depend onthe specific infrastructure platform (AWS, Azure, etc.), thusforcing developers to re-write their service blueprints whenswitching infrastructure platforms.

Multi-cloud tools such as Terraform [6] and LibCloud [7]allow service providers to deploy services on multiple cloudinfrastructures (e.g., AWS, Google Cloud). These tools canhandle cross-cloud dependencies, however, they lack supportfor NFV requirements (e.g., service chaining).

III. PISHAHANG

Pishahang deploys, manages, and orchestrates complexservices by consolidating and extending current Cloud andNFV tools and technologies. As it is depicted in Fig. 2,the main tools used in Pishahang includes SONATA [8] (anetwork service development and orchestration framework),Terraform [6] (a multi-cloud tool), and cloud managementsystems (e.g., OpenStack, Kubernetes).

REDIS

SONATA Orchestrator

SONATA Infrastructure Adaptor

Management Systems

OVS Adaptor

Terraform

Management Systems

Cloud InfrastructureNFV Infrastructure

Fig. 2. Pishahang high-level architecture

In Pishahang framework, SONATA caries out the high-level orchestration tasks of complex services includingVNF/microservice chaining, monitoring, scaling and so on.We opted to use SONATA as an orchestrator as it allows per-service management and orchestration, which enables servicedevelopers to customize the lifecycle of services and alsoenhance the capability of the MANO framework to supportspecific service requirements that are not supported by pre-implemented and generic modules/components of the MANOframework. This is a valuable functionality for complex ser-vices that have management requirements other than conven-tional network/cloud services/applications.

To make SONATA compatible with our needs, we ex-tended some of its components. These components includeBusiness Support System (BSS), Graphical User Interface

(GUI), gatekeeper, lifecycle management, monitoring, andplacement. We also designed descriptors that describe complexservices on two levels. A high-level descriptor, (i.e., calledcomplex services descriptor) to describe general informa-tion and dependencies of complex services (e.g., constituentVNFs/microservices, service chaining) and low-level descrip-tors including VNF and microservice descriptors, which areused to describe specific requirements of microservices andVNFs (e.g., resource requirements).

Terraform and SONATA infrastructure adaptor are used toconnect the orchestrator to Cloud and NFV infrastructures.Terraform provides a high-level syntax for describing howcloud resources and services should be created, combined, andprovisioned on multiple cloud provider resources. It supportsa wide range of Cloud providers (e.g., AWS, Google Cloud)and eliminates the need for implementing specific adaptor foreach Cloud provider to deploy complex services. To makeTerraform serving SONATA orchestrator, we implemented amodule that translates orchestration instructions to configura-tion scripts to be injected into Terraform.

SONATA infrastructure adaptor is used along with Ter-raform as it can provide specific inter-infrastructure NFVmanagement requirements (e.g., VNF chaining ) that arenot supported by Terraform. An Open vSwitch (OVS) [9]adaptor is also implemented which joins Cloud and NFV in-frastructures and provide intra-infrastructure service chainingfor complex services. Combining Terraform with SONATAinfrastructure and OVS adaptors provides a unified NFV andcloud infrastructure that can be used by the orchestrator todeploy complex services.

IV. DEMONSTRATION

To showcase supporting complex services, we will deployone using Pishahang on a Kubernetes infrastructure and anOpenStack NFV infrastructure. The implemented complexservice and demonstration steps are explained in the followingsubsections.

A. Used Complex Service

The complex service that we have implemented for thedemo is based on a social network scenario. The serviceconsists of multiple microservices and VNFs. The main mi-croservice is a social network (similar to Facebook) which usesa MySQL database as its storage backend and a Redis serverfor caching (used to cache settings and database queries).These microservices are containerised and will be deployedusing Kubernetes. For the NFV side, a VNF cache is used tocache static files such as profile images. Furthermore, Snortis used to build an intrusion detection VNF. These VM-basedVNFs will be deployed using OpenStack. The components andchaining between them are visualized in Fig. 4.

B. Demonstration Steps

The followings are steps that will be taken during thedemonstration.

1) Specification and setup of the demo infrastructure.

Page 3: Pishahang: Joint Orchestration of Network Function Chains ... › download › 2667 › 3358 › submitted.pdfcontaining VNFs and Cloud-based microservices across NFV and cloud infrastructures

Fig. 3. Screenshots from SONATA, OpenStack, and Kubernetes dashboards showing the deployment of the complex service and monitoring data

NFV Infrastructure Cloud Infrastructure

SNORT CASH HUMHOB

MySQL

REDIS

Fig. 4. Implemented complex services

2) Creation and validation of demo complex service de-scriptors.

3) On-boarding the demo complex service.4) Deployment and management of the demo complex

service5) Live interaction with the running VNF/Microservices,

e.g., streaming content through the service and moni-toring performance metrics, like resource usage of therunning VNF/microservices.

Fig. 4 shows dashboards of SONATA, OpenStack, andKubernetes. These screenshots show the deployment of thecomplex service and service monitoring data. There is also aYouTube video available that shows the planned demo1. Ourimplementation source code is also available on GitHub2.

C. Requirements

The demo will be executed remotely on servers located atPaderborn University. It requires a power outlet for a laptop,proper Internet connection, and one or two large screens toshow the dashboards and monitoring data. A wall or stand tomount a poster will help to describe the demo to the audience.

1https://youtu.be/vd0vaP8jfNs2https://github.com/CN-UPB/Pishahang

V. CONCLUSION

Our demonstrated framework provides a joint orchestrationand lifecycle management for distributed services that are de-ployed across NFV and Cloud infrastructures. This is providedby consolidating and extending state of the art cloud andNFV tools and technologies, which offers advantages such asreusability improvement and reducing maintenance overhead.Pishahang’s implementation code is open-source and freelyavailable.

ACKNOWLEDGMENT

This work has been partially supported by the 5G-PICTURE project,funded by the European Commission under Grant number 762057 through theHorizon 2020 and 5G-PPP programs and the German Research Foundationin the Collaborative Research Centre On-The-Fly Computing (SFB 901).

REFERENCES

[1] “The Future of Application Development and Delivery Is Now,” URL:https://www.nginx.com/resources/library/app-dev-survey/ [retrieved: Jan-uary 2018].

[2] D. Petcu, “Multi-Cloud: Expectations and Current Approaches,” in Pro-ceedings of the international workshop on Multi-cloud applications andfederated clouds. ACM, 2013, pp. 1–6.

[3] OSM, “OSM RELEASE THREE A TECHNICAL OVERVIEW,” ETSI,Group Specification, Oct. 2017.

[4] “Cloudify,” URL: http://cloudify.co/ [retrieved: January 2018].[5] “Apache ARIA TOSCA Orchestration Engine,” URL: http://dpdk.org/

[retrieved: January 2018].[6] “Terraform,” URL: https://www.terraform.io/ [retrieved: January 2018].[7] “Apache Libcloud,” URL: https://libcloud.apache.org/ [retrieved: March

2018].[8] S. Draxler et al., “SONATA: Service Programming and Orchestration for

Virtualized Software Networks,” in IEEE International Conference onCommunications Workshops (ICC Workshops). IEEE, 2017, pp. 973–978.

[9] “Open vSwitch,” URL: https://www.openvswitch.org/ [retrieved: March2018].