Terraform
Что такое Terraform?
Terraform - это инструмент инфраструктуры как кода, позволяющий безопасно и эффективно создавать, изменять и версировать облачные и локальные ресурсы.
HashiCorp Terraform - это инструмент инфраструктуры в виде кода, позволяющий определять облачные и локальные ресурсы в человекочитаемых конфигурационных файлах, которые можно версировать, повторно использовать и совместно использовать. Затем вы можете использовать последовательный рабочий процесс для обеспечения и управления всей вашей инфраструктурой на протяжении всего ее жизненного цикла.
Terraform может управлять низкоуровневыми компонентами, такими как вычислительные ресурсы, ресурсы хранения и сетевые ресурсы, а также высокоуровневыми компонентами, такими как записи DNS и функции SaaS.
Как работает Terraform?
Terraform создает и управляет ресурсами на облачных платформах и других сервисах через их интерфейсы прикладного программирования (API). Провайдеры позволяют Terraform работать практически с любой платформой или сервисом с доступным API.
Terraform создает и управляет облачными платформами и сервисами через их API.
HashiCorp и сообщество Terraform уже написали тысячи провайдеров для управления различными типами ресурсов и сервисов. В реестре Terraform можно найти все общедоступные провайдеры, включая Amazon Web Services (AWS), Azure, Google Cloud Platform (GCP), Kubernetes, Helm, GitHub, Splunk, DataDog и многие другие.
Основной рабочий процесс Terraform состоит из трех этапов:
-
Запись: Вы определяете ресурсы, которые могут находиться у нескольких облачных провайдеров и служб. Например, вы можете создать конфигурацию для развертывания приложения на виртуальных машинах в сети виртуального частного облака (VPC) с группами безопасности и балансировщиком нагрузки.
-
План: Terraform создает план выполнения, описывающий инфраструктуру, которую он будет создавать, обновлять или уничтожать на основе существующей инфраструктуры и вашей конфигурации.
-
Применить: После утверждения Terraform выполняет предложенные операции в правильном порядке, соблюдая все зависимости от ресурсов. Например, если вы обновляете свойства VPC и изменяете количество виртуальных машин в этом VPC, Terraform воссоздаст VPC перед масштабированием виртуальных машин.