Must the deployment engine be CloudFormation (not just compatible)?
Choosing “Yes” excludes tools that do not deploy through CloudFormation directly.
This page documents the data, questions, and rules used by the decision model. It is a reference, not a global ranking.
For data and contribution details, see the contributing guide.
Inspect the comparison table with source references.
Review tool facts side by side, including focus area, definition model, supported languages, and state model.
Open comparison tableThe questionnaire uses these prompts and options.
Choosing “Yes” excludes tools that do not deploy through CloudFormation directly.
Declarative includes templates (YAML/JSON), HCL, or Kubernetes-style manifests. Code-first means authoring infrastructure in a general-purpose language (Python/TypeScript/etc.). Choosing code-first required excludes DSL-based tools like Terraform/OpenTofu (HCL).
This helps distinguish infrastructure provisioning, configuration management, and control-plane orchestration.
This refers to managing infrastructure through continuously reconciled APIs (often Kubernetes-based), rather than running one-off apply operations.
AWS-native favors tools built around AWS services. AWS-only means AWS today, but portability may still matter. Multi-cloud targets multiple providers.
Some tools require you to run and maintain a state backend yourself. Managed state services count as tool-managed. Example: self-managed includes S3 + DynamoDB locking (Terraform/OpenTofu). Tool-managed includes CloudFormation stacks or managed backends like Terraform Cloud.
A managed service handles storage, locking, and history for state. This is separate from provider-native engines like CloudFormation.
Rules exclude tools that violate constraints, then apply weights to rank the rest.
These rules remove tools that fail a required condition.
These rules add weight based on selected preferences.