Cloud Native 16 min read

Choosing the Right Cloud‑Native Ingress Gateway: Nginx, ALB, and MSE Compared

This article compares the main cloud‑native ingress gateway options—Nginx Ingress, Alibaba Cloud ALB, and Alibaba Cloud MSE—covering their architecture, exposure methods, configuration nuances, health‑check settings, reload behavior, and practical selection guidelines for Kubernetes deployments.

Alibaba Cloud Native
Alibaba Cloud Native
Alibaba Cloud Native
Choosing the Right Cloud‑Native Ingress Gateway: Nginx, ALB, and MSE Compared

Service Exposure in Kubernetes

Kubernetes Service objects provide internal discovery via a stable VIP or DNS name. To expose a service externally, NodePort allocates a port on every node, requiring clients to know the node IP and port; availability depends on node health. LoadBalancer builds on NodePort but delegates an external IP and load‑balancing to the cloud provider, eliminating single‑node failure risk. When many HTTP/HTTPS services need layer‑7 routing, creating a separate LoadBalancer per service is costly; an Ingress controller offers a unified entry point.

NodePort vs LoadBalancer illustration
NodePort vs LoadBalancer illustration

Application Gateway Requirements

Unified authentication, access control, and SSL termination to avoid redundant configuration across micro‑services.

Rate‑limiting for stability.

Observability: response‑time trends, status‑code statistics.

Detailed access logging for troubleshooting.

Nginx Ingress Overview

The default community Ingress controller is deployed as a Deployment with a LoadBalancer Service. It consists of a manager process and an Nginx worker. The manager watches Ingress resources, translates annotations and the spec into an nginx.conf, and triggers a reload of the Nginx process. The controller also watches Service back‑ends; when Pods are added or removed, the manager updates the Nginx upstream list without a full reload. Prometheus metrics are exposed for monitoring.

Nginx Ingress architecture
Nginx Ingress architecture

Custom Location Snippet Example

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/configuration-snippet: |
      if ($http_user = "gray") {
        rewrite ^/(.*)$ /traffic;
      }
spec:
  rules:
  - host: test.domain.com
    http:
      paths:
      - path: /test
        backend:
          service:
            name: test-svc
            port:
              number: 80

The generated Nginx configuration contains the injected snippet:

server {
  server_name test.domain.com;
  location /test {
    if ($http_user = "gray") {
      rewrite ^/(.*)$ /traffic;
    }
    ...
  }
}

Limitations and Operational Considerations

Performance depends on Pod resources and host node; co‑located workloads can cause contention.

High traffic typically requires dedicated nodes with taints/tolerations and Horizontal Pod Autoscaling (HPA).

Reloads replace the worker process and can disrupt long‑lived connections (e.g., WebSocket) if they exceed worker_shutdown_timeout.

Health checks use the manager’s /healthz endpoint on port 10254. Under load the endpoint may become unresponsive, causing repeated restarts.

Typical probe configuration:

livenessProbe:
  failureThreshold: 5
  httpGet:
    path: /healthz
    port: 10254
    scheme: HTTP
  initialDelaySeconds: 10
  periodSeconds: 10
  timeoutSeconds: 1
readinessProbe:
  failureThreshold: 3
  httpGet:
    path: /healthz
    port: 10254
    scheme: HTTP
  initialDelaySeconds: 10
  periodSeconds: 10
  timeoutSeconds: 1

To reduce reload impact, operators can add a custom annotation (e.g., reload-trigger: true) that the manager checks before performing a reload, or decouple configuration generation from the actual reload.

Nginx reload process
Nginx reload process

Dynamic routing can be achieved with Lua plugins that load rules from a database into Nginx shared memory, avoiding frequent reloads.

Lua‑based dynamic routing
Lua‑based dynamic routing

ALB Ingress

Alibaba Cloud ALB Ingress separates the data plane (the ALB instance) from the control plane (the controller). It provides hot‑loading, high elasticity, and a fully managed operation, making it suitable for high‑QPS scenarios. It supports many Nginx annotations, but custom configuration snippets and Lua plugins are not fully compatible.

ALB Ingress architecture
ALB Ingress architecture

MSE Ingress (Cloud‑Native Gateway)

MSE Ingress is built on Alibaba Cloud’s Managed Service for Edge. It offers data‑plane/control‑plane separation, hot‑loading, and full micro‑service gateway features such as rate‑limiting, circuit‑breaking, and traffic protection. It supports Wasm plugins and is adding Lua plugin support. The implementation is open‑source:

https://github.com/alibaba/higress
MSE Ingress overview
MSE Ingress overview

Scenario Summary

Nginx Ingress : Open‑source, highly customizable, suitable for migrations from self‑managed Nginx. Requires dedicated ops and carries stability risk.

ALB Ingress : Fully managed, ideal for extreme QPS and high‑concurrency workloads on Alibaba Cloud with minimal operational overhead.

MSE Ingress : Cloud‑native gateway that also serves as a micro‑service API gateway; best when both Ingress and service‑mesh capabilities are needed, with extensibility via Wasm.

All three providers rely on the standard Ingress API (host and path rules). Vendors extend functionality through custom annotations, which increases configuration complexity. The Kubernetes community’s Gateway API aims to standardize and extend gateway models, and many Ingress controllers are adding support for it.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Cloud NativeKubernetesNginxIngressMSEALB
Alibaba Cloud Native
Written by

Alibaba Cloud Native

We publish cloud-native tech news, curate in-depth content, host regular events and live streams, and share Alibaba product and user case studies. Join us to explore and share the cloud-native insights you need.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.