Рубрики
Uncategorized

Pulumi — IAC на вашем любимом языке программирования!

Дежол Инструмент месяца — это серия, где каждый месяц я ввел один новый полезный инструмент DEVOPS в 2021 году … Помечено пулуби, DevOps, IAC, учебником.

Дежол инструмент месяца (7 части серии)

Дежол Инструмент месяца это серия, где каждый месяц я представляю один новый полезный инструмент DevOps в 2021 году 🙌 🏼

Ибо я выбрал: Пулуби 🎉 — современная инфраструктура в качестве кодового инструмента для разработчиков.

Что такое пулуби и как он отличается от других инструментов IAC 💡

При написании сценариев IAC используют другие инструменты, вы обычно должны использовать DSL (например, HCl в случае террафора) этого инструмента или YAML или JSON, который является форматом, который использует многие инструменты.

Проблема с ямлем или JSON: Легко читать и легко определить ресурсы, которые вы хотите создать, и это здорово.

Но что, если нам нужно добавить какую-то логику там, как

  • Условные условные, «Создайте этот экземпляр EC2, если XYZ»
  • или используйте петли, как «я хочу создать 20 экземпляров EC2 с той же конфигурацией»
  • Или как насчет повторной использования логики? Нравиться, » Все 20 экземпляров с этим общим конфигом, плюс некоторые конкретные конфиги »

Он получает довольно сложный в таких форматах. Таким образом, все эти логические операции, петли, повторное использование блоков кода является естественной частью любого языка программирования, верно?

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

Pulumi позволяет писать инфраструктуру как код в языке программирования .

Теперь какой язык программирования это? 🤔 Ну, вы действительно можете выбрать, какой язык вы хотите использовать пульби. Вы можете написать это в Node.js, Python, .NET и т. Д.

Таким образом, вместо того, чтобы узнать новый синтаксис или DSL или новый язык, вы можете использовать язык, в котором вы наиболее опытны и используете его для написания инфраструктуры в качестве кода. 👍.

Основные преимущества использования языка программирования по вашему выбору 🤩

1) Используйте те же инструменты программирования, которые вы знаете для инфраструктуры Если вы кодируете в Python, вы, вероятно, имеете самые пригодные для него для него, например, Pycharm, вы установили все плагины для этого языков, вы настроили связь сразу, если у вас есть ошибка в коде или предупреждении в вашем качестве кода. Вы знаете все основные библиотеки, которые вы можете использовать в вашем коде и т. Д.

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

2) лечить инфраструктуру как код в качестве кода приложения Другая вещь, которую мы видим возникающим и становящимся стандартом, является Лечение нашей инфраструктуры в качестве кода точно так же, как наш код приложения Отказ

Который включает в себя E.g. Тестирование кода. Имеющие модульные тесты, тесты интеграции и т. Д. Таким образом, с форматом YAML и JSON или DSL, как HCl, что использует террафору, довольно сложно написать тесты для этих сценариев.

С пулуби, очевидно, у вас есть преимущество просто написания тестов для вас IAC, как для вашего приложенного кода, используя те же тестовые библиотеки, одинаковый язык, тот же редактор и т. Д. 🙌 🏼

Как работает пулуби на практике 👩🏻 💻

Проверьте видео, чтобы увидеть, как работает пулуби на практике. Я покажу вам, как написать простую Pulumi Project для сначала создать ведро S3 в учетной записи AWS, а затем более реалистичный пример обеспечения кластера EKS:

Более удивительные инструменты, которые появляются рядом с этой серией, Так что оставайся настроен на это! 🎬 😊.

Вроде, поделиться и следуй за мной 😍 Для получения дополнительной информации:

Дежол инструмент месяца (7 части серии)

Оригинал: «https://dev.to/techworld_with_nana/pulumi-iac-in-your-favorite-programming-language-3i1m»