Services Internal and External communications

chevron-rightDetailedhashtag

Excellent question β€” this is a key topic for SRE and DevSecOps interviews. Let’s break it down clearly and practically:


🧩 1. Overview: Microservices Communication in EKS

In EKS (Elastic Kubernetes Service), microservices typically run as separate pods and need to communicate securely and reliably. Enterprise setups use a layered architecture for service discovery, traffic routing, security, and observability.


πŸ—οΈ 2. Common Communication Patterns in Enterprises

Type
Description
Common Tools/Components

Service-to-Service (East–West traffic)

Internal communication between microservices (e.g., orders β†’ payments)

- Kubernetes DNS (ClusterIP Services)- Istio / Linkerd (Service Mesh)- mTLS for encryption

Ingress (North–South traffic)

External traffic coming from the internet into the cluster

- AWS ALB / NLB- Ingress Controller (Nginx, Istio Gateway, Kong, Traefik)- WAF or API Gateway (AWS API Gateway / Kong / Apigee)

Egress

Outbound traffic from the cluster to external APIs or databases

- Istio Egress Gateway- NAT Gateway or VPC Endpoints- NetworkPolicies for control

Async / Event-driven

Decoupled communication for background jobs or events

- Kafka / RabbitMQ / SQS / SNS- EventBridge- Redis Streams


🧱 3. Common Enterprise EKS Communication Architecture (Mid-Level Setup)

Here’s what you’d typically see:

                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚       External Users          β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                      β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
                      β”‚ AWS ALB/NLB β”‚   ← (Ingress)
                      β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚ Ingress Controller (e.g.β”‚
                β”‚ Nginx / Istio Gateway)  β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚  Service Mesh (Istio β”‚
                  β”‚  / Linkerd Sidecars) β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚              β”‚              β”‚
        β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”
        β”‚ orders   β”‚   β”‚ payment β”‚   β”‚ users   β”‚   ← (Microservices)
        β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜
              β”‚             β”‚             β”‚
              β”‚   (mTLS, L7 routing,      β”‚
              β”‚    retries, tracing)      β”‚
              β”‚             β”‚             β”‚
          β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”
          β”‚   Internal Databases / Message Bus β”‚
          β”‚   (RDS / DynamoDB / Kafka / Redis) β”‚
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ” 4. Security & Access Control

Layer
Security Mechanism

Network

AWS VPC, private subnets, Security Groups

Pod-to-Pod

NetworkPolicy, Istio mTLS, Authz Policies

API Layer

JWT/OAuth2, API Gateway authentication

Secrets

AWS Secrets Manager / KMS, sealed-secrets


πŸ“Š 5. Observability Stack (Typical Enterprise Setup)

Function
Tools

Metrics

Prometheus + Grafana

Tracing

Jaeger / Tempo / X-Ray

Logging

EFK (Elasticsearch + Fluentbit + Kibana) or CloudWatch

Alerts

Alertmanager / PagerDuty / Opsgenie


🧠 6. Example Communication Flow

Let’s say a user places an order:

  1. User β†’ ALB β†’ Ingress Controller β†’ orders-service

  2. orders-service calls payment-service via Service Mesh (Istio handles retries, timeout, and mTLS)

  3. payment-service publishes an event to Kafka/SQS

  4. notification-service consumes the event and sends an email

  5. Traces and metrics go to Prometheus + Grafana + Jaeger


βš™οΈ 7. Common Tools Stack for Mid-Level Enterprises

Layer
Common Tools

Kubernetes Platform

EKS (managed control plane)

Networking / Ingress

AWS ALB + Nginx / Istio Gateway

Service Mesh

Istio / Linkerd

API Gateway (Optional)

AWS API Gateway / Kong

Messaging

Kafka / RabbitMQ / SQS

Observability

Prometheus, Grafana, Jaeger

Security

IAM, IRSA, KMS, mTLS, NetworkPolicies


Would you like me to diagram this as a visual architecture (image) β€” showing how microservices, Istio, Ingress, and observability components connect inside EKS? It’ll help you explain easily in interviews.

Last updated