Amazon EKS Microservices Platform

By BuildPlane

An internet-facing ALB routes into an EKS microservices cluster backed by ElastiCache and Aurora in private data subnets.

Open editable diagram

Architecture diagram

Edit this exact diagram
Amazon EKS microservices architecture diagram with an Application Load Balancer, Kubernetes cluster, ElastiCache, and AuroraOpen on the canvas

Amazon EKS microservices architecture diagram with an Application Load Balancer, Kubernetes cluster, ElastiCache, and Aurora. The image links to a fully editable BuildPlane starter.

Overview

An internet-facing Application Load Balancer accepts client traffic and routes it to microservices running on Amazon EKS in private application subnets. Services use ElastiCache for low-latency hot data and Amazon Aurora for authoritative relational records.

Components

  • Application Load Balancer: The ALB terminates public traffic and routes only to healthy Kubernetes ingress targets.
  • Amazon EKS: The cluster runs independently deployable services in private application subnets.
  • ElastiCache and Aurora: The cache accelerates hot reads while Aurora retains authoritative relational data.

Service Request Flow

  1. Clients enter through the public Application Load Balancer.
  2. The ALB routes requests to services running on Amazon EKS in private subnets.
  3. Services consult ElastiCache for hot data and fall through to Aurora for durable records.

Customize First

  • Choose managed node groups, Karpenter, or Fargate from workload scheduling needs.
  • Add the AWS Load Balancer Controller, pod autoscaling, and disruption budgets.
  • Define database connection pooling and cache invalidation before scaling service replicas.

Design rationale

Decisions that shape this architecture

1

Expose one controlled ingress path

The ALB terminates public traffic and forwards only to healthy cluster targets, leaving worker capacity and stateful services without direct public exposure.

2

Keep service compute private

EKS workloads run behind the load balancer in private subnets, reducing the public attack surface and making outbound access an explicit network decision.

3

Treat the cache as disposable

ElastiCache accelerates hot reads, but Aurora remains authoritative. Applications must tolerate cache misses and define invalidation from domain behavior.

Before production

Operational checks

Distribute worker capacity and ingress targets across at least two Availability Zones.

Set pod requests, limits, disruption budgets, and autoscaling signals from measured workloads.

Monitor ingress errors, pod restarts, scheduling pressure, cache health, and database saturation.

Test cluster upgrades, node replacement, and database failover before production windows.

Scope and tradeoffs

What this diagram does not solve

The cluster adds an operating platform

EKS reduces control-plane work but still requires ownership for workloads, networking, policy, upgrades, capacity, observability, and incident response.

One cluster is still a shared blast radius

Namespaces and policies provide isolation, but teams with stronger regulatory or availability boundaries may need separate clusters or accounts.

Common questions

Frequently asked questions

Why use an ALB in front of EKS?

An ALB provides managed Layer 7 ingress, TLS termination, health checks, and routing that the AWS Load Balancer Controller can connect to Kubernetes ingress resources.

Should EKS use managed node groups or Fargate?

Choose from workload density, isolation, daemon requirements, startup behavior, cost, and the amount of node lifecycle management the platform team wants to own.

Can the cache be removed?

Yes. Remove ElastiCache when measured latency and database load do not justify the extra consistency and operational complexity.

From reference to working draft

Adapt this architecture with your AWS AI Agent

Start from the exact diagram in this guide. Change requirements, challenge a decision, or ask what fails first, while keeping the architecture editable.

Open editable diagram