Infra Stack Review

Platform Engineering Abstractions That Keep Kubernetes Anchored to Your Own AWS Account

Abstractions hide Kubernetes complexity while keeping control in your AWS account.

· 9 min read
Cover illustration for “Platform Engineering Abstractions That Keep Kubernetes Anchored to Your Own AWS Account”
PaaS Alternatives · October 24, 2026 · 9 min read · 2,027 words

Bring your own cloud, or BYOC, means a managed platform deploys workloads into the customer’s cloud account. On AWS, platform engineering can hide Kubernetes from developers while keeping compute, data, and security boundaries inside the team’s account. The right abstraction removes deployment complexity without removing the control needed to manage cost, compliance, and growth.

Why developers hit a wall when Kubernetes is exposed directly

A developer trying to ship a service has to work through a wall of YAML concepts. PodDisruptionBudgets, HorizontalPodAutoscalers, NetworkPolicies, ResourceQuotas, and ServiceAccounts all become prerequisites for running that service safely. This shifts infrastructure decisions onto someone whose job is to build the application, then makes deployment depend on their ability to get those decisions right.

The cost spreads beyond that one developer. Without an abstraction layer, teams reinvent runbooks and need platform expertise for routine deployments. Teams have to learn the same things about running it over and over or ask for help through tickets. Kubernetes offers substantial operational power, but exposing all of it directly turns that power into an organizational tax.

What platform engineering actually is, and what it is not

Platform engineering builds and operates an internal developer platform, or IDP, as a product for internal developers. Its job is to replace runbooks with supported workflows and manual approvals with policy enforced in code. A portal alone does not accomplish that. The platform needs a roadmap and feedback loops, just as any product does.

The platform control plane defines golden paths, access rules, namespace policies, resource quotas, cost attribution, and admission controls. Product teams own the data plane, including their workloads, delivery pipelines, service traffic, and application performance. The platform makes those resources safe to provision. When its team takes on application-performance incidents, it becomes the bottleneck it was meant to remove.

Failure usually starts with losing that product focus. An IDP designed for three teams can collapse into exception tickets as the organization changes. Golden paths built without developer input go unused, while Backstage can become a documentation site with stale catalog data. Without a roadmap, the platform becomes another infrastructure backlog. Without guardrails, self-service leads to cloud spending that no team takes responsibility for.

How ACK and kro turn AWS services into developer-facing Kubernetes APIs

AWS Controllers for Kubernetes, or ACK, lets platform engineers define AWS resources as Kubernetes objects. Its controllers watch YAML manifests and provision resources such as S3 buckets, DynamoDB tables, and IAM roles inside the AWS account. Terraform or CloudFormation is not required for that path. The controller gets IAM permissions, so it can do only what the account’s access rules allow.

Developers are hungry customers who want an application with its dependencies. ACK is the pantry stocked with AWS ingredients. Kube Resource Orchestrator, or kro, supplies the head chef’s recipe card, combining those ingredients into a finished deployment.

That recipe is a Resource Graph Definition, or RGD. It contains a developer-facing schema and a graph of resources and dependencies that the platform team manages. Developers see only the permitted choices. For example, one “WebAppStack” manifest can expand into a Deployment, a Service, and an S3 bucket, with ACK provisioning the bucket in the team’s account.

EKS as the account-anchored substrate that makes this architecture coherent

EKS provides managed Kubernetes control-plane infrastructure with native AWS integration. AWS operates the API server, etcd, controller manager, and scheduler across multiple Availability Zones. It handles control-plane provisioning, certificate rotation, upgrade orchestration, and etcd durability. That removes a substantial operational burden. The team still owns its worker-node choices, networking, cluster add-ons, RBAC, and workload security.

The team’s own account gives it control over those parts of the work. Amazon VPC provides network isolation and subnet design, while IAM connects access to existing AWS governance. CloudWatch and CloudTrail provide metrics, logging, and API-level audit trails. EKS Capabilities includes ACK, kro, and Argo CD, making resource management, orchestration, and delivery part of the managed offering.

