Containers have revolutionized the way many people view IT and the deployment of apps and services. But what exactly are containers?
Containers are self-contained apps and services that IT admins can easily deploy and update. In many instances and applications, containers make things easier and more reliable and secure.
This primer is a quick way to get up to speed on containers. We'll update this "living" guide periodically when news and methods pertaining to containers are released.
- What are containers? Containers are self-contained apps and services that encapsulate all dependencies in order to make them easily deployable and updatable.
- Why do containers matter? Containers make it much easier for administrators to roll out apps and services and to effectively maintain them.
- Who do containers affect? Containers affect IT pros, end users, and business owners.
- When are containers happening? The foundation of containers came about in the 1970s with UNIX chroot and have been evolving ever since.
- How do I start using containers? You can start by familiarizing yourself with virtual machines (VMs) and Docker.
SEE: Free ebook—Executive's guide to the software defined data center (TechRepublic)
What are containers?
In the simplest terms, containers are self-contained applications, packaged with their dependencies, that IT can easily deploy and update.
Similar to VMs, containers remove the hardware dependency from the equation. Containers are easily distributed via a virtual platform, and they're a way your company can save money, considering you now have the ability to roll out multiple applications and services that do not have their own hardware requirements.
Containers are also a great means for deploying and scaling websites. Imagine your basic website (served on a VM) allows you to easily add web-based applications and/or services to expand your offerings; these applications and/or services could be added without requiring their dependencies to be met by the hosting computer. With this in place, you no longer have to worry that installing a new application will interfere with either the host computer or the host VM, as the container is a self-contained application.
Sometimes people are confused about the differences between VMs and containers. Containers are not VMs, and Docker is not a container. The hierarchy looks something like this:
Hardware > host OS > VM > Docker > container
A container is served up by software (such as Docker), which exists on a VM (such as those run on VirtualBox, VMware or, on a much larger scale, AWS) that is run on a host OS (such as Ubuntu Linux) running on adequate hardware.
When you consider making containers part of your business plan, a local Docker installation isn't the only game in town. Other services to consider are:
- Azure Container Service
- AWS Docker Services
- Apache Tomcat Containers
- LXD Containers
- Containers: The pros and the cons of these VM alternatives (TechRepublic)
- Containers: replacements or alternatives to virtual machines? (TechRepublic)
- Containers and their role in the Software Defined Data Center (ZDNet)
- Containers: Your secure, no-upgrade future in the cloud (ZDNet)
- Why your traditional virtualization vendor can't help you with containers (TechRepublic)
- Aqua: DevOps is critical to container app security (ZDNet)
- DevOps: The smart person's guide (TechRepublic)
Why do containers matter?
The importance of containers starts at the server level. Imagine that everything you run on your server is done so efficiently that each running app and service doesn't compete for precious host resources or directly affect the running of the host machine. That is where the benefit of containers begins. Because of the isolated nature of containers, an administrator doesn't have to concern herself with each app or service interfering or affecting one another.
Certain members of the corporate food chain will be more interested in containers' cost effectiveness. Removing the cost of hardware from the equation, let's see how much creating an environment for running containers would cost. Remember, we have our host OS, our VM platform, and the software by which we will deploy the containers. Let's break it down with real-world solutions (understanding there are other options available for each).
- Host OS: Ubuntu Linux. Free.
- VM platform: VirtualBox. Free.
- Deployment software: Docker. Free
You could have a completed software stack, ready for the deployment of your containers, for free. If you opt to use VMware as your VM platform, there will be an associated cost. If you're looking at a much larger deployment, there could be the added cost of a hosting service, such as Azure or AWS. But for small- to mid-sized businesses, container technology can be had on the cheap.
- 4 ways enterprise container technology will work for everyone (ZDNet)
- Video: The 5 trends that form the future of cloud computing (TechRepublic)
- How Red Hat aims to make Kubernetes boring...and successful (TechRepublic)
- Microsoft Azure's Kubernetes support demonstrates growing importance of containers (TechRepublic)
- Why Kubernetes could be crowned king of container management (TechRepublic)
- 10 tips for securing microservice architecture (TechRepublic)
Who do containers affect?
Containers affect IT pros (in their ease of use), end users (in their remarkable scope of service and reliability), and business owners (because they can save precious IT budget).
More specifically, any business looking to grow its web presence by offering more and better services, or any company looking to empower its employees with Software as a Service, will be affected by containers. When companies have the ability to quickly roll out new applications or updates to existing applications, clients and end users also gain serious benefits.
- Netflix on containers: Five ways they'll boost our business, from lower costs to higher productivity (TechRepublic)
- 3 hybrid cloud alternatives to AWS CloudFormation (TechRepublic)
- Why Red Hat makes more money on Docker than Docker does (TechRepublic)
- Digital transformation, the Red Hat way (Tech Pro Research)
- Docker rocker: container technology usage doubles; serious money follows (ZDNet)
When are containers happening?
Containers have been in play for quite some time and will only continue to grow in scope, scale, and importance. If your company is not already using this incredibly flexible and extensible technology, you are behind the curve. According to Datadog, Docker adoption rose over 30% in just one year—that's significant and indicates the widespread popularity of containers.
- Cisco launches validated designs under Docker container partnership (ZDNet)
- Many enterprises not ready for 'microservices tsunami' (ZDNet)
- HPE to deliver its Docker Ready Server to speed container adoption in the enterprise (TechRepublic)
- Video: Understand the difference between vSphere Integrated Containers and VMware's Photon Platform (TechRepublic)
- Video: VMworld 2016's top takeaways for cloud computing and containers (TechRepublic)
- Why the container community is wrong to whine about Docker (TechRepublic)
- Containers rock the enterprise: 81% look to increase use of data center's hottest tech (TechRepublic)
How do I start using containers?
If you're interested in using containers, the first thing you must do is familiarize yourself with a tool such as Docker. In order to do that, you'll want to have a fundamental understanding of Linux and how to install and run VMs. Without understanding the foundational tools, you won't be able to make use of what will probably be one of the most important pieces of your company's technology puzzle moving forward.
Once you have those technologies under your belt, you will be able to easily get Docker up and running in order to start deploying your containers.
- Consider this operational challenge before implementing containers (TechRepublic)
- Video: 3 cloud considerations organizations should make before deploying containers in production (TechRepublic)
- How to install Docker on Fedora 25 (TechRepublic)
- How to install Docker on Ubuntu 16.04 (TechRepublic)
- How to automate VirtualBox snapshots with the VBoxManage command (TechRepublic)
- How to encrypt VirtualBox VMs (TechRepublic)
- How to install phpVirtualBox for cloud-based VirtualBox management (TechRepublic)
- How to install Virtualmin for a web-based VirtualBox dashboard (TechRepublic)
- How to add new drives to a VirtualBox virtual machine (TechRepublic)
- How to create multiple NAT Networks in VirtualBox (TechRepublic)
- How to use snapshots in VirtualBox (TechRepublic)
- How to run VirtualBox virtual machines from the command line (TechRepublic)
- How to improve VirtualBox guest performance in five steps (TechRepublic)
- How to share folders between guest and host in VirtualBox (TechRepublic)
Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website jackwallen.com.