Upstream dependencies

Upstream dependencies

Lekko relies on AWS, GitHub, Planetscale, and Vercel for its operations due to their high availability and reliability. The following sections explain how Lekko relies on these services.

AWS

Lekko uses AWS in the following ways:

  • Cloud provider: Lekko uses AWS with an active/passive setup across regions and availability zones, primarily in us-east-1. Pods across nodes are spread across at least three availability zones within a region at any given time.
  • Deployment: Services run in Kubernetes clusters, enabling automatic scaling and distribution across multiple availability zones.
  • Disaster recovery: DNS failover to a passive deployment in case of regional failures. For details, see Disaster recovery.
  • Traffic management: An app load balancer distributes traffic across pods, and a rate-limiting strategy protects against traffic bursts.

In the future, Lekko plans to expand to multi-cloud and edge deployments for increased availability and redundancy.

GitHub

GitHub is the source of truth for configs managed by Lekko.

If GitHub is unavailable, config updates are blocked but reads continue uninterrupted. This means that apps relying on Lekko continue reading the latest values that Lekko processed from Github without interruption.

Planetscale

Lekko uses Planetscale with multi-region replicas and automatic backups.

Three replicas are spread across different availability zones in the primary us-east-1 region and additional read-only replicas in a different region. This setup ensures data availability even if the primary region is down, with read-only replicas optimizing reads from non-primary regions.

Vercel

Vercel hosts the Lekko web UI (opens in a new tab).

If Vercel is unavailable, the Lekko web UI is also down, but you can still change your configs via the Lekko CLI and GitHub.