A container is a piece of software used to virtually package and isolate applications to allow greater scalability, availability, and portability across diverse computing environments, including bare-metal systems, cloud instances, virtual machines (VMs), Linux, and select Windows and macOS operating systems.
Unlike a virtual machine, which includes both a runtime system and a guest operating machine for its application, a container includes only a runtime system, and instead relies on the operating system of the host. This reduces the memory, CPU, and storage required by the container, making it possible to support many more containers on the same infrastructure. While a virtual machine might be several gigabytes in size, a container can be as small as a few dozen megabytes.
The efficiency of containerization, also known as OS-level virtualization, makes it a popular method for ensuring the portability of applications across environments, such as from development to test, from staging to production, or from a physical server to a virtual machine in the cloud. The speed and simplicity allowed by containers are an ideal fit for DevOps.
Managing an IT portfolio, or even one application, across a multi-cloud environment requires centralized tools for global monitoring, traffic analysis, and load balancing to ensure security and optimal user experiences around the world. Container architectures along with Kubernetes container orchestration provide an additional layer of complexity.
With no need to boot up its own operating system, a containerized application can be started almost instantly—much faster than a virtual machine—and disappear just as quickly when it is no longer needed to free up host resources.
Products such as the Docker container platform and the Kubernetes container orchestration system have simplified the adoption of containerization and fueled its rapid growth. At the same time, containerization security issues have come to light, including the fact that application containers are not abstracted from the host OS on a VM, which can make it easier for security threats to access the entire system.
As containers are deployed across a cluster, organizations need to be able to ensure that the applications running within them are always secure, available, and running well. Thunder® Application Delivery Controller (ADC) optimizes the delivery and security of container-based applications and services running over public clouds or private clouds by load-balancing containers, securing communication with containers, monitoring containers and the cluster as a whole, and enabling continuous upgrades for microservices inside containers without bringing down the service.
Take this brief multi-cloud application services assessment and receive a customized report.Take the Survey