This is an AWS commitment. Deep IAM and VPC integration simplifies operations precisely because the architecture uses AWS’s native controls. Moving EKS-native workloads to another cloud would require re-engineering those connections. For a team already committed to AWS, accepting that trade-off can be more defensible than operating its own Kubernetes control plane to preserve theoretical portability.

Designing golden paths that give developers one way to deploy correctly

A golden path turns those primitives into a supported developer workflow. Its RGD schema exposes choices such as service name, image, replica count, and whether a bucket is needed. Everything else follows platform defaults. Developers get a production-ready deployment without configuring the Kubernetes or AWS resources underneath.

The defaults cover how services use security contexts, secrets management, audit logging, and network policies. New service namespaces have Least-privilege access built in, admission controls apply Pod Security Standards, and default-deny NetworkPolicies allow only the connections that have been explicitly allowed. The path embeds organizational policy in provisioning. Developers no longer have to remember the same checklist to meet compliance rules.

The design discipline is to build golden paths with developer input. Otherwise, teams go around the path and return to manual provisioning. American Express reduced toolchain complexity by abstracting multiple tools into a unified IDP, illustrating the value of consolidation when the platform becomes the usable interface.

When an IDP investment is warranted and when it is premature overhead

A small engineering organization running one product may not need a full IDP. Its build and operating costs can exceed the value it delivers. Deferring that investment is a reasonable decision. Larger organizations with multiple products have more to weigh because the work of provisioning the same things and dealing with standards that differ adds up across teams.

For teams approaching that point, the recommended on-ramp is deliberately narrow. Start with one team or application, such as one service deployed through GitOps. Use that first wave to refine templates and golden paths before expanding. Migration then proceeds in waves. Each wave supplies feedback before the platform’s assumptions spread further.

The build-versus-buy objection stems from the platform engineering expertise required to combine ACK, kro, Backstage, Argo CD, and policy tooling. A team without that expertise can spend months assembling infrastructure before developers receive any benefit. Account ownership and an internally built platform are therefore separate decisions, even though they often get treated as one purchase.

GitOps as the delivery mechanism that keeps Git the source of truth for account-anchored workloads

GitOps connects the developer workflow to the account’s running resources. Git stores the desired state, and Argo CD or Flux continuously reconciles the cluster against it. Git replaces kubectl as developers’ production interface. In the EKS pattern, a pull request changes an application manifest or kro resource graph, then the merged definition drives deployment.

Promotion must depend on more than a successful build. Before an image moves ahead, it must pass the required tests and security checks and meet the approval policies. This is where the golden path’s guardrails meet release discipline. Argo CD reconciles the cluster, while ACK reconciles AWS resources in the team’s account against their Kubernetes definitions.

Managed Argo CD removes some of the controller’s operating burden and integrates with AWS Identity Center. Teams still have to register each cluster by ARN as a deployment target, including the local cluster. That makes the target an explicit configuration choice. Across multiple accounts and regions, ApplicationSets extend the same GitHub, Argo CD, and EKS pattern across teams and environments from one control point.

Compliance controls that platform engineering makes automatic rather than audited

The platform team configures the RGD templates and supporting policies once, and each service inherits the required defaults. Least-privilege RBAC is in place when a namespace is created, and admission controls enforce Pod Security Standards. Developers do not reconstruct these controls for every deployment. External Secrets Operator can pull secrets from AWS Secrets Manager as part of the managed delivery setup.

Audit logging needs the same explicit treatment. EKS and AKS disable API-server audit logs by default, while GKE enables admin activity audit logs by default. The platform can enable the required logs and ship them to durable storage. These records support SOC 2 CC7.2, ISO A.8.15, PCI Requirement 10, and HIPAA 164.312(b). Automation keeps gathering evidence as the system runs, so teams can have the records they need before an audit finds them missing.

The tools also have distinct jobs. Trivy scans images for CVEs during CI/CD, Kube-bench checks the CIS Kubernetes Benchmark, and Kube-hunter tests clusters for security weaknesses. None makes compliance automatic by itself. The payoff is a repeatable operating process that remains subject to assessment.

