What is a Container?

A standardized unit of software


Roland Hewage

a year ago | 2 min read

A standardized unit of software

“A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. “

It Package Software into Standardized Units for Development, Shipment, and Deployment. The keywords of a container is,

  • develop
  • ship
  • run anywhere


Containers provide a standard way to package your application’s code, configurations, and dependencies into a single object. Containers share an operating system installed on the server and run as resource-isolated processes, ensuring quick, reliable, and consistent deployments, regardless of the environment.


1) Run anywhere

Containers package your code with the configuration files and dependencies it needs to consistently run in any environment.

2) Improve resource utilization

Containers provide process isolation that lets you granularly set CPU and memory utilization for better use of computing resources.

3) Scale quickly

Each container runs as a separate process that shares the resources of the underlying operating system. This enables containers to start and stop quickly.

How they work

Use cases

1) Microservices

Containers provide process isolation that makes it easy to break apart and run applications as independent components called microservices.

2) Batch processing

Package batch processing and ETL jobs into containers to start jobs quickly and scale them dynamically in response to demand.

3) Machine learning

Use containers to quickly scale machine learning models for training and inference and run them close to your data sources on any platform.

4) Hybrid applications

Containers let you standardize how code is deployed, making it easy to build workflows for applications that run between on-premises and cloud environments.

5) Application migration to the cloud

Containers make it easy to package entire applications and move them to the cloud without needing to make any code changes.

6) Platform as a service

Use containers to build platforms that remove the need for developers to manage infrastructure and standardize how your applications are deployed and managed.

Comparing Containers and Virtual Machines

Containers and virtual machines have similar resource isolation and allocation benefits, but function differently because containers virtualize the operating system instead of hardware. Containers are more portable and efficient.


containers virtualize the operating system

Containers are an abstraction at the app layer that packages code and dependencies together. Multiple containers can run on the same machine and share the OS kernel with other containers, each running as isolated processes in userspace.

Containers take up less space than VMs (container images are typically tens of MBs in size), can handle more applications, and require fewer VMs and Operating systems.


virtual machines virtualize hardware

Virtual machines (VMs) are an abstraction of physical hardware turning one server into many servers. The hypervisor allows multiple VMs to run on a single machine. Each VM includes a full copy of an operating system, the application, necessary binaries, and libraries — taking up tens of GBs. VMs can also be slow to boot.

Compare VMs and Containers

Containers and Virtual Machines Together

Containers and VMs used together to provide a great deal of flexibility in deploying and managing apps.


Created by

Roland Hewage

I'm a Data Science, Machine Learning, Deep Learning, Quantum Computing Enthusiastic.







Related Articles