Under the Hood: What is WATcloud?
WATcloud's mission is to make computing resources easily and fairly accessible to everyone. Over the past four years, we have continuously refined both the hardware and software that comprise our cluster. On the hardware side, WATcloud includes servers, switches, IP-KVMs1, and other peripherals that form our compute infrastructure. On the software side, we have developed a variety of systems for managing the compute cluster, user provisioning, and auxiliary services. These efforts encompass over 3,000 pull requests and tickets in our internal monorepo, along with more than 40 satellite repositories—ranging from bug-fixing forks of open-source projects to custom tools. Throughout the years, we've learned and grown immensely, and we're excited to share our journey with you.
Over the next few blog posts, we'll be sharing the architecture of WATcloud in its current state and how we got here. Here's a list of topics we'll be covering:
- Compute cluster hardware setup
- Operating system, hypervisor, and virtual machine configuration
- Distributed storage configuration
- Network configuration
- Compute cluster provisioning pipeline
- User provisioning pipeline
- Resource management systems
- Observability systems
- On-prem and cloud-based Kubernetes clusters (and automatic failover)
- Continuous integration and deployment (CI/CD) configuration
- DNS management
- Email infrastructure
- Website/blog infrastructure
- Auxiliary services (Discord, GitHub, Google Workspace, etc.)
- Current major projects
This list may be adjusted as we publish more posts, and we'll make sure to hyperlink each item as we go. This blog post serves as a preview for what's to come. If you'd like to stay up-to-date with our latest posts, please subscribe to our newsletter below.
Do you have a suggestion for a blog post topic? Please let us know below in the comment section or reach out to us on Discord (opens in a new tab).
Footnotes
-
IP-KVM stands for Internet Protocol Keyboard, Video, and Mouse. It allows us to remotely control servers (console access, power cycling, etc.) as if we were physically present. ↩
Subscribe to WATcloud's blog
Get the latest posts delivered right to your inbox. We won't spam you!