Analyze Docker Swarm and Mesos: What is it? How to combine What are the advantages?
This article from Mesosphere, starting from the needs of the production environment, briefly describes the birth of Docker Swarm background, and its relationship with Mesos, Mesosphere DCOS, but also describes the Mesosphere management of large-scale container and its way And how Swarm is combined.
Docker Chief Technology Officer Solomon Hykes said that Mesos is the gold standard for running large-scale, scalable container clusters in a production environment at the DockerCon in Europe last December (2014) last December, and for each use of Apache Mesos and Mesosphere Datacenter Operating System (DCOS, Data center operating system) people should feel extremely honored.
- Docker releases the Arrangement Kit
- Docker swarm configuration service found when the consul can not connect to the specified port
- Shipyard-swarm-agent After running for some time, access the local etcd problem
- How to create a Swarm cluster using Docker Machine
- Can the Container in the Docker Swarm automatically failover?
- Docker Compose calls swarm error
This is also the sign of the container mature: now Docker has been completed, and even we are beginning to discuss large-scale container applications. In 2006, Google first introduced the container components cgroups and namespaces, it can be said that this is the beginning of modern Linux containers . However, Docker's real job is to simplify the creation of containers and make these containers the best way to standardize, configure, and deliver applications as developers and system administrators.
What is the significance of today's announcement of Docker Swarm?
Putting a container in a production environment sounds simple, but there are a lot of things to do.
Docker does make it easy for you to pack an application, but you also want the application to be simple in other ways, such as in operation and maintenance. You also want to throw the application easily into the cloud, such as Amazon, your own hardware environment, private cloud or public cloud, and it can run many times in accordance with the demand, never downtime, will not trouble you. If the application has a new version, Docker allows you to upgrade in an elegant way. This is what the developers are concerned with (they are concerned about pushing the code to the production environment, and then the application has been running, do not need to bring a BP machine, there will be no IT staff disturbed). These things seem simple but not easy to do.
Docker Swarm is a solution provided by Docker, which can seamlessly manage container clusters, so today's Swarm is really in order for business users to deploy and manage large-scale containers.
We think Docker Swarm released the coolest part should be "batteries included but swappable (pluggable architecture)". Simply put, this means that when you need to scale production, you can start using Docker Swarm and "swap in" Mesosphere. We think they have made a great community decision to encourage users to self-select and innovate in container cluster scheduling and coordination, rather than just one way.
Method of managing large – scale containers
Mesos and Mesosphere DCOS are specifically designed to manage large-scale containers. These high-performance systems have been in battle for many years in some of the world's largest data center production environments, such as Twitter, running almost entirely on Mesos.
Harmonizing and dispatching large-scale containers on hundreds of machines is quite different from running containers on a single machine or 100 machines. When you increase the proportion of 100 existing machines, the possible failure and performance bottlenecks will grow exponentially.
In the data center, the machine failure may occur at any time, the disk failure may occur at any time, the network may also appear at any time ……. management failure and the failure to show like Mesos and Mesosphere DCOS such a highly professional system. From Mesoshere's standpoint, you want to think of a cluster of computers as a black box and then throw your application into it (for example, using Docker Swarm) and run it. If something bad happens, you want the system You can fix it yourself.
Mesos and Mesosphere DCOS are specifically designed to manage containers in the data center and address the challenges that businesses face in running production-level applications. For example, Mesoshpere's technology is:
- High availability, critical work in the production environment often requires five or five more than 9 reliability, as well as a high degree of automation. To meet this requirement, Mesos has done for many years tackling.
- Faulty, when some bad things happen, a server, a rack, or a network failure, Mesos have the ability to automatically identify and deal with these failures.
- Self repair, when something is in Mesos or Mesosphere
DCOS cluster failure, such as when a rack is broken or some services hang up, these services can be automatically restarted, and each can be automatically re-connected, like starfish in the absence of human intervention Underneath, he grows another arm.
By integrating Docker Swarm and Mesophere, you can use Docker workflow to create and package your application, and then use Mesosphere DCOS and Mesos to coordinate and schedule containers, you can run your application, and they are scalable Highly available.
Multi – organization management of data center scale
In traditional systems, running multiple types of work in the same data center requires the maintenance team to customize the cluster for each job. So, for example, if you want to run Docker Swarm and Spark, you need to create a cluster for Docker Swarm and create a cluster for Spark. This creates a lot of silos in the data center. Each type of work requires separate cluster management and is not easy to share data and resources.
Mesos and Mesosphere DCOS are the only ones that have the ability to get Docker Swarm and other applications to run on the same cluster. Including large data applications such as Spark, Storm, Kafka and Hadoop. This also increases the use of resources while reducing consumption and complexity.
With Mesosphere DCOS, you can install Docker Swarm as a data center service with a simple command, and Docker Swarm runs on the same cluster as other data center services, such as large data services. A large number of data center services can also run at the same time, Mesos will be flexible to share resources with Dokcer Swarm.
How the Docker Swarm on Mesos works
Docker Swarm on Mesos directly uses the Mesos API, which means that it is fully compatible with Mesosphere DCOS, which also makes Docker Swarm the same as Marathon, Cronos, Spark, Storm, Hadoop and Cassandra as Mesos and Mesosphere ecosystems citizen.
The advantage of using the Mesos API to integrate Docker Swarm is to provide maximum flexibility in the use of the Mesos feature while maintaining full compatibility with Docker Swarm. Docker Swarm on Mesos can use the latest Docker Swarm features, while taking advantage of Mesos and Mesosphere DCOS features and scalable architectures.
Docker Containers at Scale (Our Take on Docker Swarm) (translation: Zuo Wei proofreading: Guo Lei)
Translator introduction Zuo Wei, working at IBM, software engineer, is engaged in DevOps related research, implementation and promotion.