architecture.md

Overview

The cloud desktop architecture is simple. On a high level, it looks like this:

Cloud Desktop Cluster

Cloud desktop cluster is a cluster of cloud desktops. It is implemented as a K8s cluster for easy scheduling and orchestration of cloud desktop containers.

Cloud Desktop Container

The cloud desktop container provides a virtualized desktop environment that is isolated and portable. It consists of 3 components.

  • VNC server paired with a NoVNC server

  • VSCode server

  • Tailscale client

For details, see Container Image.

Networking

K8s network:

  • Used for communication with the load balancer to allow each container to be accessible from a URL

  • Implemented with Flannel

Tailscale network:

  • Used for communication between cloud desktops and robots globally

  • Managed with Tailscale Dashboard

AWS Route53:

  • Provides DNS records for redirecting traffic to the cluster

Last updated

Copyright (c) Brandeis University