Provision Local and Hybrid Compute Infrastructure

Those of us who collect and analyze data may take for granted the nearly endless compute available to us through cloud providers and services that Stanford offers like Sherlock. But what if we have specific hardware needs for our data collection or are looking to save costs on analysis by better utilizing computers we already own?

In this assignment, participants will work closely with student and staff developers to refine the automatic process of tearing down, spinning up and provisioning local cloud computers.This opportunity aims to empower participants to provision their own local and hybrid computer clusters by sharing  good practices on automation and reproducibility.

Responsibilities:

  • Learn the steps to manually provision Linux machines from the ground up
  • Translate this knowledge to automated workflows
  • Help construct and validate various configurations for use in realtime computation and data analysis
  • Help improve documentation around this process

Learning Outcomes:

Participants will learn how to remotely provision and re-provision server infrastructure using network boot, automatic OS installation, and SaltStack. Participants will hopefully gain proficiency in the following areas of interest: networking, operating systems, kernel hacking, and infrastructure-as-code (IAC).

Requirements to Apply:

Proficiency using Linux and coding in Python is helpful and recommended. Familiarity with DevOps concepts such as containers and Kubernetes is helpful, but not required as is familiarity with basic networking.

Location: Hybrid - Historic Campus (Note: This project can be worked on fully remotely, but would benefit from at least some time going in person to become familiar with the hardware being used.)

Duration: 3 months, starting in May 2024, 20% time (8 hours per week)