Container Clustering & Management: Docker Swarm, Kubernetes & Apache Mesos and Marathon

Docker Swarm:

Swarm is the native Docker clustering solution, Swarm extends the existing Docker API to make a cluster of machines look like a single Docker API.

Key Components:

  • Managers: Distribute tasks across the cluster, with one manager orchestrating the worker nodes that make up the swarm.
  • Workers: Run Docker containers assigned to them by a manager.
  • Services: An interface to a particular set of Docker containers running across the swarm.
  • Tasks: Individual Docker containers running the image, plus commands, needed by a particular service.
  • Key-value store: etcd, Consul or Zookeeper storing the swarm’s state and providing service discoverability.

Calsoft Whitepaper: File Virtualization with the Direct NFS Protocol

This paper discusses a SANergy-like file system that works on UNIX clients against UNIX servers using NFS, and provides the performance of a SAN, and the manageability of NAS. This paper was published at the NASA/IEEE Symposium on Mass Storage Systems, Maryland.

When to use Docker Swarm:

Swarm has been viewed as suitable for experiments and smaller scale deployments; Docker Swarm gives you an easy way to move into container orchestration.

Kubernetes:

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. Kubernetes was built by Google.

Key Components:

  • Master: A single master handles API calls, assigns workloads and maintains configuration state.
  • Minions: The servers that run workloads and anything else that’s not on the master.
  • Pods: Units of compute power, made-up of one or a handful of containers deployed on the same host, that together perform a task; have a single IP address and flat networking within the pods.
  • Services: Front end and load balancer for pods, providing a floating IP for access to the pods that power the service, meaning that changes can happen at the pod-level while maintaining a stable interface.
  • Replication controllers: Responsible for maintaining ‘X’ replicas of the required pods.
  • Labels: key-value tags that the system use to identify pods, replication controllers and services.

When to use Kubernetes:

Kubernetes is well suited to medium to large clusters running complex applications

Apache Mesos and Marathon:

Mesos is a Multi-Framework orchestration solution for containers.

Mesos is less focused on running just containers. Mesos focuses on scheduling, and plugging in multiple different schedulers,  and  the result, the Hadoop and Marathon can co-exist in the same scheduling environment.

Key Components:

  • Masters: Zookeeper manages a minimum of three master nodes and enables high availability by relying on a quorum amongst those nodes.
  • Slaves: these nodes run the tasks passed down by the framework.
  • Framework: Mesos itself knows nothing about the workloads, whereas specialist frameworks decide what to do with the resources offered to them by Mesos.

On top of Mesos, Marathon then offers a highly available framework delivering:

  • Service discovery: through a dedicated DNS service, as well as other options.
  • Load balancing: through HAProxy.
  • Constraint management: to control where in the cluster certain workloads run, maintain a set level of resources for those workloads, enable rack awareness and other constraints.
  • Applications: the long running services you want to run on the cluster; may be Docker containers but can also be other types of workload.
  • REST API: deploy, alter and destroy workloads.

When to use Mesos and Marathon:

Mesos and Marathon are, perhaps, a good choice if you need to run non-containerized workloads alongside containers and you want the reassurance of something that is proven at very large scale.

Conclusion

The three main options right now vary considerably in implementation. Docker’s Swarm gives you the easiest route into orchestrating a cluster of Docker hosts. Kubernetes is container-centric but focuses less on the containers themselves and more on deploying and managing services. Mesos with Marathon promises huge scale but introduces additional complexity.

To know more email: marketing@calsoftinc.com

Yogesh Patil | Calsoft Inc.

Container Ecosystem Services

Calsoft has deep expertise in containerization of Storage and Networking products. With our in-depth understanding of various containerization technologies like Docker, Kubernetes, Apache Mesos and Coreos, we have helped ISVs to design and develop solutions in and around these technologies.

 

Save

 
Share:

Related Posts

Gen AI Trends 2025

Top Generative AI Trends Shaping 2025

Modernization of industries began with the Industrial Revolution in the early 19th Century with the use of machines, and it has continued with the digitization of devices…

Share:
IoT and its Applications in Driving Smart Manufacturing

IoT and its Applications in Driving Smart Manufacturing

The Internet of Things (IoT) is a key element of global industrial transformation, and the manufacturing sector leads in leveraging this technology. The millions of IoT devices,…

Share:
Product Lifecycle Management in Software Development using Large Language Models

Product Lifecycle Management in Software Development using Large Language Models

The data of any organization is of extreme value. But what happens when that data is not trustworthy and accessible to your teams? You will face challenges…

Share:
Kubernetes Introduction and Architecture Overview

Kubernetes: Introduction and Architecture Overview

Containers are taking over and have become one of the most promising methods for developing applications as they provide the end-to-end packages necessary to run your applications….

Share:
How to Perform Hardware and Firmware Testing of Storage Box

How to Perform Hardware and Firmware Testing of Storage Box

In this blog will discuss about how to do the Hardware and firmware testing, techniques used, then the scope of testing for both. To speed up your testing you can use tools mentioned end of this blog, all those tools are available on internet. Knowing about the Hardware/Firmware and how to test all these will help you for upgrade testing of a product which involve firmware

Share:
Cloud Application Development

Challenges of Cloud Application Development

Explore the challenges and solutions of cloud application development, including benefits, performance issues, and overcoming vendor lock-in for seamless cloud integration.

Share:

This Post Has 2 Comments

  1. This blog explains the details of most popular technological details. This helps to learn about what are all the different method is there. And the working methods all of that are explained here. Informative blog.

Comments are closed.