Introducing containers and Bitbucket Pipelines
One of the most recent advances in technology that furthered the DevOps movement was the introduction of container technology. As mentioned in Chapter 1, instead of setting up complete environments as physical or virtual machines (VMs), an application and its required libraries would reside in a self-contained entity called a container. This container interacts with outside resources through a managing application. At the time of writing, the most popular application for managing containers is Docker Engine from Docker Inc.
Containers have allowed for application portability at an unprecedented level. Developers can create an application, package it as a container, and run tests on the application in a test environment managing that container. Deployment to production would use the same container image, but in an environment with possibly more resources, depending on the target, allowing multiple instances of the application container...