text: Figure 2-8 Containerized applications 
  
  **2.3.1 What are containers?**
  
  A container is the object for encapsulating or packaging up software code, along with all 
  required dependencies, so that it can run uniformly and consistently on any infrastructure. 
  This abstraction away from the operating system makes the container highly portable to run 
  across any platform or cloud and clear of any issues. A container is also termed as 
  *lightweight*, considering that the same operating system kernel is shared across multiple 
  instances of containers. 
  
  A portability feature is also known as*Write once and run anywhere*, which is important in 
  context to development process and compatibility with other dependent software stack. 
  Containerization improved security and efficiently of code development with the adoption of 
  Docker and DevOps. 