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

Highload Architect

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

27 июня

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: Средства описания архитектуры

Типовые проблемы Highload на примере разных архитектур

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

Тема 1: Новостной портал, Рекламная систем

Тема 2: Сайт знакомств, Видеостриминг, Облачное хранилище

System Design на практике

Научимся находить единые точки отказа и узкие места в сервисах

Тема 1: System Design

Тема 2: Разбор системы 1

Тема 3: Разбор системы 2

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

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

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

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

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

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

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

 

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

 

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

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

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

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

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

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

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

Тинькофф

Олег Мифле

Backend Developer

VK

Иван Трушин

программист

СГМУ

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

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

Lead engineer

Pugofka

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

Software Developer

VK Tarantool

Кирилл Дикалин

Team Lead Data Engineer блока SberData

Сбербанк

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

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

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

Индексы в PostgreSQL
Иван Трушин
Поймем:
устройство структуры данных B-tree, в которой хранятся индексы
устройство индексов в PostgreSQL: B-дерево, хеш, GiST, SP-GiST, GIN и BRIN
принципы построения планов запросов в PostgreSQL.
Изучим:
предназначение и механизмы работы кластерных и покрывающих индексов.
Научимся:
пользоваться командой explain в PostgreSQL;
строить индексы, позволяющие оптимизировать запросы;
составлять запросы, позволяющие переиспользовать существующие индексы.
...
25 июня в 17:00
Открытый вебинар

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

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

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

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

Отзывы

Алексей Шаров

04.04.2024
Я работаю в разработке ИС в ролях back end developer, system architect, solution architect в компании ALROSA IT. Обучение прохожу по предложению работодателя. На курсе понравилось, что теория дополнялась воркшопами (это очень полезно). Что хотелось бы добавить/улучшить - харизму лекторов (очень часто на занятиях хотелось спать, чувствовалось что лекторы не всегда уверены в своей теме и не всегда достаточно подготовились). Обучение в чём-то пополнило знания, в чём-то структурировало существующие знания.

Вадим Савитский

24.03.2024
Хочу выразить огромную благодарность преподавателям курса за их компетентную и слаженную работу. На моем примере, курс был достаточно сложным, но уровень заданий являлся как раз тем стимулом, который позволил мне его завершить с итоговой работой с реально функционирующем MVP содержащим 2 десятка слажено работающих сервисов. При этом архитектура решения по оценке преподавателей была проработана на должном уровне.

Иван Трушин

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 необходимо сдать проект. Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.
Я могу вернуть деньги?
Да, вы можете сделать возврат средств пропорционально оставшимся месяцам обучения.