
Инфраструктура как код
Фримиум

Pulumi — это платформа Infrastructure as Code (IaC), позволяющая разработчикам определять, развертывать и управлять облачной инфраструктурой с помощью языков программирования общего назначения, таких как TypeScript, Python, Go, C# и Java. В отличие от декларативных DSL, таких как HCL (Terraform), Pulumi использует все возможности стандартных IDE, включая статическую типизацию, модульное тестирование и управление пакетами. Платформа поддерживает более 100 облачных провайдеров, включая AWS, Azure, GCP и Kubernetes. Рассматривая инфраструктуру как программное обеспечение, команды могут применять лучшие практики CI/CD, такие как code review и автоматизированное тестирование, непосредственно к своим облачным ресурсам, что значительно снижает риск конфигурационного дрейфа и ошибок при развертывании.
Pulumi обеспечивает первоклассную поддержку TypeScript, Python, Go, C# и Java. Это позволяет разработчикам использовать язык, которым они уже владеют, вместо изучения проприетарных DSL. Используя стандартные конструкции, такие как циклы, условия и классы, разработчики могут создавать модульные, переиспользуемые компоненты инфраструктуры, которые легче поддерживать и тестировать, чем статические конфигурационные файлы.
Pulumi предлагает единый интерфейс для управления ресурсами в AWS, Azure, GCP, Kubernetes и более чем 100 других провайдерах. Платформа абстрагирует сложные облачные API в строго типизированные объекты, обеспечивая автодополнение в IDE и проверку типов. Это устраняет необходимость переключаться между различными инструментами конкретных вендоров, обеспечивая унифицированный рабочий процесс при управлении гибридными или мультиоблачными средами.
Поскольку Pulumi использует стандартные языки программирования, вы можете применять существующие фреймворки тестирования, такие как Jest, Mocha или PyTest, для проверки инфраструктуры. Вы можете писать модульные тесты для проверки свойств ресурсов перед развертыванием и интеграционные тесты, чтобы убедиться, что инфраструктура ведет себя ожидаемым образом. Этот подход 'shift-left' позволяет выявлять ошибки конфигурации на ранних этапах, предотвращая дорогостоящие сбои и уязвимости в продуктовых средах.
Pulumi CrossGuard позволяет командам программно обеспечивать соблюдение политик безопасности и соответствия требованиям. Вы можете писать политики на том же языке, что и инфраструктуру, чтобы предотвратить развертывание несоответствующих ресурсов — например, незашифрованных S3-бакетов или открытых групп безопасности. Эти политики оцениваются на этапе 'pulumi preview', предоставляя разработчикам мгновенную обратную связь до внесения реальных изменений в облачные ресурсы.
Pulumi автоматически управляет состоянием вашей инфраструктуры, отслеживая связь между кодом и развернутыми облачными ресурсами. Платформа обрабатывает сложные графы зависимостей, гарантируя, что ресурсы создаются, обновляются или удаляются в правильном порядке. Бэкенд Pulumi Service предоставляет централизованный источник истины, включая журналы аудита, историю развертываний и контроль доступа на основе ролей для управления инфраструктурой корпоративного уровня.
DevOps-команды используют Pulumi для развертывания и управления кластерами Kubernetes у нескольких облачных провайдеров одновременно. Используя единую кодовую базу, они могут стандартизировать конфигурации кластеров, ingress-контроллеры и service mesh, обеспечивая согласованные шаблоны развертывания независимо от используемого облачного провайдера.
Разработчики, создающие событийно-ориентированные архитектуры, используют Pulumi для определения функций Lambda, API Gateway и таблиц DynamoDB в том же проекте, что и код приложения. Это позволяет выполнять атомарные развертывания, при которых инфраструктура и код приложения версионируются и развертываются вместе.
Команды безопасности внедряют политики CrossGuard, чтобы гарантировать соответствие всей инфраструктуры стандартам организации. Например, они могут автоматически блокировать любое развертывание, в котором отсутствуют обязательные теги ресурсов или используются небезопасные типы инстансов, гарантируя, что требования комплаенса встроены в CI/CD-конвейер.
Им необходимо эффективно управлять сложными мультиоблачными средами. Pulumi позволяет заменить ручные CLI-скрипты и хрупкие YAML-файлы надежным кодом с контролем версий, который легко интегрируется в существующие CI/CD-конвейеры.
Они хотят развертывать собственную инфраструктуру, не изучая специализированные DSL. Pulumi позволяет им использовать привычные языки программирования и IDE, снижая барьер между написанием кода приложения и его развертыванием в облаке.
Им требуется масштабируемый способ определения переиспользуемых шаблонов инфраструктуры в рамках организации. Модель компонентов Pulumi позволяет им создавать внутренние библиотеки «золотых» шаблонов инфраструктуры, которые другие команды могут безопасно использовать.
Бесплатно для индивидуальных пользователей. Командный план начинается от $7 за пользователя в месяц. Доступны корпоративные планы с индивидуальным ценообразованием для расширенной безопасности и SSO.