2.3 Management and Orchestration
2.3.3 Container Management and Orchestration Implementations
mentations
Unlike systems based on ETSI’s MANO architecture, container orchestration tools are not typically designed with NFV as the primary use case. Rather, they are intended to help Cloud operators manage their infrastructure and to help developers deploy and scale services more easily. Since these are also important features required in a Fog scenario, they warrant consideration in this context too. Furthermore, because they have existed for longer and have a broader purpose, these projects are generally more mature offering more features and greater stability.
Kubernetes [107] is a container orchestration tool originally designed by Google to automate operation, scale, and deployment of containers across a cluster of machines. As well as deploying services, Kubernetes has a major focus on maintaining the services that it deploys, with policies for automatic scaling and failover. In order for a master to control the workers a client must be installed on each worker node. These software components are compatible with both ARM and x86 architectures. As of 2019, a sub-project under Kubernetes
named KubeEdge has been announced [106] that specifically aims to address
the challenges of applying Kubernetes to edge networks.
Swarm [63] is a native clustering tool for Docker which now comes packaged
with the Docker engine. It uses the Docker remote API to manage and run containers on multiple hosts. It also uses an agent on each host which is man- aged by a single Swarm manager. Swarms orchestration consists of clustering; it makes a group of Docker hosts appear as a single machine. Services are run from the manager machine and are served to the Swarm workers.
Fleet [83] is a cluster management tool from CoreOS that acts as a founda-
tion layer for other higher layer container orchestration solutions. Fleet is built upon the Linux init system, specifically systemd, which is responsible for ini- tialising and managing services. Fleet extends this functionality across a cluster of machines. In order to use Fleet, agents (the CoreOS operating system) must be installed on all hosts.
MESOS [12] is a cluster management tool that provides a distributed sys-
tems kernel abstraction: it clusters a group of servers and makes them appear as one. MESOS is designed to work at large scale with examples including thou- sands of hosts. Similar to Fleet, MESOS offers management of the lower layers, but also supports the higher layer orchestration through Platform-as-a-Service
(PaaS) solutions such as Mesosphere Marathon. To use MESOS there must be a master node, and agents must be installed on the workers.
Rancher [162] is a container management platform from Rancher Labs that
offers orchestration through a framework called Cattle. It is a fork from Swarm and thus offers similar orchestration capabilities. As well as this, Rancher sup- ports MESOS, Swarm, and Kubernetes.
Mirantis [127] Recently Mirantis have created MCP Edge [126] which specif-
ically aims at deploying from the core to the edge of the network. This aims to offer production grade cloud control over the edge of the network, providing the usual benefits such as system monitoring and support for CI/CD.
Some of these tools offer more complete solutions to NFV and orchestration than others. When considering which is appropriate, it is important to note that when using a complete solution, extending or adapting the design can be challenge. On the other hand, when using general or half-stack solutions, there is greater flexibility for the design of a new system and architecture. As the relative youth of NFV, most of these solutions are missing features required for deployment. One of theses being VNF forwarding graphs. Some have this in concept but production ready standardised implementations do not exist.
The OpenStack consortium has a work in progress solution of this [149] so they
may be waiting for that to be finished. On top of this, these orchestrators are typically designed with the notion that the resource is going to be physically homogeneous and networked similarly and thus are not well suited for Fog based environments.
2.4
Summary
This chapter has detailed background and related work around scalable network monitoring, NFV, and computing towards the edge. Several pieces of work have been identified on their relevance towards to the aim of this thesis. With the objective to design and verify a scalable and responsive monitoring system in mind, the current technologies of SDN NFV and Orchestration currently lack the features to fully achieve this. As a result further research in edge orchestration, scalablity, and monitoring is required before this thesis can be realised. This said, best practices and failures of past research can help in directing this work.
The technologies and research gaps have been highlighted that are required to realise scalable and monitoring responsive monitoring for the Cloud-to-Fog continuum. It is clear that work is required on advancing NFV service over- lays, edge VNF orchestration, SDN monitoring methodology, and connections between these technologies. Specifically, background and related work have detailed:
• The potential benefits of SDN, NFV, and Fog Computing for network
monitoring and remediation
• The lack of SDN monitoring frameworks that focus on scalability and
adaptability whilst still retaining monitoring capability
• The lack of standardised and usable solutions for traffic routing between
virtualisation and network infrastructures
• The limited research on the potential for scalablity and function of a
framework that considers monitoring across the network
Finally, the findings from this chapter including existing tools, standards, and observed successful practicalities from related research are considered in
the design and implementation of both the Siren and Tennison frameworks described in this thesis.
Chapter 3
Designing Responsive and
Scalable Network Monitoring
This chapter describes a design for a responsive and scalable network moni- toring systems. Initially, Section 3.1 goes into detail on why a new design is required, highlighting gaps in current systems, as well as advantages of emerg- ing technologies. Based on the motivations discussed, Sections 3.2 and 3.3 go into detail on the design requirements as well as design considerations, covering topics of SDN scalability, monitoring, and orchestration methodology.
In summary, this chapter details the motivations, requirements, design con- siderations, and architecture for components of a novel SDN network monitoring
system: Tennison, as well as a Cloud-to-Fog orchestration system: Siren.