Account boundaries also do not replace contractual requirements. PHI cannot go to a third-party LLM provider without a signed Business Associate Agreement, although eligible API tiers offer a BAA-based route. BYOC keeps the workload data plane inside the organization’s VPCs. That lets teams control where and how workloads run, but they still need to check external API use separately.

GPU and AI workload patterns on EKS that account ownership makes possible

Idle GPUs are a dominant waste source for AI startups running training and inference. Fixing that waste requires control over both node provisioning and application replicas. Karpenter calls EC2 directly to provision nodes and terminates idle GPU nodes automatically. GPU readiness is a separate timing concern. A pre-baked AMI helps shorten the time before a provisioned node can serve GPU workloads.

For fault-tolerant or batch inference, Karpenter supports Spot instances. On-demand capacity remains the recommended choice for latency-sensitive production inference. AWS reduced EKS Auto Mode GPU management fees in July 2026 by 60% for P-series and AWS Trainium instances, with a smaller reduction for G-series instances. That improves the management-fee economics of GPU-heavy deployments.

Effective allocation still starts with measuring actual use. DCGM Exporter provides per-GPU visibility, while NVIDIA GPU Operator supplies MIG Manager for hardware partitioning and time-slicing configuration for shared inference. Karpenter then automates provisioning and termination. These controls work below the developer-facing API.

AWS demonstrated that abstraction at KubeCon Amsterdam 2026 with a kro-based “deploy an agent” golden path. One custom resource covered GPU allocation, vector database connections, and LLM API credentials. The developer interface remained one manifest. For patient-data training, a private cluster inside the team’s account also avoids the co-tenancy leakage risk of a shared GPU cluster.

Cost optimization sequence for EKS clusters running inside your own account

Diagram: The Cost Optimization Sequence for EKS Clusters. Visualizes: Visualize a strict ordered sequence of five cost-optimization steps for EKS clusters, where each step must precede the next.

Cost optimization is a sequence. The recommended first move is to rightsize pods because much of a typical EKS cluster’s provisioned CPU and memory goes unused. Node optimization comes next. Karpenter is the recommended EKS default, calling EC2 directly, supporting Spot, and continuously repacking workloads onto fewer nodes.

The stated provisioning benchmark is 45–60 seconds, with GPU-ready capacity in that interval remaining unguaranteed. After provisioning is tuned, stateless workloads can use Spot with proper fallback. Eligible workloads can then move to AWS Graviton for better price-performance than comparable x86-based EC2 instances. These changes cut how much the workloads need before teams decide how much spending to commit to.

Compute Savings Plans belong at the end. Buying commitments before rightsizing can lock in waste for one to three years, even if the committed rate looks attractive. Owning the account exposes the compute controls behind this sequence, while a shared-tenant platform generally leaves those fleet-level decisions with the vendor.

What teams actually gain by keeping Kubernetes anchored to their own account

Where applications execute determines ownership. A simple interface can sit above infrastructure the team controls, or it can conceal infrastructure the vendor controls. Those arrangements are not equivalent. GPU allocation, custom autoscaling, multi-region deployment, and account-level security requirements make the difference increasingly concrete as a team grows.

Giving up that control may simplify the first deployment but create an unplanned migration when compute or compliance needs become more specific. Teams can keep that control without building every part of the platform themselves. A managed PaaS that deploys into the customer’s AWS account can handle cluster management, CI/CD, autoscaling, and compliance controls before the team has a dedicated platform engineer. The full IDP can wait until its economics make sense. Teams of any size can start with account ownership to prepare for the growth they expect.

Sources

  1. Platform Engineering Architecture: IDPs, Golden Paths, and Kubernetes at Scale
  2. Boosting Kubernetes Platform Engineering with EKS Capabilities - Chapter 1
  3. Kubecon Amsterdam 2026 - Kubernetes
  4. Building an internal developer platform on AWS AWS Prescriptive Guidance

More in PaaS Alternatives