Table of Contents
    Home / Definitions / Container
    Development 2 min read

    Containers are lightweight and portable packages of software often used by developers to bundle an application’s code for deployment across environments. 

    While virtual machines (VM) also simulate computing resources, containers are much smaller and do not simulate an entire physical computer like a VM. Containers typically hold a single application or part of an application (microservice) which adds to their flexibility across on-premises, public cloud, and private or hybrid infrastructures.

    What are containers?

    A consistent problem in software development is applications failing to work when transferred to a new environment. Containers solve this problem by providing a framework for application packaging and deployment that is immutable and compatible across environments.

    What is Containerization? 

    Containerization is the act of virtualizing an operating system (OS) within a physical machine. Through innovation in kernel technology, modern computers can establish internal barriers to create separate, isolated spaces known as containers. 

    Containers include an application and appropriate bins and libraries to produce a miniaturized package of software measured in megabytes (MB). Virtual machines, by comparison, measure in gigabytes (GB).

    A graphic image showing the differences in virtualization method between virtual machines and containers.
    Designed by Sam Ingalls. © Webopedia 2021.

    Benefits of Containers

    • Improved utilization of CPU, memory, and more from physical machines
    • Lightweight relative to VMs with better support for cloud-native applications
    • Portable and platform-independent to continually use without re-configuring
    • Scalable with quick deployment or rollbacks close to VMs
    • Supports modern business processes like DevOps, serverless, and microservices

    Uses for containers

    Application Modernization

    Facilitates app migration to the cloud and other environments.

    DevOps

    Enhances collaboration between development and operations engineers.

    Microservices

    Separates application services between containers for development.

    Hybrid and Multi-Cloud

    Capable of traversing hybrid infrastructures.

    Are you currently using containers or interested in securing a fleet of containers? Check out eSecurity Planet’s Top Container Security Solutions for 2021 to learn more.

    Containers vs. Virtual Machines (VM)

    Virtualization, though several decades old, has hit its stride in the new millennium. Virtual machines came first using a hypervisor, also known as a virtual machine manager. In front of the host operating system on the physical host computer, the hypervisor partitions the hard drive to create isolated VMs that contain a guest OS and a virtual copy of the hardware required to run. 

    By comparison, containers only virtualize the operating system and bins and libraries, but not the underlying hardware