The world of information technology continues to expand. One technology that you may not have heard of is called Docker Swarm. Let’s have a closer look at the technology along with a use case for its deployment.
A Basic Vocabulary
Before we take a deeper at Docker Swarm and what it can do, let’s define our terms. These loose definitions should help us get to know our subject better.
Container: an element of a computing environment used to run applications
Docker: an open software tool used to distribute applications
Docker Swarm: a clustering and scheduling tool for Docker containers
Scheduling: a method for maximizing the resources of Docker Swarms
Constraint: a way to limit a container’s access to certain resources
Affinities: attractions between containers
Swarm manager: a type of node that controls cluster management tasks
A Word About Docker and Containers
Docker is both an open-source project dedicated to the automation of application deployment as well as a company that promotes this technology. It works on Linux or Windows. Docker has been driving the container movement for several years.
Katherine Noyes of linux.com calls Docker A ‘Shipping Container’ for Linux Nodes. She quotes industry analyst Jay Lyman on the topic: “Docker is a tool that can package an application and its dependencies in a virtual container that can run on any Linux server”. Noyes herself described Docker capabilities this way: “Developers can build their application once, in other words, and rest assured that it can run consistently anywhere. Operators, meanwhile, can configure their servers once and know that they can run any application.”
Docker is a versatile tool that is now recognized throughout the IT industry. It can be integrated into a wide variety of IT infrastructure tools and has been adopted by many cloud platforms. Docker was started in France in 2013 by Solomon Hykes for the company dotCloud.
Cisco Cloud and Docker Swarm
On March 2, 2017, Cisco announced a partnership with Docker. Cisco’s Liz Centoni said, “The powerful combination of Cisco’s leading UCS product line for Cloud infrastructure and Docker’s containerized technology will offer customers high levels of security, manageability and scale,” She’s talking about Cisco’s Unified Computing System, a versatile product line used in data centers.
Cisco continues to partner with innovative companies to add their own vast array of capabilities. A blog from Cisco’s Ken Spear is titled Cisco – Docker Alliance Will Address a Wide Range of Customer Requirements. Spear writes, “Together with Docker we are delivering unique and open solutions that help IT organizations rapidly and efficiently build, ship and run their containerized applications.”
Do you want to get into the nuts and bolts of it? This Cisco UCS design guide gives in-depth information about Cisco’s use of Docker Swarm. Here is Cisco’s description:
“A swarm is a collection of nodes that are in the same Docker cluster. Nodes in a Docker swarm operate in one of two modes: Manager or Worker. If nodes are not already running in a swarm when installing UCP, nodes will be configured to run in swarm mode. When Docker UCP gets deployed, the globally scheduled service called ucp-agent is executed. This service monitors the node where it’s running and starts and stops the UCP services, based on whether the node is a manager or a worker node.”
Use Case: BayInfotech and Cisco CloudCenter
In one case, a customer wanted to use a Cloud Management Platform (CMP) to provision both virtual machines (VMs) and containers. They wanted a solution that would provision a Docker Swarm cluster and use it to set up and manage containers. It should also be possible to deploy applications on either containers or VMs.
BayInfotech addressed this challenge by setting up two application profiles in Cisco Cloud Center. The first one used a Docker Swarm cluster that was cloud agnostic — the customer could use any cloud provider in their Cisco Cloud Center. The second profile followed a blueprint that allowed them to deploy and manage containers on Docker Swarm cluster that was deployed either within or outside of Cloud Center.
BayInfotech now offers the integration of Docker Swarm clusters with Cisco Cloud Center. Using a combined deployment of Docker Swarm clusters and customer container applications, this solution opens up a wide array of options for both developers and IT managers. And customers will be able to control all these resources through a single pane of glass.
To get further information on Docker Swarm and its capabilities, we recommend checking out the multi-part tutorial put out by Docker and taught by Docker Swarm engineer Alexandre Beslic. Docker Swarm technology is not that old. If you’ve been away from the professional IT world for five years, you would have missed it entirely. But with Cisco and BayInfotech, you’ll be well on your way to mastering it.