You are at the home page of project-based tutorials on distributed systems.
Project 1. Self-hosted Kubernetes cluster using Kubespray (DS101)
During this project we are going to install bere-metal Kubernetes cluster, with ElasticSearch/Kibana logging, Prometheus/Kibana monitoring and WireGuard VPN over public network. Also, we are going to explore Hetzner Cloud as cheap hosting for our cluster.
- Basics: Initial server setup, Server security (code: )
- Provisioning: Kubernetes 1.10 installation using kubespray
- Persistence: Kubernetes local volume
- Logging: Kubernetes logging using ElasticSearch, Kibana, Fluentd (EFK) (code: )
- Metrics: Monitoring Kubernetes cluster using Prometheus, Grafana Kubernetes App
- Security: Kubernetes cluster over public network using WireGuard VPN
- Automate: Deploy Kubernetes on Hetzner Cloud using Jenkins Pipelines (code: )
Project 2. Binance WebSocket listener using Akka (DS107)
During this project we are going to design and deploy reliable WebSocket client in distributed environment.
- Goals: Project Overview
- Basics: Scala Futures 101, Akka Streams 101
- Monitoring: Metrics
- Data model: Apache Cassandra for Time Series
- Programming: Designing reliable, fault-tolerant WebSocket client using Akka (code: )
- Apache Zookeeper in practice (Apache Zookeeper explained in examples)