- OpenTofu (форк Terraform) зроблений компаніями-конкурентами, щоб і далі заробляти на Terraform після зміни ліцензії HashiCorp у версії 1.6. Жодна з них не інвестує на рівні HashiCorp, тому продукт і екосистема однозначно програють Terraform.
- Pulumi – IaC, який просувається за рахунок можливості описувати інфру на вашій улюбленій мові програмування (не треба вчити ще одну мову, як для Terraform). Але з розквітом AI-enabled development ця перевага для мене повністю втратила сенс. Якщо хочеться погратися з таким підходом – подивіться CDK for Terraform: робить те саме, але залишає вас у найпопулярнішій екосистемі. Також не рекомендую через дорогу бізнес-модель – платити $0.37 за ресурс у кожному стеку / оточенні – це дорого для IaC.
- Vendor-specific IaC – CloudFormation від AWS, Azure Resource Manager, Cloud Deployment Manager від Google Cloud. Не рекомендую, бо жорстко прив’язують вас до екосистеми одного вендора.
- IaC від frontend-інженерів – alchemy.run, sst.dev та інші. Категорію назвав так, бо вона нагадує: «я не розібрався в наявних фреймворках – тому зробив свій». Виглядають цікаво, і можна отримати користь, якщо розібратись, як вони працюють. Але – низький adoption, незрозуміло, хто за ними стоїть і скільки вони протримаються на ринку – тому не можна використовувати для комерційних проєктів.
- Infrastructure from Code (IfC) – почитати можна тут. Сайт зроблений командою ampt. Змішує код і опис інфраструктури. Підхід не новий – так працює, наприклад, Firebase Functions. Але на практиці створює більше проблем, ніж переваг, і замикає вас у фреймворк, нав’язаний тулом.
Завершу фразою зі списку «Ось що я хотів би знати як професіонал, коли мені було 30»:
Ми обираємо не просто інструмент або фреймворк – ми обираємо цілу екосистему і спільноту.
Так от, мій вибір – Terraform, бо в нього найбільш розвинена екосистема (є, по суті, будь-який провайдер і багато крутих утиліт) і класне ком’юніті.