Что такое 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.11/intro/