Рассрочка

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

Highload Architect

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

25 декабря

Professional

5 месяцев

Онлайн

Пн/Ср 20:00 Мск

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

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

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

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

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

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

За 5 месяцев студенты научатся использовать в своих проектах решения: 

  • Которые выдерживают сотни тысяч (и даже миллионы) запросов в секунду;
  • Смогут правильно оптимизировать работоспособность серверов;
  • Начнут эффективно использовать инструменты, которые уже есть в проектах;
  • Также курс позволит актуализировать и систематизировать знания в сфере HighLoad.

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

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

 

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


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

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

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

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

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


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

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


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

Программа

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

Партнеры

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

  • Разместите свое резюме в базе OTUS: так наши партнёры смогут пригласить Вас на собеседование
  • Посещайте карьерные мероприятия 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: System Design: Сервис продажи билетов

Тема 3: System Design: Сервис такси

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

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

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

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

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

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

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

 

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

 

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

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

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

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

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

Lead engineer

Pugofka

Олег Мифле

Backend Developer

VK

Ментор

Иван Трушин

программист

СГМУ

Екатерина Столбовая

ИТ-Архитектор

МТС Диджитал

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

Игорь Захарин

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

Руководитель направления аналитической инфраструктуры

Альфа-банк

Дмитрий Золотов

Flutter+Kotlin Developer

Yandex

Виктор Ганелес

Инженер по нагрузочному тестированию

OpenText

Андрей Поляков

Старший разработчик

Unlimint

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

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

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

Использование Foreign-Data Wrappers в PostgreSQL
Андрей Поляков
Вебинар посвящён использованию Foreign-Data Wrappers (FDW) в PostgreSQL для интеграции данных из различных внешних источников. Вы узнаете, как эффективно применять FDW для создания гибридных систем, где PostgreSQL выступает как центр управления данными, полученными из других баз данных и сервисов.
Особенности вебинара / На вебинаре вы узнаете:
1. Что такое Foreign-Data Wrappers и как они работают в PostgreSQL.
2. Как подключаться к внешним базам данных (например, MySQL, MongoDB) с помощью FDW и управлять ими как локальными таблицами.
3. Примеры использования FDW для объединения данных из разных источников без сложных ETL-процессов.
4. Как использовать FDW для интеграции с облачными хранилищами и системами больших данных.
5. Лучшие практики настройки и оптимизации производительности при работе с внешними данными через FDW.
Вебинар будет полезен:
• Разработчикам баз данных, которые хотят расширить функциональность PostgreSQL, интегрировав данные из других систем.
• Архитекторам ПО, занимающимся проектированием сложных распределённых систем с множеством источников данных.
• Аналитикам данных, которым требуется удобный способ объединять данные из нескольких баз для проведения комплексного анализа.
• Администраторам баз данных, стремящимся повысить гибкость и эффективность своей инфраструктуры, используя FDW.
В результате вебинара:
• Вы узнаете, как подключать PostgreSQL к различным внешним источникам данных через FDW.
• Получите практические навыки по настройке и использованию FDW для интеграции данных.
• Освоите методы оптимизации производительности при работе с большими объёмами внешних данных.
...
28 ноября в 17:00
Открытый вебинар
Обеспечение отказоустойчивости хранилищ
Игорь Захарин
Вебинар посвящён архитектурным решениям и технологиям, которые помогают обеспечить отказоустойчивость хранилищ данных в распределённых системах. Вы узнаете, как правильно проектировать и настраивать хранилища, чтобы минимизировать простои и предотвратить потерю данных при сбоях.

Особенности вебинара / На вебинаре вы узнаете:
1. Основные концепции отказоустойчивости хранилищ данных: репликация, резервное копирование и восстановление.
2. Как выбрать подходящую стратегию репликации данных (синхронная vs асинхронная) в зависимости от требований вашего проекта.
3. Примеры использования распределённых систем хранения данных (Cassandra, MongoDB, Ceph) для обеспечения высокой доступности.
4. Настройка автоматического фейловера и восстановления работы хранилища после сбоев.
5. Лучшие практики построения надёжной инфраструктуры хранения в облачных и локальных средах.

Вебинар будет полезен:
• Системным администраторам, занимающимся поддержкой крупных хранилищ данных, которые хотят повысить их надёжность.
• Разработчикам и архитекторам ПО, проектирующим распределённые системы, где важна высокая доступность и отказоустойчивость данных.
• Администраторам баз данных, которые стремятся обеспечить сохранность данных в условиях сбоев и неполадок.
• IT-менеджерам, отвечающим за безотказную работу сервисов и сохранность данных в корпоративной инфраструктуре.

В результате вебинара:
• Вы освоите ключевые подходы к обеспечению отказоустойчивости хранилищ данных.
• Узнаете, как правильно выбирать и настраивать технологии для обеспечения высокой доступности данных.
• Научитесь минимизировать риски потери данных и простоев за счёт надёжных архитектурных решений.
...
10 декабря в 17:00
Открытый вебинар
Распределённые транзакции — как добиться согласования данных в распределённой сети
Олег Мифле
Глубокое погружение в принципы работы распределенных транзакций для обеспечения согласованности данных в среде с распределенной архитектурой. Разберём основные подходы к управлению транзакциями в распределённом режиме, подходы на основе согласования (например, Saga) и методы обработки ошибок.

Особенности вебинара / На вебинаре вы узнаете:
1. Как работают модели распределённых транзакций и почему их проведение важно для согласования данных.
2. Использование шаблона Saga для управления транзакциями, когда требуется гибкий и надёжный процесс согласования.
3. Лучшие практики обработки ошибок и действия отката (отката) для восстановления данных.
4. Как выбрать оптимальный подход для различных типов распределенных систем.

Вебинар будет полезен:
• Архитекторам ПО, проектирующим распределённые и микросервисные системы с необходимостью строгой согласованности данных.
• Разработчикам, работающим с микросервисами и нуждающимся в безопасной реализации распределенных транзакций.
• Руководители проектов, заинтересованные в снижении рисков ошибок при обновлении данных в распределенной сети.
• DevOps-инженерам, которые способствуют поддержанию стабильных и надёжных процессов в инфраструктуре распределённых систем.

В результате вебинара:
• Вы поймёте, как эффективно управлять распределёнными транзакциями и поддерживать согласованность данных.
• Изучите подходы и шаблоны для транзакций, которые легко адаптируются к масштабируемым и гибким архитектурам.
• Узнайте, как избранный метод согласования для отдельных систем позволяет избежать ошибок и снизить нагрузку на инфраструктуру.
...
16 декабря в 17:00
Открытый вебинар

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

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

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

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