Курс переработан

Highload Architect

Научитесь решениям, которые выдерживают большое количество запросов в секунду и правильно оптимизировать работоспособность серверов

25 апреля

Professional

5 месяцев

Онлайн

Вт/Чт 20:00 Мск

Для кого этот курс?

  • Веб-разработчиков. Расширите свой кругозор, поймете какие есть подводные камни у разных решений и почему именно они используются и как с ними работать правильно
  • Тимлидов команд веб-разработки. Получите набор инструментов для проектирования системы в вашей команде, а так же надежные аргументы для объяснения, продажи, подтверждения решения своих или команды
  • Архитекторов. Курс даст базу, на которой строятся все системы подверженные высокой нагрузке на всем пути начиная от запроса пользователя, заканчиваю возвращением ему ответа
  • Технических руководителей. Получите необходимый набор знаний, которого будет достаточно чтобы понимать предлагаемые решения, их дороговизну в кратко и долгосрочной перспективе, а так же какой  набор проблем может сулить решение и какие специалисты будут необходимы
  • SRE-специалистов. Узнаете какие проблемы имеют те или иные решения, а так же их симптомы, что даст возможность быстрее локализовать проблему

Необходимые знания

  • Владение одним из языков программирования при помощи которого можно написать сервер
  • Навыки работы с SQL (составление запросов): в процессе обучения используется MySQL/PostgreSQL
  • Навыки работы с Linux

Пройдите короткий вступительный тест,
чтобы успеть занять место в группе со скидкой до 10%
Оцените свой уровень знаний для обучения на этом курсе

Что вам даст этот курс?

Сегодня немногие веб-разработчики обладают достаточным опытом для создания отказоустойчивых и масштабируемых архитектур. И именно такие специалисты являются самыми высокооплачиваемыми и востребованными в крупных компаниях: Google, VK, Yandex, Netflix и др.

В процессе обучения рассматриваются типичные и нетривиальные проблемы архитектуры веб-приложений. Преподаватели поделятся лучшими практиками и решениями этих проблем. В программу входит много полезной теории, и вся она будет обязательно закрепляться практикой в рамках самостоятельной работы и онлайн-вебинаров.

За 5 месяцев студенты научатся использовать в своих проектах решения, которые выдерживают сотни тысяч (и даже миллионы) запросов в секунду, смогут правильно оптимизировать работоспособность серверов, начнут эффективно использовать инструменты, которые уже есть в проектах. Также курс позволит актуализировать и систематизировать знания в сфере HighLoad.

Востребованность


На каждом собеседовании есть часть с систем дизайном, где проектируют очередной высоконагруженный VK, Netflix, YouTube и т.п. Что говорит о том, что все современные развивающиеся компании ожидают ваше понимание построения высоконагруженных систем.

Данный курс научит вас пользоваться всеми современными инструменты для проектирования высоконагруженных веб-приложений.

Процесс обучения

Все обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в telegram курса, сдача домашних работ и получение обратной связи от преподавателя. Вебинары идут дважды в неделю по 2 академических часа (то есть астрономических 1,5 часа). Все вебинары сохраняются и в записи в вашем личном кабинете. Домашнее задание выдается в среднем раз в 2 недели, а его выполнение занимает 3-5 часов. Мы горячо призываем заниматься такой самостоятельной работой, так как это поможет вам качественно освоить все изучаемые технологии на практике с поддержкой и обратной связью наших преподавателей.

Разработайте собственный проект


Сможете внести сильный проект в портфолио

Преподаватели-практики


Опытные спикеры из разных сфер

Программа

Охватывае основной стек архитектора высоконагруженных систем

Трудоустройство

Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности.

  • Получите помощь с оформлением резюме, портфолио и сопроводительного письма
  • Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров

Высоконагруженные системы

Перспективы направления
Средний уровень зарплат в Москве:
175 000Junior+ специалист
270 000Middle+ специалист
365 000Senior специалист
288
актуальных вакансий

Работодатели курса

Формат обучения

Интерактивные вебинары
 

2 онлайн-трансляции по 2 ак.часа в неделю. Доступ к записям и материалам остается навсегда

Практика

Домашние задания + проектная работа, для усиления вашего портфолио и компетенций

Активное комьюнити

Общайтесь с преподавателями голосом на вебинарах, в закрытом чате Telegram и при проверке домашних заданий

Программа

Введение в высокие нагрузки

