В рамках второго дня обучения решил пройтись по курсу по контейнеризации.
Контейнеризация вообще - это виртуализация на уровне операционной системы или приложения на нескольких объединённых сетью ресурсах так, что приложения внутри контейнера изолированы друг от друга в контейнерах.
Отличия контейнеров от виртуальных машин (ВМ) в том, что:
1. ВМ использует больше ресурсов (процессор, RAM, хранилище), чем контейнер, так как ВМ использует их на работу процессов/сервисов внутри гостевой ОС, тогда как в контейнере используется минимальный образ операционной системы (те же Alpine Linux).
2. Из пункта 1 следует, что ВМки хуже горизонтально масштабируются. Поднять контейнер быстрее и проще, чем ВМку (хотя, конечно, с Ansible и Terraform стало сильне проще; сомнительный плюс, хех).
3. ВМки лучше защищены, т.к. при проблемах на хосте с конейтнерами подвергаются угрозе все контейнеры на нём. С ВМками посложнее, там и изоляция ядра, и то, что взлом одной ВМки != взлому соседних.
Docker, Podman - "обёртка" над containerd: https://containerd.io
Ресурсы:
https://containerd.io/
https://www.docker.com/resources/what-container/
https://en.wikipedia.org/wiki/OS-level_virtualization
https://en.wikipedia.org/wiki/Application_virtualization
https://docs.docker.com/
https://www.atlassian.com/ru/microservices/cloud-computing/containers-vs-vms
Потрачено 47 минут на самообучение.