2026/2027





Инфраструктура и администрирование
Статус:
Маго-лего
Где читается:
Факультет компьютерных наук
Когда читается:
1 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
3
Контактные часы:
24
Программа дисциплины
Аннотация
Адаптационный практико-ориентированный курс для магистрантов, которые приходят в ИТ из других профессиональных областей. Курс отвечает на сквозной вопрос: «Я написал программу на ноутбуке. Что должно произойти, чтобы другой человек открыл её по URL и она продолжала работать после того, как я закрыл ноутбук?» Студенты последовательно знакомятся с устройством компьютера, Linux, процессами, Git, сетями, серверами и публикацией приложения. Практика строится вокруг максимально простого веб-приложения без ML-логики (например, FastAPI из нескольких строк), которое проходит путь от локального запуска до публичного сервиса. Курс формирует технический кругозор и уверенность, а не готовит системных администраторов или DevOps-инженеров.
Цель освоения дисциплины
- • сформировать рабочую ментальную модель: где выполняется код и как он становится доступным пользователю через интернет
- • дать базовое понимание роли CPU, RAM, GPU, постоянного хранилища, ОС и процессов
- • научить ориентироваться в базовой Linux-среде и запускать приложение без IDE
- • познакомить с назначением виртуального окружения, зависимостей и переменных окружения без углубления в программирование
- • дать базовую практику Git и GitHub, достаточную для передачи и получения кода
- • сформировать понимание localhost, IP-адреса, порта, NAT, DNS, HTTP и HTTPS
- • научить подключаться к Ubuntu-серверу по SSH и публиковать простое приложение
- • показать роль firewall, systemd, логов и reverse proxy в работе сервиса
- • дать карту хостинга и современной инфраструктуры и подготовить к последующим курсам по разработке, ML-сервисам и DevOps.
Планируемые результаты обучения
- Показать Task Manager/htop во время запуска Python-кода;
- Сравнить запуск из IDE и терминала; разобрать конфигурацию обычного ПК и ML/DL-сервера.
- Выполнить небольшие операции в Ubuntu/WSL/VM только из терминала; показать варианты установки.
- Запустить готовое приложение без IDE;
- Создать venv и установить зависимости; передать одну настройку через environment variable. run.sh — как демонстрация, без требования сложных скриптов.
- Создать репозиторий учебного приложения, сделать несколько осмысленных коммитов и отправить его на GitHub.
- Запустить приложение на 127.0.0.1 и 0.0.0.0; обратиться к нему с другого устройства в локальной сети и объяснить разницу.
- Пошагово разобрать ввод URL в браузере; использовать curl и DevTools/Network для просмотра HTTP-запроса.
- Показать реальную панель VPS и/или Proxmox; разобрать конфигурацию VM (создание VM — при наличии времени); подключиться к серверу по SSH.
- Развернуть сквозное приложение на Ubuntu-сервере и открыть его с компьютера студента по публичному IP и порту.
- Запустить приложение обычным процессом и разорвать SSH-сессию; затем создать systemd unit, повторить проверку и найти намеренно внесённую ошибку в журнале.
- Настроить маршрут Nginx → приложение; открыть сервис по доменному имени; при наличии времени показать автоматическое получение TLS-сертификата.
- Собрать итоговый маршрут Browser → DNS → public IP → firewall → Nginx → приложение → systemd → Ubuntu Server. На слайде провести мысленный эксперимент: последовательно добавить Docker, CI/CD, очередь, worker, monitoring и Kubernetes и для каждого слоя назвать решаемую проблему; отдельно обсудить, почему Kubernetes не нужен малому проекту.
Содержание учебной дисциплины
- Компьютер, ОС и среда разработчика
- Linux и файловая система
- Linux как рабочая среда разработчика
- Shell, Python и окружения
- Git и GitHub для разработчика
- Сети: как компьютеры находят друг друга
- Интернет глазами разработчика
- Хостинг и серверная инфраструктура
- Ubuntu Server: первый deploy
- Как программа становится сервисом
- Nginx, DNS и HTTPS
- Карта современной инфраструктуры и итоговая сборка
Элементы контроля
- Сквозной учебный проектВыдаётся на занятии 1 и развивается по ходу курса. Финальная сдача и короткая демонстрация — после занятия 12
- Сквозной учебный проект
Промежуточная аттестация
- 2026/2027 1st moduleИтог = Округление(П), где П — оценка за сквозной проект по 10-балльной шкале. Округление арифметическое до целого числа; 0,5 округляется вверх. Другие формы контроля в формулу не входят. Автомат не предусмотрен: итоговая оценка непосредственно равна оценке проекта.
Список литературы
Рекомендуемая основная литература
- Chacon, S., & Straub, B. (2014). Pro Git: Vol. Second edition. Apress.
Рекомендуемая дополнительная литература
- Stutz, M. (2004). The Linux Cookbook : Tips and Techniques for Everyday Use. San Francisco: No Starch Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=440055