Починаєте свій шлях у DevOps і постійно чуєте незнайомі слова, як-от pipeline, CI, rollback, контейнер? Це нормально: DevOps має власну термінологію, і щоб розуміти, як усе працює, важливо навчитися "говорити однією мовою" з командою.
У цій статті ми зібрали 35 основних термінів, які часто зустрічаються у щоденній роботі DevOps-фахівця. Це ваша шпаргалка для впевненого старту.
Основні поняття
- DevOpsМетодологія, що поєднує розробку (Dev) і операції (Ops) для пришвидшення доставки програмного забезпечення, покращення якості й автоматизації процесів.
- Agile Гнучкий підхід до розробки програмного забезпечення, заснований на ітераціях, швидкому зворотному зв’язку та адаптації до змін.
- DevSecOpsРозширення DevOps з фокусом на безпеку. Безпека інтегрується на всіх етапах розробки — від коду до продакшену.
Автоматизація життєвого циклу та тестування
- Continuous Integration (CI)Практика регулярного автоматичного об’єднання змін коду в загальний репозиторій з автоматичним запуском збірки та тестів для виявлення помилок на ранніх стадіях.
- Continuous Delivery (CD)Автоматизоване розгортання перевіреного коду в тестове чи проміжне середовище, готове до швидкого випуску в продакшн за потреби.
- Continuous DeploymentРозширення CD: усі успішні зміни автоматично потрапляють у продакшн без ручного втручання.
- Continuous TestingБезперервне тестування на всіх етапах CI/CD, що дозволяє виявляти помилки ще на ранніх стадіях.
- Test AutomationВикористання скриптів і фреймворків для автоматичного запуску тестів, що скорочує час перевірки та підвищує якість продукту.
- Unit TestingТестування окремих частин коду ізольовано від інших.
- Regression TestingПеревірка, чи нові зміни не порушили вже працюючий функціонал.
Середовища, контейнери та інфраструктура
- ContainersІзольовані середовища, в яких можна запускати застосунки з усіма їхніми залежностями. Найпопулярніший інструмент — Docker.
- ContainerizationПроцес пакування застосунку з його конфігураціями та залежностями в контейнер для узгодженого запуску в будь-якому середовищі.
- Staging EnvironmentСередовище, максимально наближене до продакшену, для фінальної перевірки перед релізом.
- ProductionРеальне середовище, де працює застосунок і який бачать користувачі.
- Infrastructure as Code (IaC)Управління інфраструктурою через код (скрипти, декларативні файли), який автоматизує створення серверів, мереж, баз даних. Інструменти — Terraform, Ansible.
Розгортання та релізи
- DeploymentПроцес доставки коду в потрібне середовище.
- Deployment PipelineАвтоматизований процес, який проводить код через етапи збірки, тестування й розгортання.
- Canary ReleaseОбмежене розгортання нової версії тільки для частини користувачів або серверів. Дозволяє перевірити стабільність оновлення перед повним запуском.
- Blue-Green DeploymentСтратегія розгортання з двома ідентичними середовищами: в одному працює продакшн, інше оновлюють. Після успішного тестування трафік перемикають на нове середовище.
- RollbackПроцес повернення програми або системи до попередньої стабільної версії у випадку проблем із новим релізом.
- Release OrchestrationУправління всіма етапами підготовки релізу: планування, автоматизація, моніторинг.
Управління конфігурацією та змінами
- Configuration ManagementПідтримка стабільних налаштувань системи у різних середовищах.
- Configuration DriftРозбіжність між фактичними налаштуваннями та реальним станом системи через ручні або не синхронізовані зміни.
- Source Control / Version ControlСистеми керування версіями, що зберігають історію змін у коді та дозволяють командну роботу. Найпоширеніший інструмент — Git.
- CommitФіксація змін у системі контролю версій з їх описом.
- Build Agent (Agent)Програма або сервіс, що виконує автоматичні завдання — збірку, тестування, деплой.
- Secrets ManagementЗберігання і керування конфіденційними даними (паролі, ключі) у безпечному вигляді.
Продуктивність, стабільність і надійність
- Mean Time Between Failures (MTBF)Середній час роботи системи без збоїв. Вища цифра = стабільніше.
- Mean Time to Recovery (MTTR)Середній час, необхідний для відновлення системи після збою. Чим менше — тим краще.
- Fail FastПідхід, за якого помилки виявляються якомога раніше — ще до того, як вони спричинять більші проблеми.
- Lead TimeЧас від першого коміту до виходу зміни в продакшн. Важлива метрика для вимірювання ефективності.
Архітектура, підходи та культура розробки
- MicroservicesАрхітектура, де застосунок складається з незалежних мікросервісів, що розгортаються і масштабуються окремо.
- Behavior-Driven Development (BDD)Розробка через опис бажаної поведінки застосунку зрозумілою мовою для бізнесу і технічної команди.
- Technical DebtНаслідок тимчасових рішень у коді, які зекономили час зараз, але потребують доопрацювання в майбутньому.
- MonitoringПроцес спостереження за станом системи через метрики, логи та алерти. Інструменти: Prometheus, Grafana.
До теми:
На завершення
Навіть якщо ви тільки починаєте свій шлях у DevOps, знання і розуміння базових термінів допоможе під час навчання. Також сприятиме тому, щоб швидше орієнтуватися в процесах і зануритись у практику.
А якщо ви готові перейти на наступний рівень — починайте опанування мастхев інструментів DevOps-інженера на практичних курсах в IT Education Center.
Христина Донченко