В этом модуле будут рассмотрены высокие нагрузки. Большая часть модуля будет посвящена особенностям архитектуры компьютеров и операционных систем. Студенты получат представление о главных проблемах, с которыми сталкивается архитектор систем

Тема 1: Проблемы высоких нагрузок // ДЗ

Тема 2: Введение в docker. Обзор docker-compose

Тема 3: Введение в высокие нагрузки

Тема 4: Нагрузочное тестирование

СУБД в высоконагруженных проектах

В данном модуле изучим особенности проектирования хранилищ для работы в условиях высоких нагрузок, методы их резервирования и масштабирования

Тема 1: Индексы: структуры данных

Тема 2: Индексы: оптимизация запросов // ДЗ

Тема 3: Репликация: основы и алгоритмы

Тема 4: Репликация: виды репликации

Тема 5: Репликация: практическое применение // ДЗ

Тема 6: Кеширование // ДЗ

Тема 7: Транзакции в реляционных СУБД

Тема 8: Шардирование: основы и алгоритмы

Тема 9: Шардирование: практическое применение // ДЗ

Тема 10: Очереди и отложенное выполнение #1

Тема 11: Очереди и отложенное выполнение #2 // ДЗ

Тема 12: In-Memory СУБД // ДЗ

Тема 13: OLAP и OLTP

Тема 14: Обзор ClickHouse

Тема 15: Leaderless базы данных. Casandra

Разработка бэкенда высоконагруженных сервисов

В данном модуле будут рассмотрены основные способы проектирования приложений, способных выдерживать высокие нагрузки. Рассмотрим инфраструктуру таких приложений, средства мониторинга и отладки. Поговорим о том, как не создавать точки отказа и обеспечить масштабируемость

Тема 1: Когда нужны микросервисы, а когда монолиты

Тема 2: Паттерны декомпозиции системы на микросервисы

Тема 3: Domain Driven Design

Тема 4: Принципы организации микросервисов. Типы взаимодействий // ДЗ

Тема 5: Протокол HTTP #1

Тема 6: Протокол HTTP #2

Тема 7: Балансировка и отказоустойчивость #1

Тема 8: Балансировка и отказоустойчивость #2 // ДЗ

Тема 9: Использование асинхронности обработки

Тема 10: Распределенные транзакции // ДЗ

Тема 11: Инфраструктура микросервисов

Тема 12: Системы конфигурации

Тема 13: Распределенное файловое хранилище

Тема 14: Мониторинг и алертинг // ДЗ

Тема 15: Средства описания архитектуры

Типовые архитектуры

В этом модуле рассмотрим архитектуры типовых веб-проектов: новостного портала, рекламной системы, почтового сервиса, облачного хранилища и сайта знакомств. Разработаем универсальный алгоритм проектирования сервисов, научимся находить единые точки отказа и узкие места в сервисах

Тема 1: System Design

Тема 2: Новостной портал

Тема 3: Рекламная система

Тема 4: Почтовый сервис

Тема 5: Облачное хранилище

Тема 6: Сайт знакомств

Проектная работа

Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей. Необходимо разработать отказоустойчивую и масштабирую архитектуру веб-проекта. Далее разработать MVP по данной архитектуре

Тема 1: Выбор темы и организация проектной работы // Проект

Тема 2: Консультация по проектам и домашним заданиям

Тема 3: Защита проектных работ

Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит

Выпускная работа

 

Заключительный месяц курса посвящен выпускной работе. Его разработка нужна для окончательного закрепления знаний, которые были получены в рамках пройденных занятий.

 

Примеры выпускных проектов - читайте в нашем блоге:

- Создание архитектуры платформы для сбора, обработки и хранения данных от IoT-устройств
- Система для поддержки работы баров

Преподаватели

Виталий Юшкевич

Lead engineer

Pugofka

Константин Новаковский

Никита Сапогов

Антон Цитульский

Георгий Вайнтруб

Software Developer

VK Tarantool

Никита Ульшин

Ведущий разработчик в отделе сервисов управления данными

Тинькофф

Бадеев Леонид

Преподаватель программирования

ИТМО

Олег Мифле

Backend Developer

VK

Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания

Ближайшие мероприятия

Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.

Балансировка и отказоустойчивость приложений с HAProxy
Андрей Поляков
В ходе вебинара мы рассмотрим следующие ключевые аспекты:

1. Уметь настраивать TCP / UDP балансировщик

2. Как работает и настраивается haproxy

Вебинар будет полезен для архитекторов, сетевых инженеров, devops-инженеров

