Simply incredible. We spent last week at VMworld speaking with thousands of enterprise security, infrastructure and virtualization pros. It was humbling to witness all of the curiosity and excitement around Docker at the show, and how Docker clearly made a strong impression on the attendees.
This curiosity around Docker and its use within enterprise environments is the reason why i’m writing this blog. We noticed that there were many of the same questions that arose, and we figured we should share them with you, as you start your journey towards adopting Docker containers and VMs.
Here are the most commonly asked questions from the conference.
- What is Docker? Or even a container? Is it a lightweight VM? Can I use it with vSphere? What value do they provide?
— Karen Lopez (@datachick) August 29, 2016
A Docker container is a standard unit in which application code, binaries and libraries can be packaged and isolated. The Docker Engine is the runtime installed on your infrastructure of choice and is what executes commands to build and deploy containers. Many containers can be connected together to form a single application or one container can include the entire codebase. Docker provides an abstraction layer between the application itself and the underlying compute infrastructure making the application completely portable to any other endpoint running Docker.
Docker containers are not VMs nor even lightweight VMs as their architecture is different.The image below displays the key differences between Docker containers and VMs . Docker containers share the OS kernel on the host where each VM has a full copy of an OS inside the VM.
This does not mean these two models are mutually exclusive. Docker containers run anywhere a Docker Engine is installed…and Docker Engine runs on bare metal, in VMs (vSphere, Hyper-V) and clouds (AWS, Google, Azure, and more). This also means that Docker containers are portable from any one of the above environments to the other without having to recode the application. Additionally many users add containers into an existing virtual infrastructure to increase the density of workloads possible per VM.
There are several reasons why Docker containers are being adopted within the enterprise:
- Security – Docker containers are completely isolated from one another, even when running on the same host and sharing the same OS. This makes them ideal for enterprise teams leveraging (for example) bare metal servers and are looking to comply with industry security regulations. And with the Docker Datacenter platform enterprise teams receive on-premises tools chock full of security features.
- Portability across infrastructure and app environments – Docker containers can run anywhere the Docker Engine is installed. This gives teams the ability to move their applications across different environment without having to tweak the code. For example, teams can easily move from vSphere to other environments like Azure and AWS cloud.
- Optimize Resources – Docker containers can be deployed within VMs, and in fact vSphere is a great place to run them. This allows teams to run multiple containers within VMs. This reduces the overall VM footprint and decreases maintenance costs associated with maintaining legacy apps. Given that there are now less VMs, companies can spend less on vSphere including reduced hypervisor licensing costs as well.
— Docker (@docker) August 21, 2016
- Speed – Docker containers help streamline the application lifecycle, helping developers build applications more quickly and IT ops teams react faster to changing business needs. Containers spin up on average in ⅜ of a second, compared to VMs which take several seconds or minutes. This sub second spin up time of Docker containers allow teams to onboard developers more quickly and deploy out to production more frequently.
- Does Docker support Windows Server?
— Keith Townsend (@CTOAdvisor) August 26, 2014
Today Docker Engine runs on all major Linux distros like: Ubuntu, CentOS, RHEL, OpenSUSE and more. Support for Windows Server is the most popular question as most companies have a mix of Windows and Linux based applications. I’m pleased to say that very soon, Docker Engine will run on Windows Server 2016. This means that the same Docker container technology and workflow can be applied to Linux and Windows Server workloads. For example, going forward, admins can have applications that have a back-end windows piece e.g. Microsoft SQL server and leverage a linux-based web front end, and have be part of the same app… running in vSphere VMs, baremetal or cloud (boom)!
Windows Server 2016 and Docker is available as a tech preview to try here.
- Docker sells commercial solutions built specifically with enterprise teams in mind
— Arjan Timmerman (@Arjantim) August 29, 2016
Our commercial management platform, Docker Datacenter, is what enterprise teams are leveraging across the entire application lifecycle. Developers use our solution to quickly create apps, update apps and deploy them and IT Ops uses the platform to secure their application environment, comply with industry regulations, and deploy applications out to production more frequently. In addition they are able to reduce the overall application-related costs to the business.
As mentioned, Docker Datacenter is our enterprise solution. Sold as a monthly or annual subscription, Docker Datacenter (DDC) delivers an on-premises Containers as a Service environment that IT ops teams use to manage and secure the environment and devs use to create applications in a self-service manner. The tool provides an image registry, orchestration/management plane and commercial support from the Docker Customer Success team. This support also includes validated configurations of operating systems and support for previous versions of the Docker engine.
Oh, and Docker Datacenter has got the GUIs
— Tim Smith (@tsmith_co) August 29, 2016
Many VMware customers are accustomed to managing VMs in their vCenter GUI. So, they were happy to know that yes, there are Docker tools to help manage images and containers, and they come complete with a GUI. Well, there’s a couple actually. And just like how VMware users use tools built by VMware, for VMware, we recommend Docker users use tools built by Docker, for Docker.
With Docker Datacenter, IT Operations teams have the ability to manage, orchestrate and scale their Dockerized apps across their environment. The tool is chock full of enterprise features including:
- Ability to deploy containers onto nodes directly from within the UCP GUI
- Manage nodes, images and applications
- Scale instances horizontally for times of peak application usage
- Role-based access controls to control who can access what
- Integration with LDAP/AD to quickly create teams and organizations
Here is a quick look at the Docker Datacenter management dashboard.
Docker Datacenter also provides the capability to store, manage, and secure your images.Key features include:
- Ability to sign images and ensure images are not tampered with
- Ability to manage images, repositories, tags
- Quickly update/patch apps and push new images to Docker Trusted Registry (DTR)
- Integration with Docker Universal Control Plane (UCP) for quick deployment
- How Docker Datacenter is priced, and what we mean when we say Docker “node”
The Docker Datacenter subscription is licensed by the number of Docker engines you require. A node is anything (VM, bare metal server or Cloud instance) with the Docker Engine installed on it. A good way to understand how many engines you require is to think about the number of existing VMs, or bare metal servers or cloud instances you want to begin Dockerizing. Datacenter is available on a monthly or annual subscription basis with the option of business day or business critical support to align to your application service levels. Check out our pricing page to learn more.
For any virtualization gurus looking to learn more about Docker and how Docker containers and VMs can be used together I highly recommend you give this ebook on “Docker for the Virtualization Admin” a read.
- Read the eBook: Docker for The Virtualization Admin
- Learn more about Docker Datacenter
- See a demo of Docker Datacenter
- Hear from Docker Datacenter Customers