Skip to content

Global load balancer #2

Description

@phinze

Compute is only as good as our ability to address it. Many solve this problem by putting nodes into region-specific groups and then running load balancers in that same region to direct traffic locally.

We consider that pretty limiting and there is a whole world of topologies that is unlocked by having user clusters routable via a Miren-managed global load balancer:

  • Expose apps behind NAT to the global internet
  • Running runners in many regions
  • Automatic geo routing
  • Zero configuration CDN

With our global load balancer service deployed, another critical feature will be the ability to direct traffic to nodes that are behind a NAT. Our global load balancer can use a whole number of techniques forward traffic to nodes in a really flexible way, giving you the ability to deploy runners truly network-independent of your users.

Current (separate DNS per cluster):

graph TB
    U1[Users] -->|app.region-a.example.com| C1[Miren Cluster A]
    U2[Users] -->|app.region-b.example.com| C2[Miren Cluster B]
    U3[Users] -->|app.region-c.example.com| C3[Miren Cluster C]
Loading

After (Miren global load balancer):

graph TB
    U1[Users - Americas] --> GLB[Miren Global Load Balancer]
    U2[Users - Europe] --> GLB
    U3[Users - Asia] --> GLB

    GLB -->|geo routing| R1
    GLB -->|geo routing| R2
    GLB -->|NAT traversal| R3

    subgraph "Region A"
        R1[Cluster]
    end

    subgraph "Region B"
        R2[Cluster]
    end

    subgraph "Behind NAT"
        R3[Cluster]
    end
Loading

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    In Progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions