AWS, once reticent about Kubernetes, has found another way for users to incorporate the container software into...
their workloads -- as long as those workloads live on AWS.
AWS Service Operator is an open source tool that lets users manage AWS resources directly from Kubernetes. It's intended to reduce the number of steps needed to build and maintain applications, and improve the overall integration of Kubernetes on AWS. For example, a user could link a cluster to AWS storage buckets or database tables, which would eliminate the need for additional pipelines to provision and maintain that infrastructure.
AWS Service Operator relies on the Kubernetes controller pattern, which packages various basic tasks, integrates disparate components and keeps an application in a desired state. This information is stored on a single API server for the Kubernetes and AWS assets, with AWS services defined as custom resources, and a user can potentially deploy the entire lifecycle process through a single YAML manifest.
Enterprises can access AWS Service Operator through the Kubernetes command-line interface, and use the tool with Amazon Elastic Container Service for Kubernetes (EKS) or manually deploy Kubernetes clusters.
There are many other "operator" extensions for Kubernetes -- an approach that Red Hat first modeled. This move from AWS follows a natural evolution, as vendors try to respond to enterprise demand for greater ease of use with Kubernetes-based apps, said Jay Lyman, a 451 Research analyst.
"It really comes down to automating and simplifying things that would otherwise require a bit more labor," he said. "What used to take three to five steps now is reduced to one or two steps."
AWS Service Operator could serve as an alternative to HashiCorp Terraform, or even AWS CloudFormation, AWS said in a blog post about the alpha release. It integrates with S3, DynamoDB, Amazon Elastic Container Registry, Amazon Simple Notification Service and Amazon Simple Queue Service, with more services expected to be added in the future.
Open source in name only?
Early on, Amazon was tepid in its embrace of Kubernetes on AWS. The cloud provider was the first to roll out a managed container service, Amazon Elastic Container Service (ECS), but built that product on a proprietary orchestration layer to better integrate with its native services. It wasn't until Kubernetes became the de facto industry standard -- and well after Google and Microsoft put it at the center of their container strategies -- that AWS added EKS.
AWS Service Operator is a nod to the popularity of Kubernetes, but it doesn't appear to do much to bolster application portability, which is one of the more attractive aspects of containers.
Etc.io, a Dallas-based consulting firm, doesn't use any AWS container services at scale, and relies primarily on Google Container Engine. AWS Service Operator could make it more convenient to use Kubernetes on AWS, but it doesn't help organizations that want to move to a microservices architecture that doesn't rely on a single vendor, said E.T. Cook, managing partner at Etc.io.
"We prioritize platform-agnostic solutions rather than look for abstractions to make our tooling work with platform-specific offerings," he said. "Although it certainly is convenient to be able to define the resources as [Custom Resource Definitions], using these types of custom definitions reflects a vendor-specific strategy."
The decision to go open source reflects the container market's evolution, even though this particular tool is really only intended for AWS, Lyman said.
"It's almost a basic requirement of container software to be open source or connected to an open source project," he said.
Despite the initial trepidations about Kubernetes, which was open sourced by Google, AWS executives have claimed the majority of Kubernetes-based workloads are hosted on its cloud.
AWS also has Fargate, a tool for users to abstract containers away from the underlying infrastructure, which AWS manages internally. This service is currently only available through Amazon ECS, though Amazon EKS support is expected to be added at some point this year.