A container is a package consisting of the application, its dependencies, libraries, and configuration. It is a method of virtualizing the OS layer and is often used to isolate an application into its modular pieces of software. Containers are not virtual machines. Containers are a lighter weight solution than VMs as they share the kernel of the underlying OS.
Containers run on container management software, such as the Docker Engine, and are commonly managed using a container management (or orchestration) solution such as Kubernetes.
At the time of release of BMC Discovery 11.3, the following container services are discovered:
- Software Container
- AIX WPARs
- Container Management Solutions
- Docker Swarm
- Containers in the Cloud
- AWS ECS – Introduced in the April 2018 product content update.
Discovery of software containers
Container management software was previously discovered and modeled as SIs using TKU patterns. BMC Discovery 11.3 discovers the containers that the management software controls. Discovery of containers is triggered by the creation or update of an SI representing the container management software, and then additional patterns query the container management software to determine the containers that it is running.
Modeling software containers
When the additional patterns query the container management software, they return the containers that the software is running. The containers are modeled as software containers and the management software as an SI.
Container Management Solutions
Container Management Solutions are discovered and modeled as deployment nodes.
The following image shows an example of discovered software containers and the associated infrastructure.
The visualization is focused on a host node, which is running Docker, and represented by an SI. The software containers are shown in a collection, that has relationships to the Docker SI and the host on which it runs. Also running on the host is a Kubernetes cluster that contains a number of deployments.