Термін
Контейнеризація
Пакування застосунку разом з усім, що потрібно для його роботи, в ізольований контейнер, який однаково працює на ноутбуці розробника, сервері та в хмарі. Спрощує розгортання та масштабування програм.
Оновлено
Що це означає
Контейнеризація - пакування застосунку з усім, що потрібно для його роботи, тобто бібліотеками, налаштуваннями і залежностями, в ізольований контейнер. Контейнер поводиться однаково на ноутбуці розробника, тестовому сервері й у продакшені в хмарі, що знімає відому проблему «у мене все працює».
На відміну від віртуальної машини контейнер не містить усієї операційної системи, а використовує ядро хоста. Тому він легший, запускається за секунди, і на одному сервері їх може працювати набагато більше. Найвідоміший інструмент - Docker, що популяризував формат образів контейнерів.
Контейнеризацію часто пов'язують з архітектурою мікросервісів, де застосунок поділено на невеликі самостійні частини. Кожна працює у своєму контейнері, її можна незалежно розгортати й масштабувати, а для керування безліччю контейнерів слугують оркестратори на кшталт Kubernetes.
Як це працює на практиці
Для команди розробки контейнери спрощують розгортання. Образ застосунку збирається автоматично в процесі CI/CD, тестується, і той самий образ розгортається в продакшені. Відмінності між середовищами зникають, а повернення до попередньої версії займає хвилини.
Для компанії, що замовляє розробку, контейнеризація корисна в разі зміни підрядника чи хостингу. Застосунок у стандартних контейнерах простіше перенести до іншого хмарного провайдера, ніж систему, встановлену вручну на конкретному сервері.
Контейнери добре вписуються в культуру DevOps, де розробка й експлуатація працюють разом. Інфраструктуру описано у файлах, які версіонуються разом із кодом, тож видно, хто що змінив, а середовище можна будь-коли створити заново.
На що звернути увагу
Контейнери не безпечні автоматично. Образи часто містять застарілі бібліотеки з відомими вразливостями, а паролі доступу не можна вшивати просто в образ. Потрібні регулярне сканування образів, оновлення і зберігання секретів поза кодом.
Для невеликого застосунку контейнеризація з оркестрацією може виявитися надмірно складною і дорогою в підтримці. Простому сайту чи внутрішньому інструменту часто краще підійде керована платформа або serverless-рішення, де про сервери й контейнери дбає провайдер.
Потрібно пояснити термін на вашій конкретній ситуації? Консультації від 55 € / година без ПДВ, залежно від теми та складності.