---
status: stable
type: concept
tags:
  - devops
created: 2026-02-13
updated: 2026-02-27
title: 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 - основы]]
