Skip to content
SPECIFICTION
Get listed

AWS CDK vs AWS Controllers for Kubernetes

AWS CDK

aws.amazon.com

AWS Controllers for Kubernetes

aws-controllers-k8s.github.io

Side by side

FigureAWS CDKAWS Controllers for Kubernetes
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYes—
macOSYes—
LinuxYes—
API—Yes
Self-hosted—Yes
Plans published12
Spec score · Infrastructure as Code Tools8.0 (#7)7.9 (#8)
Intended usersAWS describes CDK as a framework for developers and administrators defining cloud infrastructure with supported programming languages.The documentation recommends EKS Capabilities for EKS users seeking a managed experience and self-managed installation for users needing version and configuration control or running other Kubernetes environments.
PurposeAWS CDK lets you define cloud application resources using familiar programming languages.ACK lets users define and manage AWS resources directly from Kubernetes using Kubernetes custom resources.

Plans

AWS CDK

  • AWS CDKFree

AWS CDK pricing →

AWS Controllers for Kubernetes

  • Self-managed ACKFree
  • ACK EKS CapabilityPriced on request

AWS Controllers for Kubernetes pricing →

In their own words

AWS CDK

AWS CDK is a framework for defining AWS cloud application infrastructure with familiar programming languages and deploying it through AWS CloudFormation. Stable bindings are available for TypeScript, JavaScript, Python, Java, C#/.NET, and Go. The AWS Construct Library supplies reusable constructs for AWS services and features. CDK Pipelines supports CI/CD deployment to testing, integration, and production environments. In Visual Studio Code, the AWS CDK Explorer preview can browse projects, stacks, resources, and policies. The tool supports AWS only and provides managed state, policy as code, drift detection, importing existing resources, and self-hosted execution. CDK itself has no charge, although deployed AWS resources may incur charges. Developers need Node.js 22.x or later regardless of application language. Deployments use configured AWS credentials and IAM roles. AWS recommends IAM security practices, and custom constructs cannot guarantee compliance because general-purpose code can bypass their checks.

Visit aws.amazon.com

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.

Visit aws-controllers-k8s.github.io