📜 ⬆️ ⬇️

Comparison: Docker swarm, Kubernetes, Rancher and D2C

From the moment we started leading the corp. a blog on Habré, on a demo, and when contacting us in support, they are often compared with orchestrators. And if earlier there were questions about the differences between D2C and Heroku, Clou66 and similar services, now, apparently, they began to consider us as an alternative solution for orchestration.


Well, I will try to correct the situation and make a comparison with several popular solutions that are heard more often: Docker swarm, Kubernetes and Rancher. And in order not to go "from the end," I will briefly give you a small overview of each of them.


Docker swarm


Docker swarm mode - Docker abstraction, erasing the boundaries between different machines. The same Docker engine, but working in a cluster. Several container workers are united into a service, which Swarm manages the service. Swarm Manager places the containers with the application on free hosts and accepts commands to manage the cluster. Swarm also works as a load balancer between several “workers”, evenly distributing requests coming from either side of the cluster.


image


Manager : a management node that sends tasks.
Worker : node performing tasks.
Docker CLI : the user interacts with Swarm through the Docker CLI, operating in addition to the usual, also additional commands like docker node and docker service.
Docker Hub : repository of ready-made images.


Pros : relative ease of operation and speed of development. If you have already worked with Docker containers, learning to use the Swarm mode will not be difficult.


Disadvantages : narrow functionality, not so cool in terms of fault tolerance as kubernetes, plus everything, if you have no experience with Docker containers, you will still have to enter the hardware.


Kubernetes


Kubernetes , as stated in the official documentation, is a system for automating the process of deploying, scaling, and managing containerized open source applications. I would complement this statement by saying that Kubernetes is more of a framework that helps build a resilient and scalable container management platform than a ready-to-use easy-to-use solution. Therefore, the threshold of entry into this technology is higher.


image


Pods : the containers in Kubernetes are grouped together in groups called Pods. Usually Pod includes from 1 to 5 containers.


Flat Networking Space : The Kubernetes network model is flat and allows Podam to interact with each other. The containers in each Podia share a common IP and interact with each other using the ports on the local host.


Services : an abstraction over pods that defines the access policy for them. Service automatically distributes the load between the flows.


Replication Controllers : control the number of "replicas" Pods inside the server and ensure the launch of "replicas" to maintain the node's performance, which improves fault tolerance.


Pros : Kubernetes is a free and powerful tool. Able to manage containers and combines infinite scalability and automation.


Cons : to study it is not very easy. A good thing in the hands of a competent OPS, but a developer without an admin will have difficulty with him.


Rancher


Rancher is a peculiar step to the convenience and ease of development thanks to a good web interface. Rancher will facilitate the management of complex environments. He can both manage the containers himself, and manage other planners. For example, if you need functions that are not in Rancher, you can run the same Kubernetes and Docker Swarm on top of it. They are put there literally in a couple of mouse clicks, which is much nicer than setting them manually.


image


Also, Rancher has an extensive catalog of applications that can be quickly put on top of your own infrastructure. However, you cannot call Rancher 100% ready-to-eat product. Own applications with it can be deployed only from Docker images. The source will not be enough, it will also require an environment to prepare. There will be some difficulty in scaling the database. In a couple of mouse clicks to change the configuration on the master-slave or multimaster will not work.


Pros : The undoubted advantage will be the availability of a catalog of services and applications that are ready for launch. Rancher also has an intuitive web interface and has the ability to quickly launch other orchestration solutions, such as Kubernetes and Docker Swarm, which makes it more flexible.


Cons : Nevertheless, the rancher is not the easiest platform and will have to understand it. To deploy your own application with it, you should at least be able to create Docker images, which is why there is a certain threshold for entering the technology.


D2C


D2C focuses on usability and the low threshold of entry into the world of scalable developer applications. The entire focus is on the source code of the application and the services needed to launch it.


image


Yes, under the hood, we also use Docker containers, and far from trivial orchestration in the form of Ansible as a "manager", but from the user this kitchen is hidden and served as a fairly clear interface, expressed in simple actions:


image


Pros : In D2C, the developer does not need to delve into the history of the engine under the development of scalable applications, you can even solve quite serious problems without OPS. D2C is also integrated with Letsencrypt, and test hosts can be assigned domains of the form * .d2c.io.


To start using D2C to solve the problem of creating containerized cluster systems, the developer only needs to understand the basics of configuring services and provide the system with application source code for deployment even in the cloud, even on its own servers.


Minuses : Free only trimmed version for 1 host, full version paid. For experienced administrators, the service may not be flexible enough, since the main focus is on simplicity for the developer.




That's all! Come test D2C to see how everything works and sign up for a demo , we’ll tell you all personally. If you have any questions, ask in the comments - I will try to answer.


')

Source: https://habr.com/ru/post/349138/


All Articles