IBM HashiCorp «закатывает» поддержку внешних языков Terraform

В дальнейшем, когда вы запускаете программное обеспечение IBM Terraform Infrastructure as Code (IaC), у вас будет один язык для написания конфигураций: язык конфигурации HashiCorp (HCL).

В понедельник HashiCorp, компания IBM, объявила, что больше не будет поддерживать Terraform Cloud Development Kit (CDK или CDKTF). Хотя существующий код останется доступным в архиве GitHub, HashiCorp больше не будет поддерживать или обновлять код, что делает его практически непригодным для использования предприятиями.

«К сожалению, Terraform CDK не нашел продукта, соответствующего рынку в масштабе. HashiCorp, компания IBM, решила сосредоточить свои инвестиции на ядре Terraform и его более широкой экосистеме», — говорится в примечании на сайте.

Сам CDK лицензируется в соответствии с общественной лицензией Mozilla (MPL), поэтому пользователи могут свободно создавать форки самого программного обеспечения, предположили в IBM.

Однако компания поощряет пользователей использовать HCL, разработанный HashiCorp и лицензированный по лицензии Mozilla Public License (MPL), изначально предназначенной для этого программного обеспечения.

Непростая история Terraform

Terraform, первоначально выпущенный в 2014 году компанией HashiCorp, представляет собой программное обеспечение, которое позволяет администраторам автоматизировать развертывание ИТ-инфраструктуры как в облаке, так и локально, с помощью сценариев и набора команд Terraform, таких как terraform init, terraform plan и terraform apply. Вывод отображается в формате JSON.

Со временем Terraform стал самым популярным программным обеспечением для автоматического развертывания ИТ-инфраструктуры, особенно в облачном сообществе.

В 2023 году HashiCorp переключила лицензию Terraform с лицензии с открытым исходным кодом на лицензию для бизнеса, что послужило толчком к созданию пользовательской версии программного обеспечения с открытым исходным кодом под названием OpenTofu, которая была принята Linux Foundation, а затем и Cloud Native Computing Foundation (CNCF).

В 2024 году IBM объявила о приобретении HashiCorp и завершила сделку ранее в этом году.

Планы миграции Terraform CDK

Несмотря на призыв открыть исходный код CDK, IBM призывает нынешних пользователей принять HCL, если они еще этого не сделали.

«Если вы не используете AWS CDK, мы настоятельно рекомендуем перейти на стандартные Terraform и HCL для долгосрочной поддержки и согласования экосистемы», — заявили в компании.

Пользователи Terraform с файлами .tf, созданными в рамках CDK, могут преобразовать их в HCL с помощью следующей команды:

cdktf синтезатор —hcl 1 cdktf синтезатор —hcl

Те, кто использует CDTF в инфраструктуре Amazon Web Services, также могут использовать собственный CDK AWS.

Ограничения IaC

В целом, пользовательская база «Инфраструктура как код», похоже, выходит за рамки ограничений IaC.

В результате за последние несколько лет появилось множество альтернативных подходов к Terraform, в том числе System Initiative Адама Джейкоба и Formae от Platform Engineering Labs.

Они указывают на то, что HCL имеет свои ограничения, особенно для высокомасштабируемых сред. Являясь декларативным языком конфигурации, HCL ограничен в предложении сложных программных конструкций, и многие возникающие в результате обходные пути привели к созданию тупого кода. Инструментарий также ограничен.

Преимущество CDKTF для пользователей заключалось в том, что он позволял им детализировать инструкции по развертыванию на их любимом языке программирования, а не на HCL. CDKTF поддерживает TypeScript, Python, C# и язык программирования Go.

Это также подход, который выбрал конкурент Terraform Pulumi, а именно возможность предоставлять инфраструктуру на любом из множества языков программирования.

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

Реакция сообщества

Тем не менее, многие члены сообщества IaC тяжело восприняли эту новость. Эксперт Kubernetes Дэвид Фланаган отметил, что комплект разработки получил более 140 000 загрузок в неделю только для TypeScript, и аналогичные цифры в других языковых сообществах.

Очевидно, что CDKTF по-прежнему широко используется сообществом, утверждает он.

«Вы не убиваете проект, [an estimated] миллионов пользователей каждый месяц, потому что это никому не нравится или не соответствует рынку. Вы убиваете его, потому что он не увеличивает вашу прибыль и не продает корпоративные лицензии», — сказал Фланаган в коротком видео.

Честно говоря, IBM имеет долгую историю покупки компаний с открытым исходным кодом и сохранения лицензий с открытым исходным кодом, включая Red Hat на базе Linux, Datastax, ориентированный на Cassandra, и, совсем недавно, Confluent на базе Kafka. (Однако не было информации о том, вернет ли IBM лицензию Terraform обратно к открытому исходному коду.)

Далее Фланаган отметил, что люди, вероятно, используют CDKTF, потому что им требуются дополнительные возможности программирования. «Это называется «Инфраструктура как код», а не «Инфраструктура как JSON», — пошутил он.

Инженер по надежности объекта Лиз Фонг-Джонс дала более взвешенный ответ.

«Чтобы быть более мягким в этом вопросе, HashiCorp решила прекратить попытки конкурировать с Pulumi с помощью API-интерфейсов, ориентированных на язык; они все поддерживают HCL как единственный способ работы с Terraform», — написал Фонг-Джонс на BlueSky.

Нужен ли нам язык программирования для IaC?

На самом деле, другие думают, что это может быть неплохой идеей.

Соучредитель и генеральный директор Platform Engineering Labs Павел Барон считает, что шаг IBM имеет смысл.

«IBM исторически хороша в оптимизации для целевого покупателя. Это скорее признак того, что никто на правильной стороне цикла не хочет заниматься полноценным программированием. CDK, включая подход Пулуми, предназначены исключительно для разработчиков. Разработчики обычно не управляют инфраструктурой», — написал он по электронной почте.

«Однако серьезные операции происходят на правильной стороне цикла. Таким образом, CDK упускает целевого пользователя и обращается не к тому. Поэтому я понимаю и поддерживаю логику этого шага».

ТЕНДЕНЦИОННЫЕ ИСТОРИИ YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одной серии. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. Джоаб Джексон — старший редактор The New Stack, специализирующийся на облачных вычислениях и системных операциях. Он освещал вопросы ИТ-инфраструктуры и ее развития более 30 лет, в том числе работал в IDG и Government Computer News. До этого он… Подробнее от Джоава Джексона

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

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