Skip to content

vHive New Developer Crash Course

Dmitrii Ustiugov edited this page Aug 30, 2023 · 13 revisions

Getting access to the IT infrastructure

  1. Access to the CloudLab compute infra: create an account on cloudlab.us, request to join the ntu-cloud (NTU Singapore), RPerf (EASE lab@UoEdi) or faas-sched (EASL Lab@ETHZ) project there. You can rent xl170 and other low-end machines (because they are available more often) for your work.

[NTU ONLY] You may also get access to resources of the NTU SCSE cloud, depending on the project needs.

NOTE: DO NOT USE vHIVE ON YOUR LOCAL LAPTOP/DESKTOP** to avoid configuration and incompatibility issues unless you know what you are doing.

  1. Join the vHive Slack. Feel free to ask any question on these channels:
  • #fyp-[stellar|vhive|edge]-projects, for the NTU HyScale contributors only;
  • #general in the vHive Community Slack, for external contributors.

Going thru MIT's "The missing semester"

This course will teach you all the necessary practical skills you need as a systems programmer. Most of its contents should be familiar but please brush up on everything.

Learning about Serverless

  1. Lectures and Tutorials
  • Dmitrii's lecture on public cloud in the OS course 2021, Google slides
  • Dmitrii's lecture on serverless computing at ASPLOS'22 tutorial, YouTube
  1. Read an overview paper about serverless computing, its current state, and limitations.

Learning how to use relevant technologies

  1. Read Docker Overview about using Docker containers, ask questions, and pass the Get Started tutorial entirely. (would take ~1 day)

  2. Read about working with GitHub: workflow with PRs, workflow with forks (note that you should use Rebase&Merge avoiding merge commits when working on a PR); a complete guide for contributors in detail: Git, GitHub, Golang modules.

  3. In most cases, Golang will be your main language in these projects. You must read and solve all the exercises in the Tour of Go tutorial. (would take ~2 days).

  4. an extra tutorial on Kubernetes

  5. Knative get-started guide (don’t dig deeper than that for now, no exercises besides the vHive quickstart guide). Try to understand the difference between a classic Kubernetes deployment and Knative, and between AWS Lambda and Knative.


Trying Serverless with vHive

  1. Once you get access to CloudLab or the SCSE cloud (don’t try vHive on your laptop, the installation may mess up your laptop settings!), try out vHive’s quickstart guide. Please report anything inconsistent, unclear, or confusing and suggest improvements. This would greatly help the community (24+ universities, 6+ companies as of 2023).