• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
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

Авторы

  • Ахмедова Гюнай Интигам кызы