Что такое Terraform ?

Спросят с вероятностью 13%



Terraform — это мощный инструмент от HashiCorp, предназначенный для создания, изменения и версионирования инфраструктуры безопасно и эффективно. Позволяет пользователям определять инфраструктуру с использованием высокоуровневой конфигурационной системы на основе декларативного кода, что упрощает процесс управления инфраструктурными ресурсами в облаке, на собственных серверах или в гибридных средах.



Основные характеристики:



1️⃣Инфраструктура как код (IaC): Позволяет пользователям описывать желаемую инфраструктурную среду с помощью конфигурационных файлов, что обеспечивает удобство управления, версионирование и повторное использование.



2️⃣Декларативный подход: Вместо того, чтобы указывать, *как* достичь желаемого состояния инфраструктуры (императивный подход), Terraform позволяет пользователям определить *что* должно быть достигнуто, описывая конечное состояние системы, и самостоятельно решает, какие шаги необходимо предпринять.



3️⃣Поддержка множества провайдеров: Поддерживает широкий спектр облачных провайдеров, таких как Amazon Web Services, Microsoft Azure, Google Cloud Platform, а также специализированных провайдеров, таких как DNS-провайдеры, SaaS-провайдеры и другие.



4️⃣Модульность и повторное использование: Позволяет создавать и использовать модули, которые могут быть повторно использованы для развертывания стандартизированных конфигураций в разных средах или проектах.



5️⃣Идемпотентность: Выполнение одних и тех же Terraform конфигураций несколько раз подряд приведет к одному и тому же состоянию инфраструктуры, без нежелательных побочных эффектов.



6️⃣Управление состоянием: Terraform отслеживает состояние развернутых ресурсов, что позволяет эффективно управлять обновлениями и изменениями.

provider "aws" {

region = "us-west-2"

}



resource "aws_instance" "example" {

ami = "ami-0c55b159cbfafe1f0"

instance_type = "t2.micro"



tags = {

Name = "ExampleInstance"

}

}




В этом примере:

provider определяет провайдера облачных услуг, в данном случае AWS.

resource определяет тип ресурса, который Terraform должен управлять, в данном случае EC2 instance в AWS.



Terraform предоставляет мощные возможности для управления инфраструктурой как сервисом, позволяя командам инфраструктуры использовать практики разработки программного обеспечения, такие как версионирование, код-ревью, автоматизированное тестирование и CI/CD. Это делает Terraform идеальным инструментом для DevOps и облачной инженерии.



🔥 ТОП ВОПРОСОВ С СОБЕСОВ



🔒 База собесов | 🔒 База тестовых