Термін

Контейнеризація

Пакування застосунку разом з усім, що потрібно для його роботи, в ізольований контейнер, який однаково працює на ноутбуці розробника, сервері та в хмарі. Спрощує розгортання та масштабування програм.

Оновлено

Що це означає

Контейнеризація - пакування застосунку з усім, що потрібно для його роботи, тобто бібліотеками, налаштуваннями і залежностями, в ізольований контейнер. Контейнер поводиться однаково на ноутбуці розробника, тестовому сервері й у продакшені в хмарі, що знімає відому проблему «у мене все працює».

На відміну від віртуальної машини контейнер не містить усієї операційної системи, а використовує ядро хоста. Тому він легший, запускається за секунди, і на одному сервері їх може працювати набагато більше. Найвідоміший інструмент - Docker, що популяризував формат образів контейнерів.

Контейнеризацію часто пов'язують з архітектурою мікросервісів, де застосунок поділено на невеликі самостійні частини. Кожна працює у своєму контейнері, її можна незалежно розгортати й масштабувати, а для керування безліччю контейнерів слугують оркестратори на кшталт Kubernetes.

Як це працює на практиці

Для команди розробки контейнери спрощують розгортання. Образ застосунку збирається автоматично в процесі CI/CD, тестується, і той самий образ розгортається в продакшені. Відмінності між середовищами зникають, а повернення до попередньої версії займає хвилини.

Для компанії, що замовляє розробку, контейнеризація корисна в разі зміни підрядника чи хостингу. Застосунок у стандартних контейнерах простіше перенести до іншого хмарного провайдера, ніж систему, встановлену вручну на конкретному сервері.

Контейнери добре вписуються в культуру DevOps, де розробка й експлуатація працюють разом. Інфраструктуру описано у файлах, які версіонуються разом із кодом, тож видно, хто що змінив, а середовище можна будь-коли створити заново.

На що звернути увагу

Контейнери не безпечні автоматично. Образи часто містять застарілі бібліотеки з відомими вразливостями, а паролі доступу не можна вшивати просто в образ. Потрібні регулярне сканування образів, оновлення і зберігання секретів поза кодом.

Для невеликого застосунку контейнеризація з оркестрацією може виявитися надмірно складною і дорогою в підтримці. Простому сайту чи внутрішньому інструменту часто краще підійде керована платформа або serverless-рішення, де про сервери й контейнери дбає провайдер.

Потрібно пояснити термін на вашій конкретній ситуації? Консультації від 55 € / година без ПДВ, залежно від теми та складності.