Что такое OpenTofu?
OpenTofu — это инструмент для управления инфраструктурой как кодом, который позволяет описывать облачные и локальные ресурсы в понятных человеку конфигурационных файлах, которые можно версионировать, повторно использовать и предоставлять другим. Затем можно использовать единый рабочий процесс для развертывания и управления всей инфраструктурой на протяжении всего её жизненного цикла. OpenTofu может управлять низкоуровневыми компонентами, такими как вычислительные ресурсы, хранилища и сетевые ресурсы, а также высокоуровневыми компонентами, такими как записи DNS и функции SaaS.
Как работает OpenTofu?
OpenTofu создаёт ресурсы и управляет ими на облачных платформах и в других сервисах с помощью их интерфейсов прикладного программирования (API). Провайдеры позволяют OpenTofu работать практически с любой платформой или сервисом, у которого есть доступный API.
Сообщество OpenTofu уже создало тысячи провайдеров для управления множеством различных типов ресурсов и сервисов. Все общедоступные провайдеры можно найти в публичном реестре OpenTofu, в том числе для Amazon Web Services (AWS), Azure, Google Cloud Platform (GCP), Kubernetes, Helm, GitHub, Splunk, DataDog и многих других.
Основной рабочий процесс OpenTofu состоит из трёх этапов:
- Описание: Вы задаёте ресурсы, которые могут относиться к нескольким облачным провайдерам и сервисам. Например, можно создать конфигурацию для развертывания приложения на виртуальных машинах в сети Virtual Private Cloud (VPC) с группами безопасности и балансировщиком нагрузки.
- Планирование: OpenTofu формирует план выполнения, в котором описывается, какую инфраструктуру он создаст, обновит или уничтожит с учётом существующей инфраструктуры и вашей конфигурации.
- Применение: После подтверждения OpenTofu выполняет предложенные операции в правильном порядке с учётом всех зависимостей ресурсов. Например, если вы обновите свойства VPC и измените количество виртуальных машин в этой VPC, OpenTofu пересоздаст VPC до масштабирования виртуальных машин.
Почему OpenTofu?
Управляйте любой инфраструктурой
В публичном реестре OpenTofu можно найти провайдеры для многих платформ и сервисов, которыми вы уже пользуетесь. Вы также можете использовать Terraform Plugin SDK, чтобы написать собственный провайдер. OpenTofu использует неизменяемый подход к инфраструктуре, упрощая обновление и изменение сервисов и инфраструктуры.
Отслеживайте свою инфраструктуру
OpenTofu формирует план и запрашивает ваше подтверждение, прежде чем вносить изменения в инфраструктуру. Кроме того, он отслеживает фактическое состояние инфраструктуры в файле состояния, который служит источником достоверных данных о вашей среде. OpenTofu использует файл состояния, чтобы определить, какие изменения необходимо внести в инфраструктуру для приведения её в соответствие с конфигурацией.
Автоматизируйте изменения
Конфигурационные файлы OpenTofu являются декларативными, то есть описывают конечное состояние инфраструктуры. Вам не нужно писать пошаговые инструкции для создания ресурсов, потому что OpenTofu самостоятельно выполняет необходимые действия. OpenTofu строит граф ресурсов, чтобы определить зависимости между ними, и параллельно создаёт или изменяет ресурсы, не имеющие зависимостей. Благодаря этому OpenTofu эффективно развёртывает ресурсы.
Стандартизируйте конфигурации
OpenTofu поддерживает повторно используемые компоненты конфигурации, называемые модулями. Они задают настраиваемые наборы ресурсов инфраструктуры, экономят время и помогают следовать передовым практикам. Можно использовать общедоступные модули из реестра OpenTofu или написать собственные.
Работайте совместно
Поскольку конфигурация хранится в файле, её можно зафиксировать в системе контроля версий (VCS) и использовать облачную серверную часть для эффективного управления рабочими процессами OpenTofu в команде. Облачная серверная часть запускает OpenTofu в единообразной и надёжной среде, обеспечивает безопасный доступ к общему состоянию и секретным данным, управление доступом на основе ролей, частный реестр для совместного использования модулей и провайдеров и многое другое.
Узнайте больше о сценариях использования OpenTofu и о том, чем OpenTofu отличается от альтернатив.
Сообщество
Мы рады вопросам, предложениям и вкладу сообщества.
- Задавайте вопросы в разделе обсуждений OpenTofu.
- Ознакомьтесь с нашим руководством для участников.
- Сообщайте о проблемах и предлагайте новые функции.
Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.10/intro/