Інфраструктура як код
Інфраструктура як код (англ. Infrastructure as Code, IaC) — підхід до керування та постачання ІТ-інфраструктури, за якого обчислювальні, мережеві та інші ресурси описуються у вигляді машинозчитуваних конфігураційних файлів або програмного коду, а не налаштовуються вручну через графічні інтерфейси чи інтерактивні інструменти.[1][2]
IaC дає змогу описувати інфраструктуру у файлах, які можна зберігати в системах керування версіями, повторно використовувати, перевіряти, рецензувати та застосовувати автоматизовано. Такий підхід часто використовується в DevOps, хмарних обчисленнях, автоматизації розгортання та керуванні середовищами розробки, тестування і продуктивної експлуатації.[3]
Інфраструктура як код може застосовуватися як до віртуальних машин, контейнерів, мереж, балансувальників навантаження, сховищ даних і DNS-записів, так і до фізичних серверів або ресурсів локальних центрів обробки даних. Наприклад, Terraform описує хмарні й локальні ресурси в конфігураційних файлах, які можна версіонувати, повторно використовувати й застосовувати протягом життєвого циклу інфраструктури.[4]
У практиці IaC зазвичай розрізняють два основні підходи:
- декларативний — користувач описує бажаний кінцевий стан інфраструктури, а інструмент сам визначає, які дії потрібно виконати для його досягнення;
- імперативний — користувач описує послідовність команд або кроків, які мають бути виконані для створення чи зміни інфраструктури.
Декларативний підхід характерний для таких інструментів, як Terraform, AWS CloudFormation, Azure Resource Manager і Bicep. Наприклад, Bicep використовує декларативний синтаксис для опису ресурсів Azure, які потім можна багаторазово розгортати узгодженим способом.[5]
Інфраструктура як код використовується для:
- автоматизації створення і зміни інфраструктури;
- повторюваного розгортання однакових середовищ;
- зменшення кількості ручних помилок;
- документування інфраструктури у вигляді коду;
- рецензування змін через pull request або подібні механізми;
- зберігання історії змін в системах керування версіями;
- швидкого відтворення середовищ розробки, тестування або продуктивної експлуатації.
IaC часто використовується разом з інфраструктурою як послугою (IaaS), оскільки хмарні платформи надають API для створення і зміни ресурсів. Проте ці поняття не є тотожними. IaaS — це модель надання інфраструктурних ресурсів як послуги, тоді як IaC — це спосіб опису, автоматизації та керування такими ресурсами.
До поширених інструментів і сервісів, пов'язаних з інфраструктурою як кодом, належать:
- AWS CloudFormation — сервіс AWS для моделювання, постачання й керування ресурсами AWS та сторонніми ресурсами як кодом;[6]
- Terraform — інструмент для опису, створення, зміни й версіонування хмарної та локальної інфраструктури;[7]
- Ansible — інструмент автоматизації, який може використовуватися для конфігураційного керування та розгортання інфраструктури;
- Azure Resource Manager і Bicep — засоби опису та розгортання ресурсів Microsoft Azure;[8]
- Google Cloud Deployment Manager — сервіс для опису й розгортання ресурсів Google Cloud;
- Puppet;
- Chef[en];
- Pulumi;
- Vagrant;
- Serverless Framework[en].
Серед переваг IaC зазвичай виділяють повторюваність розгортань, можливість автоматизації, контроль змін, узгодженість середовищ і зменшення залежності від ручного налаштування. AWS описує IaC як підхід, що дає змогу визначати інфраструктуру кодом, полегшує її версіонування, спільне використання та відтворення розгортань.[9]
- ↑ What is Infrastructure as Code (IaC)? (англ.). Red Hat. 20 червня 2025. Процитовано 6 червня 2026.
- ↑ What is Infrastructure as Code? - IaC Explained (англ.). Amazon Web Services. Процитовано 6 червня 2026.
- ↑ What Is Infrastructure as Code (IaC)? (англ.). IBM. 29 вересня 2025. Процитовано 6 червня 2026.
- ↑ What is Terraform? (англ.). HashiCorp Developer. Процитовано 6 червня 2026.
- ↑ What is Bicep? (англ.). Microsoft Learn. 8 січня 2026. Процитовано 6 червня 2026.
- ↑ AWS CloudFormation (англ.). Amazon Web Services. Процитовано 6 червня 2026.
- ↑ What is Terraform? (англ.). HashiCorp Developer. Процитовано 6 червня 2026.
- ↑ ARM templates (англ.). Microsoft Learn. 29 жовтня 2025. Процитовано 6 червня 2026.
- ↑ Infrastructure as Code (IaC) (англ.). Amazon Web Services Documentation. Процитовано 6 червня 2026.
| Це незавершена стаття про інформаційні технології. Ви можете допомогти проєкту, виправивши або дописавши її. |