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