Containers and Cluster for Edge Cloud Architectures - a Technology Review

Cloud edge computing

compare

VM

Comtainer

solution for more interoperable application packaging in the cloud

a lightweight virtualisation solution

more portable way aiming at more interoperability

hardware allocation and management

typically a PaaS (Platform-as-a-Service) focus

Infrastructure-as-a-Service focus

Containers as a replacement for VMs are only a specific use case where the allocation of hardware resources is done through containers

distributed clouds

from centralised to a more distributed multi-cloud

orchestration over clusters of containers

the edge of the network links into the internet of things (Io'T)

three architectural models

Multi-datacentre clouds with multiple but coupled data centers under control of the same provider

Loosely coupled multi-service clouds combine services from different cloud providers

Decentralized edge clouds utilize edge resources to provide data and compute resources in a highly dispersed manner.

compare

Docker

Linux container (LXC)

Namespace isolation allows groups of processes to be separated

cgroups (control groups) manage and limit resource access

limiting the memory available to a specific container

This restricts containers in multi-tenant host environments.

a container solution that builds on top of Linux LXC techniques.

A Docker image

Container

basic ideas

the capability to develop, test and deploy applications to a large number of servers

a lightweight portable runtime

the capability to interconnect containers.

components

components

a repository/registry

an application container engine to run images

features

basic

repositories play a key role in providing access to possibly reusable container image

container API supports life-cycle operations

distributing containers

running/starting images and running commands in images.

Container creation

done by assembling them from individual images

two specific functions for distributed edge clouds

network management

two ways data is managed in Docker

the network, virtualisation capacity

software-defined networks (SDN)

the need for scheduling processes as manageable container units.

provide compute, storage, network resources between end devices and traditional cloud computing data centres.

data transfer between virtualised resources

data volumes

data volume containers

enables sharing persistent data between application containers

designated directory within one or more containers that bypasses the union file system.

two methods for assigning ports on a host

network port mappings

container linking

Cluster

Architecture

Hosting containerised services

Auto-scalability and load balancing support

Transfer/migration of service deployments between clusters

Distributed and scalable service discovery and orchestration

clustering management platform

Mesos

Kubernetes

Apache project that binds distributed hardware resources into a single pool of resources

which is supported by Google

require advanced network support