Присоединившись к нашему вебинару, вы сможете:

- Получить подробное понимание темы вебинара и ее применения.
- В сложных системах не всегда всё идет по плану, нужно иметь представление о возможных проблемах и способах решения
- Данные знания позволят вам быстро реагировать на проблемы, а в лучшем случае - о них никто не узнает
- Чтобы архитектурно правильно подходить к избыточности при проектировании высоконагруженных систем
...
28 марта в 17:00
Открытый вебинар
Очереди и отложенное выполнение на примере RabbitMQ в .Net
Иван Трушин
В ходе вебинара мы рассмотрим следующие ключевые аспекты:

1. Ситуации, когда приходится решать проблему отложенного выполнения и асинхронной обработки
2. Как брокеры сообщений позволяют организовать коммуникацию нескольких сервисов между собой
3. Рассмотрим основные инструменты построения очередей сообщений, их возможности и преимущества
4. На практическом примере разберем построение очередей сообщений с помощью RabbitMQ и .Net Web Api

Вебинар будет полезен для:

- веб-разработчиков, которые столкнулись с проблемой ожидания "долгих" запросов к серверу
- веб-разработчиков, которым необходимо организовать общение между микросервисами
- .Net-разработчиков, которые хотят научиться работать с RabbitMQ

Присоединившись к нашему вебинару, вы:

- Изучите основные подходы в обеспечении масштабируемости и отказоустойчивости микросервисов с помощью организации очереди сообщений
- Получите практический опыт построения асинхронного взаимодействия между микросервисами
- Получите готовый пример работы с RabbitMQ, MassTransit, .Ne
...
9 апреля в 17:00
Открытый вебинар
Wasm на сервере в высоконагруженных системах
Дмитрий Золотов
На занятии мы рассмотрим среду выполнения wasm/wasi для запуска переносимых серверных приложений, не зависящих от операционной системы и работающих в изолированном окружении.

Начнем с основ компиляции приложений из разных технологий разработки в WebAssembly (tinygo, emscripten, cargo), изучим возможности Docker и NGINX Unit для публикации wasm-приложений, привязку wasm к envoy и публикацию как функций в knative.

В завершении поговорим об инструментах отладки и оценки производительности опубликованных wasm-приложений (wzprof)
...
16 апреля в 17:00
Открытый вебинар

Прошедшие
мероприятия

Олег Мифле
Открытый вебинар
Асинхронная обработка данных и ее использование в высоконагруженных проектах
Андрей Поляков
Открытый вебинар
Роль Tarantool в высоконагруженной архитектуре
Для доступа ко всем прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 3 дня
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!

Корпоративное обучение для ваших сотрудников

Отус помогает развивать высокотехнологичные Команды. Почему нам удаётся это делать успешно:
  • Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
  • Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
  • OTUS проверяет знания студентов перед стартом обучения и после его завершения
  • Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
  • Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
  • OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год

Отзывы

Иван Трушин

13.08.2023
Я работаю программистом, мы пишем в основном сервисы для анализа медицинских данных. Постепенно стал понимать, что популярность сервисов стала расти и нужно выходить на качественно новый уровень. Вовремя попалась реклама курсов от Otus, там я увидел программу Highload Architect. Обучение проходило не всегда ровно, что-то я уже знал, что-то знал недостаточно глубоко, много нового. Однако главное - то что лекции идут по нарастающей, от частного к общему, постепенно складывается общая картина как все должно быть устроено. В процессе обучения отмечу преподавателей - очень компетентные и профессиональные люди, с большим опытом работы в индустрии. Любимые моменты, когда рассказывали реальные случаи из практики. В этом плане мой фаворит - Дмитрий Золотов). В лекциях я ожидал больше практики, но потом понял, что это мало реализуемо. Потому что у каждого свой стек, а нужно показывать максимально универсально. Так что большая часть практики отдается на откуп домашкам, где ты уже тренируешься в привычной песочнице с нужными пакетами для своего стека. по себе понял, что на домашки лучше не забивать, потом придется мучительно наверстывать. Порой приходилось закапываться в тему и тратить все выходные, чтобы сделать. Но так нарабатывается бесценный опыт. Так что по итогу ни о чем не жалею. Для себя итог обучения могу сформулировать так: вначале у меня было смутное представление, что это и с чего начинать. После обучения у меня меня есть полноценное понимание какие сервисы считаются высоко-нагруженными и как их строить. Все разложено по полочкам, я знаю, какими инструментами пользоваться, в каких случаях и для чего. Так что для себя я понял, что все было не зря. Всем рекомендую!

