Skip to content

Raul-Teinberg/ica0002-2024

 
 

Repository files navigation

IT Infrastructure Services 2024 Course

Course rules: link.

Video lectures: link.

Discord channel invite: link.

Virtual machines: link.

Class times:

  • Tuesday 17:30 -- room 221 -- lecture -- video is streamed&recorded
  • Tuesday 19:15 -- room 319 -- lab -- video is streamed&recorded
  • Wednesday 16:00 -- room 221 -- lab
  • Wednesday 17:40 -- room 221 -- lab

Lab task is presented on Tuesdays at 19:15. You can watch it live, or later any time that is convenient for you.

It's not required to come to class -- you can complete the tasks at home.

On a lab class we answer questions about previous 2 labs only. If you have any questions about older labs (say, question about lab 1 on the week 4) please use email or GitHub issues. We would like not to handle these in class.

Course agenda

Week 1: Intro

  • Lecture: Introduction to the course; IaaC; Ansible
  • Lab: Setup

Week 2: Toolchain

  • Lecture: SSH basics
  • Lab: Ansible basics

Week 3: Web server

  • Lecture: Web servers; dynamic web resources; web app deployment
  • Lab: Deploy a simple web application; Ansible handlers

Week 4: Troubleshooting

  • Lecture: Troubleshooting; Ansible variables; Ansible Vault
  • Lab: MySQL server as a backend for web application

Week 5: DNS

  • Lecture: DNS server; Jinja2 templates
  • Lab: Bind9 as a DNS server

Week 6: Prometheus

  • Lecture: Node exporter; Prometheus; HTTP reverse proxy
  • Lab: Setup node monitoring with Prometheus

Week 7: Grafana

  • Lecture: Mysql exporter; Bind exporter; Nginx exporter; Grafana
  • Lab: Install Grafana and exporters for running services

Week 8: Logging

  • Lecture: InfluxDB; Telegraf; Rsyslog
  • Lab: Install InfluxDB and Telegraf; configure Rsyslog

Week 9: Backups

  • Lecture: Backup theory
  • Lab: Prepare backup infra

Week 10: Backups

  • Lecture: Backup demo
  • Lab: Set up automatic backups

Week 11: High availability

  • Lecture: Intro to high availability; MySQL replication; MySQL clustering
  • Lab: Set up MySQL replication

Week 12: Virtualization, Docker

  • Lecture: Intro to virtualization; Containerization
  • Demo: Docker basics
  • Lab: Redeploy some of the previous apps as Docker containers

Week 13: HAProxy

  • Lecture: Load balancers; HAProxy; Keepalived
  • Lab: HAProxy; Keepalived

Week 14: DNS HA

  • Lecture: DNS HA setups
  • Lab: Secondary Bind9

Week 15: Final lab

  • Lecture: Final lab task
  • Lab: Final lab

Week 16: Exam

  • First exam attempt (optional)

Exam times

TODO

You can choose any 2 times to take the exam in addition to week 16 exam attempt, 3 attempts in total.

Teacher contacts

Email: [email protected]

For public discussions/questions please use GitHub issues.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 88.4%
  • Jinja 11.6%