Pulumi завершила первый эволюционный скачок к native-провайдерам

08.03.2021

Для Pulumi, как компании, пойти по пути обвязок поверх terraform-провайдеров, вместо написания собственных, было просто шикарной идеей. Это позволило им сосредоточиться на разработке уникальных фич, таких, как поддержка языков, фреймворки тестирования, интеграция с IDE и далее по списку. Все перечислять не буду, уже есть в докладе на DevOps Moscow.

Однако, несмотря на то что такой шаг позволил быстро занять свою нишу на рынке, он же и является ограничителем дальнейшего развития. Нельзя выйти на принципиальную лучшесть, если большая часть кода твоего продукта, это код твоего конкурента. В Pulumi это прекрасно понимают и поэтому интеграция с kubernetes изначально была нативной pulumi-kubernetes, а после выросла в kubernetesx. Этой весной в GA переходит первый нативный провайдер для облака, сильно отличающийся от всего что есть у конкурентов!

Речь идет про pulumi-azure-native. Принципиальное отличие в том что это первый провайдер, который покрывает 100% API облака. Если у облака появляется новая фича, она появляется в провайдере в течение нескольких часов, совершенно не требуя участия разработчиков! Достигается это за счет генерации всего провайдера по спекам облака. Просто CI-ка срабатывает на появление новых изменений в спеке API и генерирует новый релиз, все просто ¯_(ツ)_/¯

Анонс первой публичной версии azure-native был еще осенью и уже на тот момент его уровень покрытия был почти в два раза выше, чем у azure провайдера, работающего поверх terraform’а.

Переход на native-провайдер позволило добавить и новых фич, которые до этого невозможно было реализовать.

Top-level resources. Это когда ты используешь ресурс, явно не указывая версию API. В этом случае Pulumi за тебя выберет наиболее стабильную версию.

Auto-naming. Имя сущности в облаке выставляется автоматически, выглядит как <имя ресурса>-<случайный суффикс>. Если сущности не нужно иметь глобальное имя в рамках облака, то суффикс не добавляется. Я этой фичей активно пользуюсь в Kubernetes.

Очень рад, что в Pulumi совершили очередной эволюционный скачок, надеюсь, дальше больше :)

P.S. На днях я сделал pulumi provider Yandex.Cloud. Он пока не доступен в виде публичных пакетов и там нет полноценного README, но если вам уже не терпится начать им пользоваться, можете написать мне в telegram @aladmit или на почту [email protected], помогу с запуском.

Почитать подробнее:

Я консультирую о том о чем пишу, связаться со мной можно через telegram @aladmit или по почте [email protected]

Подпишись, чтобы не пропустить новые статьи Telegram