Технополис — образовательный проект, запущенный «Одноклассниками» (Mail.Ru) совместно с Санкт-Петербургским политехническим университетом Петра Великого. В рамках проекта студенты политеха изучают проектирование, разработку, внедрение и поддержку высоконагруженных Java-приложений. Преподаватели проекта — программисты, системные администраторы, дата-майнеры и другие специалисты из команды «Одноклассников».
Филипп Федчин, руководитель Технополиса:
Мы начинали с интенсивного курса по Java, где обучалось более 100 человек. Из них более 20 вошли в число 45 студентов, зачисленных в сентябре прошлого года на двухлетнюю программу: это был наш первый набор. 23 человека успешно преодолели первый год занятий и продолжают обучение, а несколько наших ребят уже стажируются в «Одноклассниках». Технополис — важный опыт для студентов.
Мы ощущаем высокий интерес и поддержку со стороны руководства и преподавателей политеха: к нам приходят студенты из разных институтов, а с этого года мы также начинаем сотрудничество с вузовским Технопарком (не путать с Технопарком МГТУ им. Баумана). Как и в других образовательных проектах Mail.Ru, программа Технополиса завершается разработкой выпускных проектов, и здесь у нас с коллегами общий интерес. Надеюсь, после публичной защиты самые удачные студенческие проекты будут в той или иной форме поддержаны.
Новый курс
В этом семестре студентов Технополиса ждет четыре новых предмета. Среди них — курс «Проектирование высоконагруженных приложений». Он рассчитан на три месяца и включает в себя следующие разделы:
- Масштабируемость и отказоустойчивость.
- Эксплуатация систем.
- Сеть. HTTP(S), TLS и Web.
- Балансировка и маршрутизация.
- Процессоры и память. Постоянное хранилище.
- OS, JVM, средства профилирования и отладки.
- Мониторинг.
- Облака.
- Примеры систем.
Практическая часть курса предполагает создание полноценного распределенного и устойчивого к сбоям key-value хранилища. Ознакомиться с программой подробнее можно по ссылке.
Актуальный опыт
«Одноклассники» — один из самых высоконагруженных сервисов в мире. По трафику он входит в топ-25 (в топ-5 среди социальных сетей). Лучшие эксперты проекта готовы преподавать в Технополисе и делиться боевым опытом с будущими специалистами. Преподаватель нового курса, ведущий разработчик «Одноклассников» Вадим Цесько рассказывает, чему студентов научит новый предмет и почему высоконагруженные системы — это не только проектирование и кодирование.
Мы не будем дублировать основной университетский курс, а сконцентрируемся на вещах, которые действительно важны на практике. Особое внимание уделим вопросам эксплуатации. Создание высоконагруженных приложений — это множество аспектов, которые сопровождают систему в течение всего жизненного цикла: от запуска и достижения пика популярности и до утилизации системы.
На первых лекциях поговорим о том, что такое масштабируемость, высокая доступность и отказоустойчивость. Затем подробно рассмотрим технологический стек. Особое внимание уделим сетям и балансировке нагрузки. Пройдемся по иерархии памяти, рассмотрим современные процессоры, изучим, как работает JVM. С помощью определенных инструментов научимся диагностировать проблемы, а также находить и устранять узкие места. Отдельную лекцию посвятим мониторингу систем, логированию данных и аудиту.
Почему это важно для студентов?
В рамках курса студенты получат необходимые знания и навыки, которые позволят им присоединиться к любой современной команде разработки и эффективно заниматься любимым делом — разработкой высоконагруженных сервисов на JVM.
Кроме того, после курса у ребят сформируется цельная картина современных технологий, подходов, ролей и процессов в области создания высоконагруженных систем, которая позволит им выбрать интересующие их области для дальнейшего развития.
Реальные задачи
По словам ведущего разработчика «Одноклассников», автора и преподавателя курса Вадима Цесько, по окончании курса студенты смогут решать следующие реальные задачи:
- проектирование высоконагруженных систем с учетом будущего роста;
- эффективная реализация и оптимизация распределенных высоконагруженных приложений на Java;
- эксплуатация высоконагруженных сервисов.
Курс «Проектирование высоконагруженных систем» стартует для студентов третьего семестра Технополиса уже 19 сентября. Видеозапись лекций будет доступна на канале Технострим всем желающим. Преподаватели курса — специалисты из команды «Одноклассников»: Вадим Цесько, Олег Анастасьев, Алексей Горбов, Андрей Домась, Андрей Паньгин, Дмитрий Самсонов, Александр Христофоров, Сергей Шарапов и Илья Щаников.