In this series of posts I will explore containers and their related technologies.
The problem that containers attempts to solve
- Allow organizations to respond quickly to new business requirements by speeding application delivery.
- Helps keep systems and data secure by isolating applications.
- Lowers development costs by enabling increasing developer agility
- Reduce maintenance time and cost, since an entire container can be replaced rather than patched and updated.
- Use existing infrastructure to adopt a new innovative development and hosting discipline.
- From a developer’s laptop to a test environment, to a QA environment and then into production.
- From a server in a datacenter to a virtual machine in a private or public cloud.
Containers are easy to deploy and portable across host systems because the complete application environment is included in the container.
- Containers are an application isolation capability on a host operating system.
- A container consists of an entire runtime environment: an application its dependencies, libraries , binaries, and configuration files, packaged. This bundled application and dependencies abstracts differences in Operating System distributions and infrastructure.
- All containers on a host must use the same kernel.
- Containers are easy to deploy and portable across host systems because the complete application environment is included in the container.
- Containers enable server consolidation by running multiple applications on a host, similar to virtualization.
- Virtualization virtualizes CPU, storage and networking to enable a guest operating system to run, and applications run on the guest. Essentially a virtual server.
- A container host provides a logically isolated runtime environment within the same Operating System of a physical or virtual server.
Containers can run on virtual machines.
|Shares same kernel||Each VM is its own operating system; runs on a hypervisor|
|Seconds to start||Minutes to boot up|
|Tens of megabytes in size||Gigabytes in size|
|Arguably less secure because root access on a Linux host has access to all containers.||Arguably more secure because VMs are isolated.|
|Available on Linux, Solaris and Windows Operating Systems and AWS, Azure and Google clouds/||VMware ESXi, KVM, HyperV are hypervisors that run VMs. VMs also run on public clouds: AWS, Azure and Google.|
In the next blog post, I will explore containers in Linux and other environments.