Open-source Containerization or Operating-system-level virtualization tools for Linux operating systems



Open-source Containerization or Operating-system-level virtualization software tools for Linux operating system

This blog post will give you details of the free and Open-source Containerization or Operating-system-level virtualization software for Unix, Linux, Ubuntu operating systems.

apache-mesos-linux-container


I] Apache Mesos 


It is the product of the Apache software foundation.

It is an open-source project to manage computer clusters.

Mesos uses Linux control groups(cgroups) which perform isolation for CPU, memory, I/O, and file system.

apache-aurora-linux-container


Apache Aurora 


It is a service scheduler that runs on top of Apache Mesos.

It allows running long-running services, cron jobs, and ad-hoc jobs.

It takes advantage of Apache Mesos’ features such as -scalability, fault tolerance, and resource isolation.


Features:


  1. Containers
  2. Cron Jobs & Custom Executors
  3. Job Updates
  4. Multitenancy
  5. Resource Isolation & Scheduling Constraints
  6. Services & Service Discovery
  7. SLA Metrics & SLA Requirements
  8. Webhooks

Downloads Available for the following platforms:


Ubuntu

Debian

CentOS


container-linux-container-tool


II]Container Linux or CoreOS Linux


It is a discontinued open-source lightweight operating system based on the Linux kernel.

 It is used for providing infrastructure to clustered deployments.

The primary focus is supporting automation, ease of application deployment, security, reliability, and scalability. 

As an operating system, It provides only the minimal functionality required for deploying applications inside software containers.

Container Linux comes with built-in mechanisms for service discovery and configuration sharing operations.


Features:


  1. Operating-system-level virtualization
  2. Multiple isolated userspace instances
  3. Full-fledged virtual machines
  4. Distributing payload applications


docker-linux-container


III]Docker 


It is a set of platform as a service (PaaS) tools.

It Uses Operating system-level virtualization to deliver software in packages(Known as containers).

All the Containers are isolated from one another.

It uses the resource isolation features of the Linux kernel.

Containers can bundle their software, libraries, and configuration files.

Containers can communicate with each other through firm (well managed)channels.

All of the containers share the services of a single operating system kernel so that they use fewer resources than virtual machines.

Docker creates a high-level API for every lightweight container that runs a set of processes in isolation.


Docker software service components:


  1. Software
  2. Objects
  3. Registries

Docker tools:


  1. Docker Compose
  2. Docker swarm
  3. Docker Volume


kubernetes-linux-container


IV]Kubernetes


It is an open-source container orchestration system.

It is used for automating computer application deployment, scaling, and management activities.

Major tasks included are:

Automating deployment

Scaling container workload

Execute operations of container workloads

Designed by Google and maintained by the Cloud Native Computing Foundation. 

Kubernetes can work with a variety of container runtimes such as Docker, CRI-O, and Containerd.

Kubernetes were Interfaced with the Container Runtime Interface (CRI) or through containerd.


Features:


  1. Loosely coupled
  2. Extensible to meet different workloads
  3. Follows primary or replica architectures
  4. supporting high-availability clusters


The Key components in Kubernetes:


  1. Control Plane: It includes-etcd, API server, Scheduler, Controller manager.
  2. Nodes: Kubelet, Kube-proxy, Container runtime.
  3. Namespaces
  4. Daemonsets
  5. Workload objects
  6. Labels & selectors


opensaf-linux-container


V]OpenSAF


OpenSAF is known as commonly styled SAF, the Service Availability Framework.

It is an open-source service-orchestration system. 

It is used for automating computer application deployment, management, and scaling. 

It is coming with a consistent Service Availability Forum (SAF) and SCOPE Alliance standards.

It serves the most complete implementation of the SAF AIS specifications.

It provides a platform for automating deployment, scaling, and operations of application services across all the clusters of hosts.

It works across all of the well-known virtualization tools.

It runs services inside a cluster, integration with JVM, Vagrant, and Docker runtime environments.


Features:


  1. Manage Service Availability
  2. Extensible to meet different workloads
  3. Distributed in nature
  4. Follows primary/replica architecture


Important components of OpenSAF


  1. System Model
  2. Control Plane
  3. Information Model Manager
  4. Availability Management Framework
  5. Service Instances (SI)
  6. Node
  7. Service Unit
  8. Service Group
  9. Service Instance
  10. Volumes


singularity-linux-container


VI]Singularity


It is a free & Open source cross-platform computer tool(program) that performs operating-system-level virtualization or containerization.

It brings containers and reproducibility to perform scientific computing and high-performance computing.

Using these containers, developers can work in reproducible environments of their design.

These complete environments can easily be copied and executed on multiple platforms.


Features:


  1. Support natively high-performance interconnects
  2. Supports any PCIe-attached device within the compute-node
  3. Native support for Open MPI library
  4. Useful in areas such as Machine learning, Deep learning 
  5. Supports data-intensive workloads 


Resource managers Integration supported by Singularity


  1. HTCondor
  2. SLURM
  3. Oracle Grid Engine
  4. TORQUE
  5. PBS Pro


vserver-linux-container


VII] Linux-VServer


It is a virtual private server implementation developed and distributed as open-source software.

VServer is created by adding OS(operating system)-level virtualization capabilities into the Linux kernel.

VServers works in web hosting services, used for segregating customer accounts, pooling resources, and containing any potential security breaches.

Every virtual server file system is created as a tree of copy-on-write hard links.

It saves space on such installations.


Advantages:


  1. No emulation overhead
  2. No need to be backed by opaque disk images
  3. Processes on virtual servers are queued on the same scheduler
  4. No additional overhead for Network packets
  5. Supports advanced scheduling


lmctfy-linux-container


VII] Lmctfy


It is an implementation of an OS(operating system)–level virtualization.

It is based on the Linux kernel's cgroups functionality.

It provides similar functionality to other container-related tools like Docker and LXC. 

Initially, it is the release of Google container tools.

It is free and open-source software subject to the terms of the Apache License.

The Lmctfy concepts and abstractions merged into the Docker underlying library container.



lxc-linux-container


VIII] Linux Containers (LXC)


 It is an operating-system-level virtualization method using Linux kernel-provided cgroups functionality.

It is used for running multiple isolated Linux systems containers on a control host using a single Linux kernel.

The cgroups functionality allows limitation and prioritization on resources such as CPU, memory, block I/O, network, etc. 

The namespace isolation functionality allows complete isolation of an application view of the operating system environment.

It isolates modules like process trees, networking, user IDs, and file systems.

LXC is similar to OpenVZ and Linux-VServer, operating systems such as FreeBSD jails, AIX Workload Partitions, and Solaris Containers. 



openvz-linux-container


IX] OpenVZ


Open Virtuozzo is an operating-system-level virtualization technology for Linux systems. 

It is similar to Solaris Containers and LXC.

It allows a physical server to run multiple isolated operating system instances(containers), Virtual private servers (VPSs), or virtual environments (VEs).

OpenVZ uses a single Linux kernel, and It can run only a single instance of Linux.

All OpenVZ containers share the same architecture and kernel version.

The OpenVZ modified Linux kernel Containers provide checkpointing, virtualization, resource management, and isolation.




Comments