Татьяна Елкина

05.10.2021
Спасибо OTUS за курс! Лично мне курс помог узнать больше об архитектуре проектов как поддерживать высокую нагрузку, помог лучше понимать литературу по данной теме. Считаю, что базового курса по авторизации и безопасности в архитектуре и как собственно рисовать архитектуру для разработчиков и понимания ее остальными членами команды не хватило. Отдельное спасибо за домашние задания, классно организованы и постепенно раскрывающие проблемы и их решения в реальных проектах.

Куаныш Рахметов

22.06.2020
Вообщем курс понравился. Особенно 1 и 2 месяцы. Преподаватель, который объясняет очень внятно и структурировано это Юрий Юрочко. Хотелось бы больше уроков именно от этого преподавателя. 3 месяц был самым размытым по моему мнению. Из 16 домашних работ я не сделал 2 и именно из этого раздела. Домашние задания были не совсем понятные. Особенно урок "Балансировка и отказоустойчивость (Часть 2)". Преподаватель объяснял так, будто мы профи в этой теме. Вообщем, этот урок был непонятен совсем. Понравилась работа с Михаилом Камориным. Мой руководитель проекта. Спасибо преподавателям за курс и полученные знания. Надеюсь 3-ий раздел немного исправится для будущих студентов.

Сергей Фирсов

10.04.2020
До обучения в Otus я работал на позициях Team Lead/Senior Developer/Project Manager в outsourcing IT компании. Хотелось структурировать знания и получить новые с фокусом на высокие нагрузки. Курс выбрал после просмотра программы и вводного урока от Ивана. В реальных проектах не всегда удается попробовать все технологии, особенно технологии направленные на обеспечение high load. В курсе нравится наличие ссылок на доп материалы, иногда лекции и вопросы студентов. По предлагаемому материалу и что добавить сложно комментировать - я бы некоторые лекции сделал более детальными, нежели просто пересказ главных страниц сайтов. Обучение помогло поработать или посмотреть на технологии которые не удавалось применить в реальной жизни (репликации, кеши, локи). Приглашения на новую должность пока не получил. Надеюсь после защиты работы это изменится.

Евгений Ролдухин

09.04.2020
Здорово, что наконец-то появился полноценный курс по построению Highload систем! До этого альтернативой было только самостоятельного изучение и сбор информации с конференций и чтение статей. Что было хорошо: Курс в целом оставил приятное впечатление, однозначно выросло понимание и возможный инструментарий для работы. Например, лямбда-архитектура, Tarantool, cARP были для меня абсолютно неизвестными вещами. Полезными были разборы кейсов реальной архитектуры. Что было плохо: - Крайне долгая проверка домашних заданий.. и частые переносы занятий, это крайне демотивирует. - Дублирование: спикеры были разные и было несколько раз (больше 3х), что они начали повторять в своей лекции уже пройденный материал. Что можно сделать лучше: - Структура курса: все не объять, но ожидал много литературы на домашнее чтение + сейчас кажется, что курс стоит дополнить, как минимум, бинарными хранилищами и информационным поиском. При этом темы "микросервисы", "очереди", "http" вызывали скуку, лучше отдать это на самостоятельное изучение и копать в глубину, тем более рассказы были вполне на уровне, что можно посмотреть на ютубе. - Подписка на новые видео по теме курса для выпускников. Преподаватель может рассказать сложные вещи простым языком, а вокруг курса может формироваться клуб единомышленников.

Сертификат о прохождении курса

OTUS осуществляет лицензированную образовательную деятельность.
В конце обучения вы получите сертификат OTUS о прохождении курса

После обучения вы: 

  • получите материалы по всем пройденным занятиям (видеозаписи вебинаров, выполненные домашние задания, выпускной проект)
  • сможете писать рациональный и хорошо структурированный код
  • получите сертификат об окончании курса
  • приобретёте навыки работы с алгоритмами и структурами данных, которые необходимы при реализации сложных проектов в крупных компаниях

Частые вопросы

Что, если в середине курса я не смогу продолжать обучение?
У вас есть право одного бесплатного трансфера в другую группу
Обязательно ли защищать выпускной проект?
Для получения сертификата OTUS необходимо сдать проект. Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.
Я могу вернуть деньги?
Да, вы можете сделать возврат средств пропорционально оставшимся месяцам обучения.