The principle of container immutability regards an image unchangeable once it is built, and requires creating a new image if changes need to be made. This page gathers resources about the container immutability principle, its benefits and implications.
Table of Contents:
Below we have compiled publicly available sources from around the world that present views on Container Immutability.
Best Practices for Running Containers and Kubernetes in Production Covering security, governance, monitoring, storage, networking, container life cycle management and container orchestration.
One of the principles of Docker containers is that an image is immutable — once built, it’s unchangeable, and if you want to make changes, you’ll get a new image as a result. In this post, we’ll take a deep dive into the immutability of containers, and then we’ll look at some of the consequences and potential problems, as well as see how applying some metadata to your container images can really help.
Docker containers are in fact immutable. This means that a running container never changes because in case you need to update it, the best practice is to create a new container with the updated version of your application and delete the old one.
Container Immutability — The principle of container immutability regards an image unchangeable once it is built, and requires creating a new image if changes need to be made. This page gathers resources about the container immutability principle, its benefits and implications.
Container Resource Utilization — Container resource utilization refers to the process of making the most of the computing resources like CPU and memory, available in order to achieve the best container performance. This page gathers resources about how to manage resources to get the optimal container performance.
Container Portability — Container portability means the ability to move an application, in other words, port it from one host environment to another. The new host environment could be a different kind of operating system, different version of the same operating system or a different type of hardware platform. This page gathers resources about the benefits of container portability.
Container Performance — Container performance refers to speed-related factors such as container startup time, resource distribution, and redundancy (duplication of components), and how these affect the software delivery pipeline. This page gathers resources about container performance, including best practices, performance analysis, and academic papers.
Container Scalability — Container scalability is the trait where a container application can handle increased loads of work. This can be achieved by reconfiguring the existing architecture of a single machine to increase available resources or by provisioning additional containers within a cluster of distributed machines. This page gathers resources about how to orchestrate container applications for high scalability.
Container Operating Costs — Container's benefits are not just technical. Containers can also reduce costs - which is the big reason why companies are now adopting them. This page gathers resources about container operating costs and their influence on overall system costs.
Containers as a Service — Container as a Service (CaaS) is a business model whereby cloud computing service providers offer container-based virtualization services as a scalable online service. This allows users to use container services without having the necessary infrastructure. This Page gathers resources about the popularity and the advantages of CaaS.