Containers
Intro
My notes on containers, such as Docker.
Documentation
Tips And Notes
Â
Another way to package and deliver applications.
Keep applications isolated, which makes the portable to different environments (same OS but different versions of the OS).
Not the same as a VM. Containers concentrate on application and isolation.
Worry about scaling and sizing of container from the beginning.
Worry about data persistent. Where would you keep the container's data? Containers are short-term (ephemeral).
Benefits Of Containers
Agility
Scalability/high availability,
Cost optimization
Portability (can be moved between on-prem or any cloud provider platform).
Container images used for local development are identical to those that are run in productio
Allows building of Immutable Infrastructure.Â
Once an application is in production, it cannot be changed or modified
 Updates require proper change controls and code review.Â
Enables faster mean time to revenue.
Better distributed computing capabilities. Application can be divided into many different domains and each scaled separately
Lightweight when compared to VMs.
Can boot faster
Smaller footprint size.
Ease of patching.
Developer agility.
Containers are lightweight, which makes building and deploying them faster than with VM infrastructure
Disadvantages of Containers
Higher cost (security, tools, skills, time)
More complex, harder to debug. More DevOps required
Lack of support
Use Cases
Containers can be used in
CI/CD automation,Â
autoscaling microservicesÂ
containers as a service,
hybrid cloud architectures.
Layers
Containers use a layered approach.
Use a union file system which allows files to remain independent from other containers
Operating systems, applications, and libraries all contained in layers.Â
Layers are cached for fast building.
Share OS
Container Stack Architecture
Source:Â DevOps Foundations: ContainersÂ
Container EcoSystem
Source:Â DevOps Foundations: ContainersÂ
Â
Docker
Docker is the largest player. They're a standard and a company.Â
Rocket
Â
Rocket from CoreOS was built in response to security concerns with Docker because they were providing root access to the demon, which created risk.