HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Сегодня мы собираемся погрузиться в то, что такое Terraform, почему он полезен, как он сравнивается с другими инструментами и каковы трудности его использования.</p>
1 <p>Сегодня мы собираемся погрузиться в то, что такое Terraform, почему он полезен, как он сравнивается с другими инструментами и каковы трудности его использования.</p>
2 <p><strong>Terraform</strong>-- это инфраструктура с открытым исходным кодом, основанная на CLI как инструмент кода, созданный компанией Hashicorp. Terraform является облачным агностиком и работает со всеми основными облачными провайдерами: AWS, GCP и Azure. Не путайте его с Terraform Cloud, который является платным хостинговым решением Hashicorp для Terraform.</p>
2 <p><strong>Terraform</strong>-- это инфраструктура с открытым исходным кодом, основанная на CLI как инструмент кода, созданный компанией Hashicorp. Terraform является облачным агностиком и работает со всеми основными облачными провайдерами: AWS, GCP и Azure. Не путайте его с Terraform Cloud, который является платным хостинговым решением Hashicorp для Terraform.</p>
3 <p>Terraform использует “провайдеров” для интеграции с различными сервисами. Многие поставщики уже существуют для центральных вариантов использования Terraform (обычно облачных приложений). Terraform также имеет несколько менее известных поставщиков, которые позволяют управлять другими популярными поставщиками, такими как Stripe и Auth0.</p>
3 <p>Terraform использует “провайдеров” для интеграции с различными сервисами. Многие поставщики уже существуют для центральных вариантов использования Terraform (обычно облачных приложений). Terraform также имеет несколько менее известных поставщиков, которые позволяют управлять другими популярными поставщиками, такими как Stripe и Auth0.</p>
4 <h2>Чем полезен Terraform?</h2>
4 <h2>Чем полезен Terraform?</h2>
5 <p>Чтобы понять, почему Terraform полезен, нам нужно понять принципы инфраструктуры как кода. Инфраструктура как код -- это слишком большая тема, чтобы охватить ее только в этой статье. Так что давайте сделаем супер быстрый вихревой тур…</p>
5 <p>Чтобы понять, почему Terraform полезен, нам нужно понять принципы инфраструктуры как кода. Инфраструктура как код -- это слишком большая тема, чтобы охватить ее только в этой статье. Так что давайте сделаем супер быстрый вихревой тур…</p>
6 <p>Давайте начнем с антитезиса к инфраструктуре как коду: создание и обновление инфраструктуры вручную. Когда инфраструктура создается вручную, знания оказываются в ловушке в головах людей, и будущие обновления пугают, неповторимы, трудны и недокументированы.</p>
6 <p>Давайте начнем с антитезиса к инфраструктуре как коду: создание и обновление инфраструктуры вручную. Когда инфраструктура создается вручную, знания оказываются в ловушке в головах людей, и будущие обновления пугают, неповторимы, трудны и недокументированы.</p>
7 <p>Но именно здесь может помочь инфраструктура как код. Сохраняя конфигурации инфраструктуры в коде и не внося изменений вручную, инженеры могут применять процессы, такие как проверка кода, и к своим изменениям инфраструктуры. Код действует как документация и становится историей изменений.</p>
7 <p>Но именно здесь может помочь инфраструктура как код. Сохраняя конфигурации инфраструктуры в коде и не внося изменений вручную, инженеры могут применять процессы, такие как проверка кода, и к своим изменениям инфраструктуры. Код действует как документация и становится историей изменений.</p>
8 <p><strong>Terraform</strong>- это инструмент, помогающий реализовать инфраструктуру в виде кода, и поэтому преимущества Terraform в некоторой степени синонимичны. С помощью Terraform вы можете хранить конфигурации в системе управления версиями, вы можете безопасно и повторяемо применять изменения.</p>
8 <p><strong>Terraform</strong>- это инструмент, помогающий реализовать инфраструктуру в виде кода, и поэтому преимущества Terraform в некоторой степени синонимичны. С помощью Terraform вы можете хранить конфигурации в системе управления версиями, вы можете безопасно и повторяемо применять изменения.</p>
9 <h2>Как работает Terraform</h2>
9 <h2>Как работает Terraform</h2>
10 <p>Итак, мы обсудили преимущества Terraform, но как он на самом деле работает? Как выглядит работа с Terraform? Давайте посмотрим на это сейчас…</p>
10 <p>Итак, мы обсудили преимущества Terraform, но как он на самом деле работает? Как выглядит работа с Terraform? Давайте посмотрим на это сейчас…</p>
11 <p>Терраформ работает по написанной конфигурации ресурсов с помощью HCl (специально разработанный язкык). Эти блоки ресурсов определяются поставщиком, но все они соответствуют одним и тем же шаблонам и структуре.</p>
11 <p>Терраформ работает по написанной конфигурации ресурсов с помощью HCl (специально разработанный язкык). Эти блоки ресурсов определяются поставщиком, но все они соответствуют одним и тем же шаблонам и структуре.</p>
12 <p>Когда конфигурация будет написана, инженер выполнит команду Terraform plan. План терраформа - это, по сути, сухой прогон, который показывает изменения, которые были бы сделаны, если бы изменения были действительно применены.</p>
12 <p>Когда конфигурация будет написана, инженер выполнит команду Terraform plan. План терраформа - это, по сути, сухой прогон, который показывает изменения, которые были бы сделаны, если бы изменения были действительно применены.</p>
13 <p>После того, как инженер доволен изменениями, он применит команду, чтобы сохранить изменения. Затем Terraform apply запускает базовый поставщик и начинает создавать, обновлять или удалять ресурсы инфраструктуры.</p>
13 <p>После того, как инженер доволен изменениями, он применит команду, чтобы сохранить изменения. Затем Terraform apply запускает базовый поставщик и начинает создавать, обновлять или удалять ресурсы инфраструктуры.</p>
14 <h2>Пример использования Terraform</h2>
14 <h2>Пример использования Terraform</h2>
15 <p>Ладно, до сих пор наши описания были абстрактными. Чтобы сделать вещи более конкретными, давайте рассмотрим некоторые реальные примеры вещей, которые вы можете построить с помощью Terraform, и как это выглядит в реальности.</p>
15 <p>Ладно, до сих пор наши описания были абстрактными. Чтобы сделать вещи более конкретными, давайте рассмотрим некоторые реальные примеры вещей, которые вы можете построить с помощью Terraform, и как это выглядит в реальности.</p>
16 <p>Развертывание веб-сайта на AWS - Terraform можно использовать для создания облачных ресурсов, таких как базовые (или сложные) веб-сайты на AWS. Вы можете сделать это, создав инстанс на S3 с Terraform, например…</p>
16 <p>Развертывание веб-сайта на AWS - Terraform можно использовать для создания облачных ресурсов, таких как базовые (или сложные) веб-сайты на AWS. Вы можете сделать это, создав инстанс на S3 с Terraform, например…</p>
17 resource “aws_s3_bucket” “mywebsiteResource” { bucket = “yourlovelywebsite.com” acl = “public-read” policy = “${file(“policy.json”)}” website { index_document = “index.html” error_document = “error.html” } }<p>Создание сетевой инфраструктуры на GCP-Terraform можно использовать для создания базовой инфраструктуры на GCP. Затем Terraform можно использовать для создания дополнительных приложений или сервисов на этой базовой платформе. Вы можете сделать это с помощью поставщика DHCP для создания необходимых сетевых компонентов, например…</p>
17 resource “aws_s3_bucket” “mywebsiteResource” { bucket = “yourlovelywebsite.com” acl = “public-read” policy = “${file(“policy.json”)}” website { index_document = “index.html” error_document = “error.html” } }<p>Создание сетевой инфраструктуры на GCP-Terraform можно использовать для создания базовой инфраструктуры на GCP. Затем Terraform можно использовать для создания дополнительных приложений или сервисов на этой базовой платформе. Вы можете сделать это с помощью поставщика DHCP для создания необходимых сетевых компонентов, например…</p>
18 resource “google_compute_network” “vpc_network” { name = “vpc-network” }<p>Создание инвиронтментс Heroku-Terraform можно использовать для создания инвиронтментс по требованию в Heroku. Вы можете сделать это через провайдера Heroku следующим образом…</p>
18 resource “google_compute_network” “vpc_network” { name = “vpc-network” }<p>Создание инвиронтментс Heroku-Terraform можно использовать для создания инвиронтментс по требованию в Heroku. Вы можете сделать это через провайдера Heroku следующим образом…</p>
19 resource “heroku_app” “myHerokuApp” { name = “a-go-application” config_vars = { PASSWORD = “shhhh!” } buildpacks = [ “heroku/go” ] }<h2>Другие инструменты</h2>
19 resource “heroku_app” “myHerokuApp” { name = “a-go-application” config_vars = { PASSWORD = “shhhh!” } buildpacks = [ “heroku/go” ] }<h2>Другие инструменты</h2>
20 <p>Существует множество различных инфраструктур в качестве инструментов кода. Поэтому, естественно, вы можете задаться вопросом: как Terraform сравнивает и когда вы должны использовать каждый из них? Давайте быстро посмотрим, как Terraform сравнивается как с облачными альтернативами, так и с инструментами управления конфигурацией.</p>
20 <p>Существует множество различных инфраструктур в качестве инструментов кода. Поэтому, естественно, вы можете задаться вопросом: как Terraform сравнивает и когда вы должны использовать каждый из них? Давайте быстро посмотрим, как Terraform сравнивается как с облачными альтернативами, так и с инструментами управления конфигурацией.</p>
21 <h2>Облачные инструменты</h2>
21 <h2>Облачные инструменты</h2>
22 <p>Большинство крупных облачных провайдеров имеют свою собственную инфраструктуру в качестве инструмента программирования. В AWS это CloudFormation. На первый взгляд образование облаков может показаться очень похожим на терраформирование. Так что же отличает их друг от друга?</p>
22 <p>Большинство крупных облачных провайдеров имеют свою собственную инфраструктуру в качестве инструмента программирования. В AWS это CloudFormation. На первый взгляд образование облаков может показаться очень похожим на терраформирование. Так что же отличает их друг от друга?</p>
23 <p>Во-первых, Terraform отличается тем, что является открытым исходным кодом и облачным агностиком. Из-за того, что Terraform не привязан к какому-либо конкретному поставщику, это означает, что технология и навыки Terraform могут быть использованы на многих различных платформах, а несколько инструментов не требуются, и навыки не нужно изучать.</p>
23 <p>Во-первых, Terraform отличается тем, что является открытым исходным кодом и облачным агностиком. Из-за того, что Terraform не привязан к какому-либо конкретному поставщику, это означает, что технология и навыки Terraform могут быть использованы на многих различных платформах, а несколько инструментов не требуются, и навыки не нужно изучать.</p>
24 <p>Второе большое различие заключается в особенностях Terraforms (в частности, язык Terraform написан на HCL), который можно считать вполне проприетарным и поддерживаемым большим и восторженным сообществом с открытым исходным кодом.</p>
24 <p>Второе большое различие заключается в особенностях Terraforms (в частности, язык Terraform написан на HCL), который можно считать вполне проприетарным и поддерживаемым большим и восторженным сообществом с открытым исходным кодом.</p>
25 <h2>CHEF, PUPPET, ANSIBLE, SALTSTACK</h2>
25 <h2>CHEF, PUPPET, ANSIBLE, SALTSTACK</h2>
26 <p>Такие инструменты, как Chef, Puppet и Ansible, используются в основном для управления конфигурациями (обычно применяются к уже существующей инфраструктуре). В то время как Terraform предназначена для создания, редактирования и уничтожения ресурсов.</p>
26 <p>Такие инструменты, как Chef, Puppet и Ansible, используются в основном для управления конфигурациями (обычно применяются к уже существующей инфраструктуре). В то время как Terraform предназначена для создания, редактирования и уничтожения ресурсов.</p>
27 <p>Тем не менее, Terraform можно довольно хорошо использовать вместе с инструментами управления конфигурацией. Например, Terraform может устанавливать инструменты управления конфигурацией на ресурсы, чтобы эти инструменты можно было использовать в тандеме.</p>
27 <p>Тем не менее, Terraform можно довольно хорошо использовать вместе с инструментами управления конфигурацией. Например, Terraform может устанавливать инструменты управления конфигурацией на ресурсы, чтобы эти инструменты можно было использовать в тандеме.</p>
28 <p><em>Больше статей читайте<a>здесь</a>.</em></p>
28 <p><em>Больше статей читайте<a>здесь</a>.</em></p>
29  
29