Skip to content

Build1 publisher3 min readPublished

Elastic Beanstalk's Cluster Mode shares one EKS cluster across every app in a subnet set

AWS now says it takes full operational responsibility for Elastic Beanstalk production environments for the life of the application. Underneath, Cluster Mode puts multiple apps on one shared Amazon EKS cluster.

The Engineer · Build desk

Illustration accompanying Elastic Beanstalk's Cluster Mode shares one EKS cluster across every app in a subnet set

What happened

  • Cluster Mode runs multiple applications on shared infrastructure powered by Amazon EKS under a single operational baseline, instead of operating each application in its own environment.
  • Uploaded source code in any of seven runtimes is containerised automatically through Cloud Native Buildpacks, so AWS says no Dockerfile and no rearchitecting is required.
  • AWS lists the service as HIPAA eligible, PCI DSS compliant and aligned to SOC 1/2/3 with no additional configuration.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • decision Continuous patching and upgrading means AWS sets the schedule, so a team that certifies its application against a fixed runtime version has to establish whether Cluster Mode will hold that version before migrating.
  • constraint The cost pool is scoped to a set of subnets, so any isolation rule that splits applications across subnets also splits them across clusters and undoes the shared-infrastructure saving.
  • exposure Applications on one cluster inherit one operational baseline, so a single platform upgrade or cluster-level fault reaches all of them at once.
  • cost Density is what pays for this: a portfolio of small internal services spreads one cluster over many applications, while a single production app on its own cluster carries the whole thing.

Read the responsibility sentence before the feature list. AWS wrote that operational responsibility "stays with AWS, for the life of the application" [3], and describes Elastic Beanstalk as the service that "takes full operational responsibility for your production environments" [2]. The announcement is a blog post, and it does not state Cluster Mode pricing or a service level agreement [17].

The plumbing gets more specific than the promise. In the console you create an environment and choose Cluster as the deployment type [8]. The first deployment for a given set of subnets triggers EKS cluster creation, which the post puts at "about ten-ish minutes" - its own unit, not mine - and subsequent deployments are faster because they reuse the existing cluster [10]. Multiple applications then share that infrastructure under a single operational baseline [5]. The boundary of the sharing is the subnet set [18].

The cost claim rests on that boundary. AWS says applications share resources, so per-application cost decreases as the portfolio grows without adding operational complexity [6]. For the number to move in your account, your applications have to be allowed to sit in the same subnets on the same cluster. Each group amortises on its own: a team that separates workloads by subnet for tenancy or audit reasons gets a cluster per group.

Timing is the other issue. Cluster Mode "deploys, scales, patches, monitors, and upgrades your applications continuously for the life of the workload" [4]. Continuous upgrade means AWS chooses when. Hand over source code and let Cloud Native Buildpacks containerise it, and you have handed over the base image too [11], so the artefact being patched is AWS's, not the one your build produced. For most internal services that is the right call. If your application is certified against a specific runtime version, the upgrade schedule now sits with AWS.

The compliance line needs reading narrowly, because the claim is about the environment Elastic Beanstalk builds. AWS lists the service as HIPAA eligible, PCI DSS compliant and aligned to SOC 1/2/3 with no additional configuration [12].

Everything else is the operational kit you would expect from an EKS platform team, shipped as defaults: all-at-once, rolling, immutable and traffic-splitting deployments with automatic rollback on failure, event-driven autoscaling, Secrets Manager integration and native OpenTelemetry [13], HTTPS by default through AWS Certificate Manager [16], and an official GitHub Action that deploys from an existing CI/CD workflow with a single YAML configuration [15]. When something goes wrong, the service collects service-side logs and returns AI-generated recommendations [14]. I would test that piece first, because an AI recommendation is only useful if the logs behind it are the logs you would have pulled yourself.

Language support is unchanged: the same seven runtimes Beanstalk has accepted since 2011 [1] are the seven Cluster Mode takes as source code [19]. Who runs the thing afterwards has changed. The first cluster in a set of subnets costs about ten minutes before anything serves traffic, and the second application in those subnets skips that wait [10].

What to watch

  • Whether AWS publishes Cluster Mode pricing and a service level agreement that matches the "life of the application" responsibility language.
  • Whether the deployment type exposes any way to defer or pin a platform upgrade for an application under certification.
  • Whether the EKS cluster boundary can be scoped tighter than a set of subnets for tenants that must not share a control plane.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories