AWS CloudFormation vs AWS Controllers for Kubernetes
AWS CloudFormation
aws.amazon.comAWS Controllers for Kubernetes
aws-controllers-k8s.github.ioSide by side
| Figure | AWS CloudFormation | AWS Controllers for Kubernetes |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | — |
| iOS | Yes | — |
| API | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 3 | 2 |
| Spec score · Infrastructure as Code Tools | 9.0 (#2) | 7.9 (#8) |
| Founded | 2006 | 2006 |
| Purpose | CloudFormation models, provisions, and manages related AWS and third-party resources as infrastructure as code. | ACK lets users define and manage AWS resources directly from Kubernetes using Kubernetes custom resources. |
Plans
AWS CloudFormation
- AWS CloudFormationFree
- CloudFormation serviceFree
- Third-party resource providersFree
AWS Controllers for Kubernetes
- Self-managed ACKFree
- ACK EKS CapabilityPriced on request
In their own words
AWS CloudFormation
AWS CloudFormation models, provisions, and manages related AWS and third-party resources as infrastructure as code. YAML or JSON templates define AWS resources and their properties. StackSets deploy a common set of resources across multiple AWS accounts and Regions; Change Sets preview proposed stack updates, including possible deletion or replacement, and Drift Detection tracks changes made outside the service. For authoring, AWS CDK supports TypeScript, Python, Java, and .NET, while AWS SAM offers shorthand YAML for serverless resources that is converted during deployment. The CloudFormation Registry supports third-party resources and modules, and stacks can be updated from remote Git repositories. The service is available through API, Linux, macOS, web, and Windows, and manages state. CloudFormation itself has a free plan, with no additional charge for AWS and Alexa resource providers, but created AWS resources are billed at their standard rates. Third-party provider and custom hook operations may also incur charges. Access can be managed with IAM, and CloudTrail logs API calls.
AWS Controllers for Kubernetes
AWS Controllers for Kubernetes (ACK) lets Kubernetes users define AWS resources with Kubernetes custom resources. It periodically compares desired and actual AWS state and corrects drift. Documentation lists 74 service controllers, including S3, RDS, Lambda and DynamoDB. ACK supports declarative, version-controlled infrastructure alongside applications, across AWS accounts and regions. Read-only resources and read-only adoption support migration from other infrastructure-as-code tools. EKS users can install managed EKS Capabilities, where AWS handles controller installation and upgrades with automatic updates, auto-scaling and auto-tuning. Self-managed Helm installation runs on EKS, GKE, AKS, on-premises clusters and local environments, providing version and configuration control. AWS IAM authorizes controller access. Self-managed ACK costs nothing for Helm installation on Kubernetes 1.20+ on any Kubernetes cluster. EKS Capability pricing is hourly, with a base rate per enabled capability plus usage charges for each ACK resource managed.