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