﻿---
title: Pulumi
description: "Pulumi: Infrastructure as Code на TypeScript, Python, Go, .NET, Java и YAML с ресурсами, stacks и тестированием."
---

## Назначение

**Pulumi** — IaC-платформа, в которой инфраструктуру описывают на общих языках программирования, а также YAML и HCL. Программа объявляет ресурсы, а движок вычисляет и применяет желаемое состояние.

Open-source SDK распространяется под Apache License 2.0. Для state и совместной работы используют Pulumi Cloud или поддерживаемые самостоятельно управляемые backends.

## Возможности и интеграции

- TypeScript, Python, Go, .NET, Java, YAML и HCL;
- providers для AWS, Azure, Google Cloud, Kubernetes и других платформ;
- resources, stacks, outputs и reusable components;
- preview/update/refresh и управление состоянием;
- unit, property и integration testing инфраструктурного кода;
- policy, least privilege и CI/CD integrations;
- миграция и импорт существующей инфраструктуры.

## Ограничения

Общий язык даёт циклы, функции и абстракции, но позволяет создать трудно читаемую логику вместо понятной декларации. Нужны инженерная дисциплина, тесты и ограничения абстракций. State и секреты требуют защиты, а preview разрушительных изменений остаётся обязательным.

## Когда выбирать

Подходит командам разработчиков, которым важны типы, пакеты и тестирование на знакомом языке. Terraform/OpenTofu предлагают HCL и широкую совместимость, Ansible — настройку существующих систем.

## Связанные материалы

- [Infrastructure as Code](https://wpcraft.ru/kb/infrastructure/iac.md)
- [IaC для WordPress](https://wpcraft.ru/kb/infrastructure/iac/iac-wordpress.md) — пример связки Pulumi + Ansible.
- [Окружения](https://wpcraft.ru/kb/infrastructure/devops/environments.md)
- [CI/CD](https://wpcraft.ru/kb/infrastructure/devops/ci-cd.md)

## Материалы и источники

- [Pulumi: Infrastructure as Code](https://www.pulumi.com/docs/iac/) — языки, ресурсы и operations.
- [Pulumi: Testing](https://www.pulumi.com/docs/iac/guides/testing/) — проверки инфраструктурного кода.
- [Pulumi: Continuous Delivery](https://www.pulumi.com/docs/iac/operations/continuous-delivery/) — запуск в CI/CD.