Основные принципы контейнеризации, которые применяются при разработке приложений:
- Изоляция. 1 Внутри контейнера находится изолированная среда, включающая в себя определённые файлы, софт с необходимыми зависимостями, настройками и т. д.. 1
- Независимость. 1 Все используемые контейнеры не взаимозависимы. 1 Если в одном из них произойдёт сбой, ситуация не отразится на функционировании других. 1
- Переносимость. 1 При запуске ПО все составляющие инфраструктуры объединяются в отдельную виртуальную капсулу, которую можно переносить из среды в среду. 1
- Масштабируемость. 1 Приложение может не только быстро развёртываться, но и горизонтально масштабироваться, что увеличивает общую производительность. 1
- Легковесность. 1 При контейнеризации структура использует столько ресурсов, сколько требуется только приложению. 1
- 1 контейнер — 1 сервис. 2 Контейнер должен выполнять только одну функцию — не следует помещать в него все сущности, от которых зависит приложение. 2
- Неизменность образа. 2 Все изменения внутри контейнера должны вноситься на стадии сборки образа — соблюдение этого принципа страхует от утраты данных при уничтожении контейнера. 2
- Утилизируемость контейнеров. 2 Это значит, что любой контейнер может быть в любой момент уничтожен и заменён на другой без остановки обслуживания. 2