KubeCon: убийца Terraform, созданный на базе Pkl от Apple

АТЛАНТА — Терраформ сбил тебя с толку? YAML заставил вас коситься глаз?

Стартап Platform Engineering Labs решил постоянную головную боль, которая была для многих «Инфраструктура как код» (Iac), используя малоизвестный язык конфигурации от Apple Corp., называемый Pkl, а также архитектуру серверной части на основе агентов.

Получившаяся в результате платформа с открытым исходным кодом называется Formae. Участники KubeCon+CloudNativeCon North America, которые пройдут здесь на этой неделе, смогут увидеть демо-версию Formae на стенде № 2152.

Проблема инфраструктуры как кода

Инфраструктура как код — это практика сохранения конфигурации вашей системы в файле, обычно с использованием YAML или JSON, который оркестраторы IaC затем используют в качестве набора инструкций для развертывания инфраструктуры. Преимущества, которые обещает IaC, — это автоматическое развертывание (экономия времени в реальном времени) и защита от дрейфа системы, когда системы выходят из желаемого состояния (обычно из-за ручного вмешательства).

Однако после того, как все настроено один раз, работа с IaC на второй день может стать головной болью, утверждает Павел Барон, соучредитель и генеральный директор Platform Engineering Labs, в интервью The New Stack. Файлы IaC — хрупкие вещи. Они быстро становятся сложными и трудными для понимания, их легко испортить с помощью теневой ИТ-работы и легко допустить ошибки. Они не дают никаких указаний относительно того, правильны ли ценности, которых они придерживаются.

«Мы построили Форме из собственной боли», — сказал Барон.

Сам Бэрон был одним из основателей поставщика программного обеспечения для наблюдения Instana, который был куплен IBM в 2020 году. Он оставался в IBM до тех пор, пока компания не приобрела HashiCorp, и не увидел возможности в сфере автоматизации ИТ. Бэрон пригласил Закари Шнайдера из Инстаны на должность технического директора новой компании.

В Инстане оба на собственном опыте испытали головную боль, которую могут вызвать операции.

«Мы всегда говорили об одном: как получается, что разработчики получают все новые блестящие вещи, а специалисты по эксплуатации — нет», — вспоминает Барон. «Как мы можем это улучшить?»

Как работает Формае

В среде Formae отдельный ИТ-ресурс извлекается в артефакт декларативного кода с версией, называемый «формой» (что является латинским единственным словом «форма»), который затем можно запрограммировать.

В отличие от Terraform или Pulumi, управление состоянием в Formae осуществляется не самими клиентами, а агентами, чтобы предотвратить дрейф системы. Изменения вносятся так же, как и обновления безопасности, минимизируя радиус поражения каждого обновления.

Оператор также может использовать интерфейс командной строки для непосредственного внесения изменений. Несколько человек могут выдавать команды, и они выстраиваются в очередь для выполнения. Ресурсы являются версиями и хранятся в хранилище данных.

Представляем ПКЛ

Код написан на необычном языке Apple Pkl, который компания разработала самостоятельно для управления развертыванием собственных систем.

Pkl отличается от JSON и YAML тем, что заставляет пользователей разрабатывать схему для каждого типа ресурса вместе с аннотацией типа. При использовании аннотации типа значения типа — а иногда даже диапазон допустимых значений — уже установлены для самой переменной. Таким образом, меньшее количество опечаток может проникнуть в систему и нарушить работу.

Это то, чего YAML не делает. Он не предлагает никаких указаний относительно того, какими должны быть значения. Он не проверяет правильность введенных вами значений.

Эти аннотации Pkl могут предупреждать разработчиков о том, какой у них выбор. Он также обеспечивает основу, на основе которой можно создать дополнительные инструменты для дальнейшей автоматизации развертывания.

«Так что, если вы хотите делать с Pkl низкоуровневые вещи, с функциями, классами и чем-то еще, вы это получите», — сказал Барон. «Если вы хотите просто объявить на высоком уровне некоторые свойства какого-либо объекта, вы тоже можете это сделать».

Например, разработчики платформ могут использовать Formae для установки всех возможных размеров системы баз данных, доступных разработчикам. Сами разработчики могут просто выбрать один из множества вариантов (т. е. маленький, средний, большой), который лучше всего соответствует их потребностям.

Конечно, практика развертывания инфраструктуры готова к совершенствованию, но сможет ли Формаэ утолить зуд? Загляните на стенд Platform Engineering Labs на KubeCon и убедитесь в этом сами.

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

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

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