2016-07-27

Over the past few months we have attended a string of industry tradeshow events, helping to teach the enterprise world about Docker. We were at HPE Discover, DockerCon, RedHat Summit and Cisco Live all within the past 6weeks! I had the pleasure of helping to represent Docker at each of these awesome events and got to speak with attendees about Docker for the enterprise.

At each event there was a healthy mix of attendees. Some folks worked in IT ops, while others worked in development. I also spoke with a lot of folks working as an IT admin within their company’s infrastructure team, and overtime I began to notice some trends when it came to the types of questions being asked. This got me thinking. Why not put together a list of the ten most common questions I received from IT administrators? I mean there’s probably tons of IT infrastructure folks out there who have the very same questions, right? Maybe you’re one of them.

So here it is. The list IT admins have being waiting for. The ten most common questions (and their answers) from IT Admins (in no particular order):

So what exactly is Docker? Something about “container applications” right?

Docker is an open platform that both IT operations teams and Developer team use to build, ship and run their applications, giving them the agility, portability and control that each team requires. We have created a standard Docker container that packages up an application, with everything that the applications requires to run. This standardization allows teams to containerize applications and run them in any environment, on any infrastructure and to be written in any language.

What is a Docker container and how is it different than a VM?  Does containerization replace my virtualization infrastructure?

Containerization is very different from virtualization. Containerization leverages the kernel within the host operating system to run multiple root file systems. We call these root file systems “containers.” Each container shares the kernel, allowing you to run multiple Docker containers on the same host. Unlike VMs, containers do not have an OS within it. It simply shares the underlying kernel with the other containers. Each container running on a host is completely isolated so applications running on the same host are unaware of each other (you can use Docker Networking to create a multi-host overlay network that enables containers running on hosts to speak to one another).

The image below shows containerization on the left and virtualization on the right. Notice how containerization (left), unlike virtualization (right) does not require a hypervisor or multiple OSs.



What’s the benefit of “Dockerizing?” I already have VMs…

It comes down to what we call “infrastructure optimization.” There are three key benefits to Dockerizing when compared to traditional virtualization. I call it “MOR.” Migrate, optimize and reduce costs. Docker enables your team to migrate workloads across multiple infrastructure typed. For example, since Docker containers are portable, your team can easily move their workloads that are running in AWS, and migrate them over to Azure without having to recode anything at all, and with no downtime.

Docker containers and traditional VMs are not mutually exclusive. By leveraging both containers and VMs together your team can containerize each service, and then run multiple Docker containers per vm. This enables your team to run more applications while maintaining your existing infrastructure footprint. It also allows you to reduce the amount of CPUs being used within the environment, as well as the number of servers and gain back valuable storage


Lastly, Docker containers help reduce IT infrastructure costs. Since containers do not require a hypervisor to run, your teamscan reduce the amount of hypervisor licensing costs. Optimizing your environment helps you spend less money maintaining your datacenter and reduces the amount of storage space

From an infrastructure standpoint, what do I need from Docker? Is Docker a piece of hardware running in my datacenter?

The Docker engine is the software that is installed on the host (bare metal server, VM or public cloud instance) and is the only “Docker infrastructure” you’ll need. The tool creates, runs and manages Docker containers. The engine itself is super lightweight, weighing in around 80 MBs. So actually, there is no hardware installation necessary at all.

What exactly do you mean by “Dockerized node”? Can this node be on-premises or in the cloud?

A Dockerized node is anything i.e a bare metal server, VM or public cloud instance that has the Docker Engine installed and running on it.

Docker can absolutely manage nodes that exist on-premises as well as in the cloud. Docker Datacenter is an on-premises solution that enterprises use to create, manage, deploy and scale their applications and comes with support from the Docker team. It can manage hosts that exist in your datacenter as well as in your virtual private cloud or public cloud provider (AWS, Azure, Digital Ocean, SoftLayer etc.).

Do Docker containers package up the entire OS and make it easier to deploy?

Docker containers do not package up the OS. They package up the applications with everything that the application needs to run. The engine is installed on top of the OS running on a host. Containers share this OS allowing a single host to run multiple containers.

What OS can the Docker Engine run on?

The Docker Engine runs on most Linux OSs including common distributions like: RHEL, CentOS, Ubuntu, OpenSUSE. We are also providing support for  Windows Server 2016 later this year.

How does Docker help manage my infrastructure? Do I containerize all my infrastructure or something?

Docker isn’t focused on managing your infrastructure. The platform, which is infrastructure agnostic, manages your applications and helps ensure that they can run smoothly, regardless of infrastructure type via solutions like Docker Datacenter. This gives your company the agility, portability and control you require. Your team is responsible for managing the actual infrastructure.

How many containers can run per host?

This really depends on your environment. The size of your applications as well as the amount of available resources i.e like CPU will all affect the number of containers that can be run in your environment. Containers unfortunately are not magical. They can’t create new CPU from scratch. They do however provide a more efficient way of utilizing your resources. The containers themselves are super lightweight (remember, shared OS) and only last as long as the process they are running. Immutable infrastructure if you will.

What do I have to do to begin the “Dockerization process”

The best way for your team to get started is for your developers to download Docker for Mac or Docker Windows. These are native installations of Docker on a Mac or Windows device. From their, developers will take their applications and create a Dockerfile. The Dockerfile is where all of the application configuration is specified. It is essentially the blueprint for the Docker Image. The image is a snapshot of your application and is what the Docker Engine looks at so it know what the container it is spinning up should look like.

If your developers aren’t using Docker quite yet. Feel free to point them to our website where they can learn more at www.docker.com

Bonus Question: We have several monolithic applications in our environment. But Docker only works for microservices right?

I added this in because this is one of the biggest misconceptions about Docker. Docker can absolutely be used for monolithic apps as well as microservices based apps. We find that most customers who are leveraging Docker containerize their legacy monolithic applications to benefit from the isolation that Docker containers provide, as well as portability. Remember Docker containers can package up any application (monolithic or distributed) and migrate workloads to any infrastructure. This portability is what enables our enterprise customers to embrace strategies like moving to the hybrid cloud.

In the case of microservices, customers typically containerize each service and use tools like Docker Compose to deploy these multi-container distributed applications into their production environment as a single running application.

So there it is. The list of the top ten questions that IT admins ask about Docker, plus a bonus question for good measure.

Now, I have a question for you. Has YOUR team started using Docker? If not, it’s time to try the new hotness.

If you are looking for more about Docker, here is a webinar recording from a few weeks ago called “Containers for The Virtualization Admin”

Additional Resources that may peak your interest:

Learn about Docker Datacenter

Read the Docker Datacenter Datasheet

See how Swisscom went from 400 vms to 20vms in production

How Rent-A-Center optimized their environment with Docker

Check out the 10 question IT Admins ask about @Docker #learndocker!
Click To Tweet

Show more