Skip to content
Putting technology to work.
Insights to guide decisions and action.

Search articles

Moving to shared infrastructure without leaving Beanstalk: whether an app qualifies depends first on whether it is stateless

Table of contents · 5 items

Look at the billing breakdown of business systems that have been running for several years, and the charges for environments that are rarely in use can be surprisingly large. With a dedicated environment for each app, even a lightly loaded app carries a runtime environment of its own.

Yet moving this setup to Kubernetes requires separate staff to operate it. Caught between "staying as we are wastes money" and "moving makes operations heavier," decisions tend to stall here.

From dedicated environments to shared infrastructure

On September 17, 2026, AWS added Cluster Mode to Elastic Beanstalk. It is a new deployment mode that runs multiple applications on shared infrastructure within the same account, built on Amazon EKS.

The existing Standard Mode and Cluster Mode can coexist within the same Elastic Beanstalk application. This means you can move one environment at a time, at your own pace. Validation checks confirm compatibility before any change is made, so an environment that cannot be moved is never forced to move.

As for pricing, there is no additional charge for Cluster Mode itself. You pay for the resources your applications consume, which include the EKS cluster and EKS Auto Mode charges. It is available in all commercial Regions where Elastic Beanstalk is available.

Whether it saves money, however, depends on scale. AWS says Standard Mode is the better fit for single-application setups and for workloads spending under $500 per month, because the savings from running several apps together cannot absorb the EKS control plane fee and the EKS Auto Mode premium.

The first question is whether the app is stateless

When a new option appears, the first thing to confirm is whether your apps fit its assumptions.

Cluster Mode assumes that the application is stateless: replicas are interchangeable, and local storage is temporary. Put the other way, an app that writes files to the server's disk and reads them later will not fit unless those files move to external persistent storage. Because requests are distributed across multiple replicas, apps that keep sessions in process also need to be reworked.

The older the system, the more likely it is to fail this condition, because designs such as saving uploaded files locally or keeping batch intermediate files on the same disk tend to remain. Evaluating a migration starts with taking stock of these.

The languages supported for building from source code, via Buildpacks, are Java, Go, Python, .NET, Node.js, PHP and Ruby. Provide source code, a Dockerfile or a container image in Amazon ECR, and Elastic Beanstalk takes care of containerization, building and ongoing operations. On the other hand, for apps that cannot be containerized and for Windows .NET Framework apps running on IIS, AWS itself says Standard Mode is the better fit.

An editorial concept diagram showing three things that cannot be changed later: cluster assignment, the Kubernetes version, and subnets and IAM roles. Not an actual architecture diagram or measurement result

What cannot be changed later

There is one more set of items you cannot go back on unless you decide them in advance.

ItemHandling
Which cluster an environment joinsEnvironments that use the same set of VPC subnets share the same cluster. A different set means a different cluster
The cluster and its Kubernetes versionUsers cannot choose them. The version stays the same for as long as the cluster exists
Subnets of an existing environment, and the IAM roles for the cluster, nodes and observabilityCannot be changed later. To change them, create a new environment and swap the CNAMEs

A cluster is created the first time that set of subnets is used, which takes about 10 minutes. Direct access to the cluster is managed by the service. If you change the cluster directly, Elastic Beanstalk stops managing it until you restore the original configuration, and updates to the environments running on it also fail.

The first row is the important one. Because cluster assignment is determined by the set of subnets, "which apps share a cluster" has to be expressed in your subnet design. For environments that belong to different customers, environments that run code you do not control, and environments subject to regulations that require infrastructure separation, AWS itself advises using a separate set of subnets, that is, a separate cluster. Where to draw the line on sharing needs to be decided as part of the network design before the migration starts.

What you gain on shared infrastructure

A migration also brings things with it: event-driven autoscaling, OpenTelemetry-based observability that sends data to CloudWatch or third parties, integration with AWS Secrets Manager, and HTTPS by default through AWS Certificate Manager.

Of these, observability matters when maintenance is outsourced. Whether both sides can see what is happening in the same form changes how quickly incidents are handled.

The order for evaluating a migration

If you evaluate in the wrong order, only the investigation effort grows.

  1. Check whether the app depends on local disk or in-process state
  2. If it does, estimate the effort to externalize those parts
  3. Decide which apps may share a cluster, expressed as your subnet design
  4. Pick one environment, move it, and measure the actual changes in cost and operations

It is realistic to work through step 4 before making an overall decision. Even after the application layer moves, the database still has to be evaluated separately; we set out the criteria in database modernization. If you want to compare options that include moving the runtime platform itself to another provider, see choosing and migrating between Cloudflare and AWS.

We checked AWS's release notes, What's New announcement and AWS News Blog post dated September 17, 2026, and the Cluster Mode pages of the Elastic Beanstalk Developer Guide (architecture, multi-tenancy, and building container images) on September 25, 2026. We have not created environments in Cluster Mode, migrated existing environments or compared costs. Supported languages and constraints change, so check AWS's official documentation when evaluating. This article organizes the prerequisites and the order of evaluation.

For assessing whether existing systems can be migrated, or for reviewing maintenance costs, please consult GleamHub.

Share this articleXFacebook
Kakeru Suzuki

Fascinated by the possibilities of technology, has had a deep interest in programming and digital art since student days

Turn this article's theme into your company's next step

Concrete steps forward for your organization.

We organize your desired architecture, legacy systems, and operational requirements to formulate your next steps toward execution.

  • Desired architecture
  • Integration with existing environments
  • Operational requirements
Consult on development & operations initiatives

You can consult with us from the initial conceptual stage. Details from this article will be carried over to the inquiry form.

Receive the latest articles by email