Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Amazon Announces the Preview of AWS Controllers for Kubernetes (ACK)

Amazon Announces the Preview of AWS Controllers for Kubernetes (ACK)

This item in japanese

AWS Controllers for Kubernetes (ACK) is a new tool by AWS allowing users to manage AWS services from Kubernetes directly. In a blog post, the public cloud vendor states the tool will make it easy to build scalable and highly-available Kubernetes applications that utilize AWS services.

ACK is the open-source relaunch of the AWS Service Operator project, which was first introduced back in 2018. The project has been renamed to ACK and has additional features based on the feedback from internal stakeholders and the community. According to the blog post, ACK has the following updates:

  • Direct management of AWS resources through APIs instead of CloudFormation.
  • The AWS Kubernetes team builds and maintains the project.
  • Code for the controllers and custom resource definitions are automatically generated from the AWS Go SDK.

Furthermore, the authors of the blog post explain how ACK works from a high-level perspective:

1.    We, as in "the project team lead by the authors", generate and maintain a collection of artifacts (binaries, container images, Helm charts, etc.). These artifacts are automatically derived from the AWS services APIs and represent the business logic of how to manage AWS resources from within Kubernetes.
2.    As a cluster admin you select one or more ACK controllers you want to install and configure for a cluster you are responsible.
3.    As an application developer, you create (Kubernetes) custom resources representing AWS resources.
4.    The respective ACK controller (installed in the step 2.) manages the custom resources and with it the underlying AWS resources. Based on the custom resource defined in the step 3., the controller creates, updates, or deletes the underlying AWS resources using the AWS APIs.


AWS is not the only public cloud provider offering tooling to manage cloud platform resources from Kubernetes. Google, for instance, released the beta version of Config Connector on its Cloud Platform (GCP) late last year – which is now generally available since February of this year. Furthermore, Microsoft announced Azure Service Operator in June, and Crossplane, offering a more generic solution.

Kelsey Hightower, a staff developer advocate at Google, stated in a tweet:

AWS Controllers for Kubernetes is pretty dope. You can leverage Kubernetes to manage AWS resources such as API gateways and S3 buckets. Think Terraform but backed by Kubernetes style APIs and "realtime" control loops.

Although, others might disagree with a respondent on Reddit thread stating:

Trying to figure out what AWS is trying to do other than having a tool to vendor lock people to an AWS-only version of Crossplane.

Currently, ACK is in developer preview and supports Amazon SNS, Amazon SQS, Amazon API Gateway V2, Amazon DynamoDB, and Amazon ECR. And AWS expects to onboard more service such as the Amazon Relational Database Service (RDS) and ElastiCache. Furthermore, the company will also add new features like cross-account resource management and native application secret integration soon.

Rate this Article