Распределённые веб-сервисы / Web scale systems
выпускники бакалавриата профильных IT-специальностей

Что такое корпоративная магистерская программа?
Магистерская программа была разработана ведущими экспертами VK и преподавателями ИТМО. Она поможет получить актуальные знания в области распределённых веб-сервисов и отработать их в реальных проектах VK.
Набор заявок закрыт
Подпишись на уведомления, чтобы не пропустить старт набора.
Освой востребованную профессию
После магистратуры выпускники смогут работать на следующих позициях:
— бэкенд-разработчик
— специалист по обеспечению качества
— системный администратор, DevOps, SRE
В перспективе возможен рост:
— до руководителя команды
— архитектора
— руководителя разработки
Тебя ждёт много практики
Преподаватели
Это опытные преподаватели ИТМО и эксперты VK в области распределённых сервисов из бизнес-юнита VK «Единые облачные технологии» и департамента аналитики и больших данных.
Тренировка навыков
Обучение нацелено на практику — ты будешь учиться на реальных кейсах уже с первого семестра.
Командная работа
Ты научишься эффективно работать в сообществе единомышленников, соблюдать баланс между личными амбициями и корпоративной практикой, а также реализовывать IT-проекты в составе команды.
Погружение в профессию
Узнай, чем на самом деле живёт индустрия. Мы знакомим студентов с текущими трендами, требованиями работодателей и задачами, которые специалисты крупных компаний решают прямо сейчас.
Содержание программы
1 семестр
цель курса
Сформировать у студентов четкое представление об устройстве и использовании современных баз данных, привить им ряд конкретных навыков: проектировать концептульные и логические схемы для высоконагруженных баз данных, строить запросы на выборку и модификацию данных к реляционным СУБД, профилировать производительность хранилища данных на основе БД, оптимизировать запросы и структуру реляционной БД в целях повышения производительности, выполнять запросы к нереляционной документоориентированной СУБД, разрабатывать прикладные программы, осуществляющие взаимодействие с БД.
всего
9 занятий / 36 ак. часов и 1 домашнее задание
преподаватель
цель курса
Цель курса: Изучить разделы, связанные с низкоуровневой организацией виртуальной машины Java, особенностями современного языка Java, использованием функционального и аспектно-ориентированного программирования, созданием эффективных Java-программ, реализацией JVM-языков и платформенно зависимых компонентов. Курс предназначен для студентов, имеющих базовые знания в области программирования на языке Java. Теоретические знания подкрепляются на практике в рамках цикла лабораторных работ.
преподаватели
цель курса
Промышленная или коммерческая разработка программного обеспечения состоит из самых разных видов деятельности, и написание кода — лишь один из них. В курсе рассмотрим все составляющие успешного проекта — от анализа требований и проектирования пользовательского интерфейса до построения наиболее подходящего под проект и команду процесса разработки. Изучим также некоторые технические практики: непрерывную интеграцию и непрерывную доставку ПО (CI/CD), рефакторинг, управление качеством ПО и другие.
преподаватели
цель курса
Получить углублённые знания в области разработки и анализа параллельных алгоритмов и программ. Студенты рассмотрят как теоретические разделы — задачи, графы зависимостей, способы распараллеливания задач, анализ эффективности параллельных алгоритмов, так и практические — параллельные алгоритмы обработки данных, lock-free алгоритмы, технологии параллельного программирования, разработку программ для гетерогенных вычислителей (GPU, CUDA). Студенты применят полученные знания на практике при реализации и анализе собственных параллельных программ.
преподаватели
2 семестр
цель курса
Рассмотреть происхождение NoSQL-систем, хранение данных на базе log-structured merge tree (LSM), аспекты построения масштабируемых и отказоустойчивых систем, многопоточное программирование. В качестве промышленного примера популярной NoSQL-системы будет рассмотрена Cassandra, а также различные рецепты и оптимизации, применяемые в распределённых хранилищах данных. Важная часть обучения — курсовой проект: каждый студент разработает встраиваемое key-value хранилище данных на базе LSM. Оно будет использоваться в следующем курсе — Highload.
всего
12 занятий / 48 ак. часов и 6 домашних заданий
преподаватели
цель курса
Изучить принципы, методы и технологии, применяемые при разработке серверных компонентов информационных систем промышленного уровня (enterprise-систем). На курсе рассматривается весь жизненный цикл создания enterprise-систем — от анализа требований и проектирования до развёртывания и управления. Студенты получат комплексные знания в области разработки промышленных информационных систем, а также выполнят лабораторные работы, в которых попрактикуются в разработке компонентов enterprise-систем.
преподаватель
цель курса
Это продолжение курса «Программная инженерия». Обучение состоит из двух частей. В первой студенты изучат современные технологии разработки программного обеспечения, а во второй — виды и способы построения программных архитектур, средства проектирования архитектуры программных проектов, средства визуализации проектирования.
преподаватели
цель курса
своить принципы и технологии создания децентрализованных распределённых систем. Студенты изучат протоколы децентрализованных систем, алгоритмы консенсуса, которые в них применяются, технологии распределённого реестра и блокчейн-технологии (Bitcoin, Ethereum, Solana, Cosmos, Cardano, Hyperledger Fabric, R3 Corda). Получат представление о взаимодействии блокчейн-систем и применении алгоритмов доказательства с нулевым разглашением (zero-knowledge proof), а также освоят навыки реализации децентрализованных алгоритмов, развёртывания систем распределённого реестра, разработки смарт-контрактов.
преподаватель
цель курса
Тестирование — один из основных методов обеспечения качества программных систем. Курс лекций состоит из двух основных частей. В первой происходит систематическое изложение подходов к тестированию программ с точки зрения характеристик качества и анализа свойств программного обеспечения. Вторая часть посвящена практическому освоению методов тестирования веб-приложений, API и мобильных приложений.
преподаватели
3 семестр
цель курса
Научиться управлять IT-проектами, изучить их виды, а также роли в проектной команде, инструменты и подходы к анализу и принятию решений в проектной деятельности. Студенты освоят базовые навыки руководства людьми, управления материальными ресурсами и их координации. В курсе будет рассмотрена вся технологическая цепочка разработки и внедрения программного обеспечения. Студенты на практике реализуют собственный IT-проект от планирования до внедрения.
преподаватель
цель курса
Изучить теоретические и практические вопросы разработки программного обеспечения распределённых вычислительных систем. Студенты рассмотрят основные принципы распределённых вычислений, способы организации обмена данными, распределённые транзакции, репликацию, теоремы CAP и PACELC, распределённые протоколы аутентификации и авторизации. Полученные знания они закрепят на практике, выполнив индивидуальные задания в цикле лабораторных работ.
преподаватель
цель курса
Изучить вопросы эксплуатации и администрирования высоконагруженных систем. Студенты научатся разбираться в актуальных технологиях кластеризации, оркестрации и виртуализации. Освоят виртуализацию с помощью таких инструментов, как Proxmox, Xen, а также научатся проводить кластеризацию сервисов и строить дисковые кластеры, овладеют навыками построения высоконагруженных систем на базе nginx.
преподаватели
цель курса
Изучить аспекты проектирования, реализации, оптимизации, эксплуатации и диагностики распределённых параллельных высоконагруженных приложений. Значительная часть курса посвящена курсовому проекту — каждый студент поэтапно разработает, протестирует и оптимизирует собственное распределённое NoSQL-хранилище на Java.
преподаватель
цель курса
Получить базовые знания по безопасности и научиться применять их во время работы в своей сфере.
преподаватель
цель курса
Освоить один из видов тестирования производительности ПО — нагрузочное тестирование. Студенты получат как теоретические знания, так и практический опыт использования инструментария для проведения нагрузочного тестирования распределённых систем.
преподаватель
цель курса
Изучить основные понятия и термины из области больших данных, понимать фундаментальные принципы распределённого хранения и обработки данных, а также построения и применения моделей машинного обучения на больших данных. Студенты также научатся разрабатывать реализации алгоритмов распределённой обработки данных с помощью актуальных фреймворков.
преподаватель
Узнать больше
Чтобы найти и изучить больше информации и деталей, скачайте описание программы «Распределённые веб-сервисы»
Кому подходит программа «Распределённые веб-сервисы»
Абитуриентам с IT-образованием
Подать заявку на программу могут выпускники бакалавриата и специалитета IT-факультетов всех вузов России. Наличие опыта работы над реальными проектами будет плюсом. Посмотреть все способы поступления: abit.itmo.ru
Какие требования?
обладать знаниями и навыками
Мы ожидаем, что у тебя высокий уровень знаний по алгоритмам и структурам данных, есть опыт в программировании на Java и знания в области операционных систем и системного программирования, компьютерных сетей и архитектуры ЭВМ.
иметь достаточно времени
Лекции займут до десяти академических часов в неделю, выполнение домашних заданий — до двадцати академических часов в неделю.
быть готовым к нагрузке
Обучение предполагает среднюю нагрузку: в каждом семестре студенты изучают по 5–6 дисциплин, что позволяет совмещать учёбу с работой. Однако мы рекомендуем нагрузку не более 20 часов в неделю. Идеально, если работа напрямую связана с направлением подготовки, и ты сможешь выполнить на ней свой выпускной проект.
Как поступить на программу?
Для нас важно качество образования, а не количество выпускников, поэтому места на нашей корпоративной программе «Распределённые веб-сервисы» ограничены. Доступно 35 бюджетных мест. Чтобы начать обучение, выполни четыре простых действия.
Подача заявки
Сроки подачи документов: с 20 июня до 19 августа для поступающих на бюджетные места, с 20 июня до 4 сентября для абитуриентов, выбравших обучение по контракту. Подать заявку на поступление и узнать о возможностях для студентов можно на сайте - https://abit.itmo.ru/program/master/web_scale.Набор заявок закрыт
Подпишись на уведомления, чтобы не пропустить старт набора.
Набор заявок закрыт
Подпишись на уведомления, чтобы не пропустить старт набора.