Prog Academy
RU UA
DevOps та хмари

Що таке Infrastructure as Code (IaC)?

Infrastructure as Code — підхід, за якого сервери, мережі, бази та права доступу описуються в конфігураційних файлах і створюються автоматично за цим описом, замість ручного налаштування через вебінтерфейс хмари.

Інфраструктура, зібрана руками, з часом розходиться: тестове оточення відрізняється від продакшену, а точний порядок дій памʼятає одна людина. Опис у коді прибирає цю невизначеність — оточення можна перестворити з нуля будь-якої миті.

Оскільки конфігурація — це файли, до неї застосовні всі звичні практики розробки: зберігання в Git, історія змін, код-рев'ю перед застосуванням, автоматична перевірка в CI/CD. Інструменти — Terraform, Ansible, Pulumi та аналоги від хмарних провайдерів.

Повʼязані терміни

Terraform

Terraform — інструмент, який створює хмарну інфраструктуру за описом у файлах конфігурації. Ви вказуєте, які ресурси мають існувати, а Terraform сам обчислює, що створити, змінити чи видалити, щоб привести хмару до цього стану.

DevOps

DevOps — підхід до розробки, у якому створення програми та її експлуатація обʼєднані в один процес: та сама команда відповідає і за код, і за те, як він збирається, розгортається та працює на серверах. Мета — випускати зміни часто, швидко й безпечно.

CI/CD

CI/CD — автоматичний конвеєр, через який проходить кожна зміна коду: збірка, запуск тестів і доставка готової версії на сервери. Розробник надсилає код у репозиторій, а все інше відбувається без ручних дій.

Cloud Computing

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

Git

Git — система контролю версій: вона зберігає історію змін проєкту, дозволяє повернутися до будь-якого попереднього стану й дає кільком розробникам працювати над одним кодом паралельно, не перезаписуючи правки одне одного.