Что такое Terraform

Terraform — это open-source программное обеспечение Infrastructure as code (IaC) или по-русски «инфраструктура как код», созданное HashiCorp. Это ПО позволяет администраторам описывать и разворачивать инфраструктуру ЦОД в облачных сервисах с помощью высокоуровневого языка конфигурации, известного как Hashicorp Configuration Language (HCL) или, опционально, JSON. Terraform поддерживает ряд поставщиков облачной инфраструктуры, таких как Amazon Web Services (AWS), IBM Cloud (ранее Bluemix), Google Cloud Platform (GCP), DigitalOcean, Linode, Microsoft Azure, Oracle Cloud Infrastructure, OVH, Scaleway, VMware vSphere или Open Telekom Cloud, а также OpenNebula и OpenStack.

При запуске Terraform читает код и, используя представленные провайдерами облачного сервиса плагины, приводит вашу инфраструктуру к описанному состоянию, совершая необходимые вызовы к API. Если перенести управление инфраструктурой в текстовые файлы, то открывается возможность вооружиться всеми излюбленными инструментами для управления исходным кодом и процессами, после чего нацелить их для работы с инфраструктурой. Теперь инфраструктура подчиняется системам контроля версий, точно как исходный код, ее можно точно так же рецензировать или откатывать к более раннему состоянию, если что-нибудь пойдет неправильно.

Так как Terraform это решение с открытым кодом, его развитие поддерживается большим и непрерывно растущим сообществом разработчиков. Terraform, несомненно, крут, и со временем станет только лучше. Эта утилита не станет “убийцей” Salt, Ansible, или Puppet, но по праву займет достойное место в инструментарии любого DevOps инженера.

Организации, стремящиеся к более четкому распределению обязанностей или автоматическому применению политики, могут приобрести обновления команд и управления для Terraform Cloud. Terraform Cloud — это бесплатное приложение SaaS, которое обеспечивает наилучший рабочий процесс для написания и построения инфраструктуры в виде кода с помощью Terraform.

Terraform делает только одну задачу. И делает её хорошо. Задача эта: создать, собрать и настроить ресурсы. Любые ресурсы, которые можно описать в виде набора свойств, понятных провайдеру этих самых ресурсов. В первую очередь речь идёт о ресурсах наших вычислительных облаков.

Terraform — это не есть единое API для всех облаков. За единым API необходимо прибегнуть к Kubernetes. Terraform — это единый способ описания ресурсов. И даже, возможно, сразу в нескольких облаках. Но вот сами типы ресурсов, их имена и атрибуты, будут в каждом облаке свои.

Явные преимущества состоят в следующих пунктах:

  • Очень грамотная и качественная документация, отвечающая практически на любые вопросы инженера
  • Декларативность и понятность синтаксиса конфигурации
  • Возможность работы, как с популярными провайдерами вроде AWS так и с “Ad Hoc решениям”
  • Управление состоянием. Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, какую следует удалить, а какую — добавить
  • Open Source и очень активное коммьюнити, оно помогает инструменту стремительно развиваться и соответствовать всем требования рынка
  • Иммутабельность

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.


Unlix © Все права защищены 2020

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!