--- status: stable type: concept tags: - devops created: 2026-02-13 updated: 2026-05-07 aliases: - IaC - Основы --- # IaC - Основы *Infrastructure-as-Code (Инфраструктура как код)*  Основными инструментами выступают Terraform и Ansible ## Terraform - ПО, разработанное компанией HashiCorp, призванное управлять инфрой в декларативном ключе. Для работы с инфрой через terraform необходимо лишь описать желаемое состояние (конфигурацию), в которой в декларативном формате изложена желаемая инфраструктура. > Декларативный подход - пишем не "как" надо сделать, а "какое" **состояние** мы хотим увидеть  Описывается в файле `main.ttf`: ![](1_IaC%20-%20основы_image.png) Terraform-провайдер - Это обязательное звено - это интерпретатор, который обрабатывает наш конфиг и вызывает нужные API для работы непосредственно с вендором. ![](IaC%20-%20основы_изображение.png) Поддерживаемые в terraform типы ресурсов (CRUD): - аккаунты и ресурсные группы - ВМ, контейнеры - виртуальные сетевые сегменты - диски и образы - оркестраторы контейнерных и неконтейнерных нагрузок - и т.д. … ## Ansible - ПО, от компании Red Hat, изначально созданное для управления конфигурацией.  Использует также декларативный язык ![](IaC%20-%20основы_image.png) [[Ansible - основы]]