Back to Blog

Eden Goes ARM64: Faster Builds, Broader Support

November 14, 2025 · Eden Team

Tags: release


Eden now runs natively on ARM64 processors. That includes Apple Silicon Macs (M1/M2/M3/M4) and AWS Graviton instances. Docker builds are 3x faster because we're not emulating anymore.

Why This Matters

The world is moving to ARM:

  • Apple Silicon — Every new Mac since 2020
  • AWS Graviton3 — 40% better price-performance than comparable x86
  • Developer machines — Most new laptops are ARM-based

Running Eden under Rosetta 2 emulation worked, but added latency and CPU overhead. Native ARM64 eliminates that entirely.

The Numbers

| Metric | x86_64 (emulated) | ARM64 (native) | Improvement |

|--------|-------------------|----------------|-------------|

| Docker build time | 12m 34s | 4m 12s | 3x faster |

| Startup time | 2.8s | 0.9s | 3x faster |

| Request latency (p50) | 145µs | 98µs | 32% lower |

| Memory usage | 312MB | 287MB | 8% lower |

Faster builds, faster startup, lower latency. Win-win-win.

Multi-Architecture Docker Images

Our Docker images now auto-detect your architecture:

bash
# Automatically pulls the right one
docker pull eden/eden-service:latest

# Or specify explicitly
docker pull eden/eden-service:latest --platform linux/arm64
docker pull eden/eden-service:latest --platform linux/amd64

TLS for Internal Connections

While we were at it, we added TLS support for the interlay proxy layer:

yaml
interlay:
  tls:
    enabled: true
    cert_path: /etc/eden/tls/interlay.crt
    key_path: /etc/eden/tls/interlay.key

Even within a private network, TLS provides compliance with encryption requirements and defense in depth. The performance impact? About 50µs for connection establishment and less than 5µs per request on modern hardware with AES-NI.

Structured JSON Logging

All Eden services now emit structured JSON logs:

json
{
  "timestamp": "2025-10-27T14:32:15.123Z",
  "level": "INFO",
  "fields": {
    "message": "Request completed",
    "method": "GET",
    "path": "/api/v1/migrations",
    "status": 200,
    "duration_ms": 45
  }
}

Trace IDs from OpenTelemetry are included automatically, making it easy to correlate logs with traces and metrics.

Running on AWS Graviton

For AWS deployments, we recommend Graviton3 instances:

yaml
# EKS node group configuration
nodeGroups:
  - name: eden-arm64
    instanceType: m7g.large  # Graviton3
    desiredCapacity: 3

Eden's Helm charts automatically handle node affinity on mixed-architecture clusters.

ARM64 deployment guide →