Архитектор высоких нагрузок. Лучшие практики по HighLoad и отказоустойчивости веб-приложений | OTUS
Курс переработан
Курс переработан
Highload Architect

Архитектор высоких нагрузок

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

Длительность обучения:

5 месяцев

4 ак. часа в нед.

Формат:

Online

Начало занятий:

29 June

Дни занятий:

Чт 20:00, Вт 20:00

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

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

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

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

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

Преимущества программы

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


изучение основных проблем архитектуры веб-приложений

домашние задания — мини-проекты для портфолио

лучшие практики и решения высоких нагрузок веб-приложений

настоящее комьюнити и постоянный фидбек преподавателей-экспертов

 

Выпускники смогут:

— создавать веб-приложения, которые легко масштабировать
— обеспечивать отказоустойчивость веб-приложений даже при падении серверов
— правильно использовать шаблоны (кеширование, реплицирование, шардирование, индексирование)
— работать с инструментами, разработанными Google, Mail.Ru Group, Yandex

Основы протокола HTTP, 15 June в 20:00
Рассмотрим историю протокола, разберем его вдоль и поперек, посмотрим как работает HTTPS, а так же вкратце заденем HTTP-серверы и REST.
Ведет
Никита
Сапогов
Предыдущий открытый вебинар
Декомпозиции системы на микросервисы по бизнес-аспектам и Event Storming, 26 June в 20:00
На лекции разберем:
- декомпозиция по бизнес-аспектам
- Определение системных операций
- Разбиение операций на сервисы
- Разбиение по системным аспектам и DDD подход
- Методология PARL и Event Storming
Андрей
Поляков
Предыдущий открытый вебинар

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

Никита Сапогов
Константин Новаковский
Инженер DNS в CDN G-Corelabs
Виталий Юшкевич
Lead Engineer
Игорь Золотарев
Внешний консультант в Tarantool/VK
Андрей Поляков
Старший разработчик в Unlimint
Илья Феоктистов
Systems Expert в Glovo, Барселона
Анатолий Бурнашев
Эксперт Центра практик обеспечения надёжности в MTS.Digital / Руководитель курса DevRel
Первый html-сайт сделал в 2006г, c 2011г начался мой профессиональный путь в IT.

Как и многие админил сервера, проектировал базы данных, верстал сайты, писал бэкенды и решал проблемы с производительностью.

С 2014г и по сей день работаю в интернет магазине Ситилинк, который за это время вырос из команды 8 разработчиков в команду из 200+ ИТ специалистов, с кратным увеличением нагрузки, и я в ней занял место руководителя Backend.

С проблемами высоких нагрузок встречаемся каждый день, в связи с этим, и не только, уже перешли от монолитного PHP+MSSQL на микросервисную архитектуру Go + Tarantool/PostgreSQL.

Еще список страшных слов с которыми приходится сталкиваться: Kubernetes, Docker, Kafka, gRPC, Avro, OpenApi, ELK stack, Reindexer, Envoy, Prometheus, Grafana, Vault и т.д.

Руководитель программы
Закончил военную академию связи им. С. М. Будённого в 2009 году ("Эксплуатация вычислительных машин, комплексов, систем и сетей специального назначения")

Первый html-сайт сделал в 1999.

Параллельно с учёбой в ВУЗе администрировал серверы веб-студии и работал в техподдержке виртуального хостинга (Infobox).
С 2010 по 2019 работал в Selectel: начал с системного инженера датацентра, руководил системными инженерами, занимался отказоустойчивостью и администрированием баз данных (postgresql), виртуализацией (openvz, xen, kvm), хостингом DNS (включая организацию размещения одного из узлов корневого dns-сервера k.root), отвечал за работоспособность проекта vscale.io.

С 2020 являюсь инженером команды DNS в CDN G-Corelabs (80+ точек присутствия).
Из технологий работал с: bgp (quagga, exabgp, bird), anycast, dns (bind, powerdns, coredns, unbound), postgresql, clickhouse, redis, consul, nomad, rabbitmq, ansible, puppet, docker, libvirt, openstack, ceph, pacemaker, linux, python, C, perf, prometheus, grafana.

Наставник
В 2011 году с отличием закончил ИТМО по специальности «Информационные технологии и системы».
Профессиональный опыт с 2009 года.

Принимал участие в работе над проектами и продуктами разного масштаба и сложности. Эксперт в области разработки и масштабирования ecommerce проектов.
Активный участник русскоязычного сообщества Laravel.

Текущая позиция: Lead Engineer, Partner в веб-студии «Pugofka».

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

Разрабатывал и поддерживал приложения на Tarantool, исправлял аварии на production-кластерах, расследовал инциденты.

Веду тренинги, рассказываю о своей работе на Highload и Хабре.

Интересы: распределенные системы и базы данных
Образование: Бакалавр Программной инженерии, МИЭТ, Магистр Прикладной математики, МАИ

Преподаватель
В отрасли бэкенд-разработки на Java более 6 лет. Занимался fullstack-разработкой приложений, разработкой высоконагруженных compute-grid систем, а также микросервисов и etl-пайплайнов. Сейчас в роли старшего разработчика работаю над сервисами платежных систем в Unlimint.

Есть опыт работы с сервисами Hadoop (HDFS, HBase), оркестраторами (Airflow, Spring Cloud Data Flow), MPP-базами (Cassandra, Greenplum, Clickhouse).

Интересы: BigData, Blockchain, NFT

Образование: Master Degree in Computer Science and IT, ЮУрГУ, факультет ВШЭКН.

Преподаватель
DevOps инженер, golang разработчик. Более 10 лет в IT в различных компаниях по всему миру. В качестве тимлида внедрял автоматизацию в сети отелей Movenpick в Дубае, есть опыт работы в качестве golang-разработчика в форекс-компании на Кипре.

Преподаватель
20+ лет на проектах заказной разработки в ИТ.
Десятки успешных проектов, в том числе - по государственным контрактам.
Опыт разработки и внедрения ERP-систем, open-source решений, поддержка высоконагруженных приложений.
Преподаватель курсов по Linux, Kuber, MLOps, DataOps, SolutionArchitect, IaC, SRE, а так же наставник курса HighLoad

Преподаватель
Никита
Сапогов
Константин
Новаковский
Виталий
Юшкевич
Игорь
Золотарев
Андрей
Поляков
Илья
Феоктистов
Анатолий
Бурнашев

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

Никита Сапогов
Первый html-сайт сделал в 2006г, c 2011г начался мой профессиональный путь в IT.

Как и многие админил сервера, проектировал базы данных, верстал сайты, писал бэкенды и решал проблемы с производительностью.

С 2014г и по сей день работаю в интернет магазине Ситилинк, который за это время вырос из команды 8 разработчиков в команду из 200+ ИТ специалистов, с кратным увеличением нагрузки, и я в ней занял место руководителя Backend.

С проблемами высоких нагрузок встречаемся каждый день, в связи с этим, и не только, уже перешли от монолитного PHP+MSSQL на микросервисную архитектуру Go + Tarantool/PostgreSQL.

Еще список страшных слов с которыми приходится сталкиваться: Kubernetes, Docker, Kafka, gRPC, Avro, OpenApi, ELK stack, Reindexer, Envoy, Prometheus, Grafana, Vault и т.д.

Руководитель программы
Константин Новаковский
Инженер DNS в CDN G-Corelabs
Закончил военную академию связи им. С. М. Будённого в 2009 году ("Эксплуатация вычислительных машин, комплексов, систем и сетей специального назначения")

Первый html-сайт сделал в 1999.

Параллельно с учёбой в ВУЗе администрировал серверы веб-студии и работал в техподдержке виртуального хостинга (Infobox).
С 2010 по 2019 работал в Selectel: начал с системного инженера датацентра, руководил системными инженерами, занимался отказоустойчивостью и администрированием баз данных (postgresql), виртуализацией (openvz, xen, kvm), хостингом DNS (включая организацию размещения одного из узлов корневого dns-сервера k.root), отвечал за работоспособность проекта vscale.io.

С 2020 являюсь инженером команды DNS в CDN G-Corelabs (80+ точек присутствия).
Из технологий работал с: bgp (quagga, exabgp, bird), anycast, dns (bind, powerdns, coredns, unbound), postgresql, clickhouse, redis, consul, nomad, rabbitmq, ansible, puppet, docker, libvirt, openstack, ceph, pacemaker, linux, python, C, perf, prometheus, grafana.

Наставник
Виталий Юшкевич
Lead Engineer
В 2011 году с отличием закончил ИТМО по специальности «Информационные технологии и системы».
Профессиональный опыт с 2009 года.

Принимал участие в работе над проектами и продуктами разного масштаба и сложности. Эксперт в области разработки и масштабирования ecommerce проектов.
Активный участник русскоязычного сообщества Laravel.

Текущая позиция: Lead Engineer, Partner в веб-студии «Pugofka».

Преподаватель
Игорь Золотарев
Внешний консультант в Tarantool/VK
Занимаюсь разработкой инструментов для создания, управления и мониторинга высоконагруженных систем на Tarantool. Основные задачи - улучшение алгоритмов фейловера.

Разрабатывал и поддерживал приложения на Tarantool, исправлял аварии на production-кластерах, расследовал инциденты.

Веду тренинги, рассказываю о своей работе на Highload и Хабре.

Интересы: распределенные системы и базы данных
Образование: Бакалавр Программной инженерии, МИЭТ, Магистр Прикладной математики, МАИ

Преподаватель
Андрей Поляков
Старший разработчик в Unlimint
В отрасли бэкенд-разработки на Java более 6 лет. Занимался fullstack-разработкой приложений, разработкой высоконагруженных compute-grid систем, а также микросервисов и etl-пайплайнов. Сейчас в роли старшего разработчика работаю над сервисами платежных систем в Unlimint.

Есть опыт работы с сервисами Hadoop (HDFS, HBase), оркестраторами (Airflow, Spring Cloud Data Flow), MPP-базами (Cassandra, Greenplum, Clickhouse).

Интересы: BigData, Blockchain, NFT

Образование: Master Degree in Computer Science and IT, ЮУрГУ, факультет ВШЭКН.

Преподаватель
Илья Феоктистов
Systems Expert в Glovo, Барселона
DevOps инженер, golang разработчик. Более 10 лет в IT в различных компаниях по всему миру. В качестве тимлида внедрял автоматизацию в сети отелей Movenpick в Дубае, есть опыт работы в качестве golang-разработчика в форекс-компании на Кипре.

Преподаватель
Анатолий Бурнашев
Эксперт Центра практик обеспечения надёжности в MTS.Digital / Руководитель курса DevRel
20+ лет на проектах заказной разработки в ИТ.
Десятки успешных проектов, в том числе - по государственным контрактам.
Опыт разработки и внедрения ERP-систем, open-source решений, поддержка высоконагруженных приложений.
Преподаватель курсов по Linux, Kuber, MLOps, DataOps, SolutionArchitect, IaC, SRE, а так же наставник курса HighLoad

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

Отзывы

4
Евгений
Ролдухин
Здорово, что наконец-то появился полноценный курс по построению Highload систем!
До этого альтернативой было только самостоятельного изучение и сбор информации с конференций и чтение статей.

Что было хорошо:
Курс в целом оставил приятное впечатление, однозначно выросло понимание и возможный инструментарий для работы. Например, лямбда-архитектура, Tarantool, cARP были для меня абсолютно неизвестными вещами. Полезными были разборы кейсов реальной архитектуры.

Что было плохо:
- Крайне долгая проверка домашних заданий.. и частые переносы занятий, это крайне демотивирует.
- Дублирование: спикеры были разные и было несколько раз (больше 3х), что они начали повторять в своей лекции уже пройденный материал.

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

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

Что было хорошо:
Курс в целом оставил приятное впечатление, однозначно выросло понимание и возможный инструментарий для работы. Например, лямбда-архитектура, Tarantool, cARP были для меня абсолютно неизвестными вещами. Полезными были разборы кейсов реальной архитектуры.

Что было плохо:
- Крайне долгая проверка домашних заданий.. и частые переносы занятий, это крайне демотивирует.
- Дублирование: спикеры были разные и было несколько раз (больше 3х), что они начали повторять в своей лекции уже пройденный материал.

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

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

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

— Владение одним из языков программирования при помощи которого можно написать сервер

— Навыки работы с SQL (составление запросов): в процессе обучения используется MySQL/PostgreSQL

— Навыки работы с Linux

Подготовительный курс
Курс рассчитан для программистов и администраторов, которые хотят освоить ОС Linux с нуля

На курсе мы:

  • детально разберем основные команды в Linux и научимся работать в консоли

  • познакомимся с зомби, сиротами и демонами

  • выясним, что такое ядро операционной системы и системные вызовы

  • научимся работать со стандартными потоками ввода/вывода

  • разберем некоторые особенности файловой системы ext4

Записаться

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

Образовательный процесс происходит ONLINE в формате вебинаров (язык преподавания — русский). В рамках курса слушателям предлагаются к выполнению домашние задания, которые позволяют применить на практике знания, полученные на занятиях. По каждому домашнему заданию преподаватель дает развернутый фидбек. В течение всего учебного процесса преподаватель находится в едином коммуникационном пространстве с группой, т. е. при обучении слушатель может задавать преподавателю уточняющие вопросы по учебным материалам.
Корпоративное обучение для ваших сотрудников
>
Программа обучения
В процессе обучения вы получите комплексные знания и навыки.
C 29 June
Тема 1. Проблемы высоких нагрузок // ДЗ
Тема 2. Нагрузочное тестирование
Тема 3. Введение в высокие нагрузки
C 13 July
Тема 4. Индексы: структуры данных
Тема 5. Индексы: оптимизация запросов // ДЗ
Тема 6. Репликация: основы и алгоритмы
Тема 7. Репликация: виды репликации
Тема 8. Репликация: практическое применение // ДЗ
Тема 9. Кеширование // ДЗ
Тема 10. Транзакции в реляционных СУБД
Тема 11. Шардирование: основы и алгоритмы
Тема 12. Шардирование: практическое применение // ДЗ
Тема 13. Очереди и отложенное выполнение
Тема 14. Очереди и отложенное выполнение (часть 2) // ДЗ
Тема 15. In-Memory СУБД // ДЗ
Тема 16. OLAP и OLTP
Тема 17. Обзор ClickHouse
C 7 September
Тема 18. Паттерны декомпозиции системы на микросервисы
Тема 19. Когда нужны микросервисы, а когда монолиты
Тема 20. Протокол HTTP (часть 1)
Тема 21. Протокол HTTP (часть 2)
Тема 22. Принципы организации микросервисов. Типы взаимодействий // ДЗ
Тема 23. Балансировка и отказоустойчивость (часть 1)
Тема 24. Балансировка и отказоустойчивость (часть 2) // ДЗ
Тема 25. Использование асинхронности обработки
Тема 26. Распределенные транзакции // ДЗ
Тема 27. Инфраструктура микросервисов
Тема 28. Системы конфигурации
Тема 29. Введение в docker. Обзор docker-compose
Тема 30. Мониторинг и алертинг // ДЗ
C 31 October
Тема 31. System Design
Тема 32. Новостной портал
Тема 33. Рекламная система
Тема 34. Почтовый сервис
Тема 35. Облачное хранилище
Тема 36. Сайт знакомств
C 21 November
Тема 37. Выбор темы и организация проектной работы
Тема 38. Консультация по проектам и домашним заданиям
Тема 39. Защита проектных работ
Скачать подробную программу
Выпускной проект
Выпускной проект — возможность закрепить навыки, наработанные в процессе обучения. Это отдельная работа, на выполнение которой отводится последний месяц обучения. Тема проекта обсуждается с преподавателем в индивидуальном порядке.
Прошедшие открытые вебинары
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Эффективное использование clickhouse в высоких нагрузках
Андрей Поляков
День открытых дверей
2 December 2021 года в 20:00
Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!

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


  • получите материалы по всем пройденным занятиям (видеозаписи вебинаров, выполненные домашние задания, выпускной проект)

  • сможете писать рациональный и хорошо структурированный код

  • получите сертификат об окончании курса

  • приобретёте навыки работы с алгоритмами и структурами данных, которые необходимы при реализации сложных проектов в крупных компаниях

  • получите приглашение пройти собеседование в компаниях-партнёрах (в случае успешного обучения)

Дата выдачи сертификата: 3 January 2024 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Highload Architect»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Директор департамента образования
ООО “Отус Онлайн-Образование”
Анна Фирсова

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Highload Architect»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Директор департамента образования
ООО “Отус Онлайн-Образование”
Анна Фирсова

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.
Стоимость обучения
Cтоимость указана для оплаты физическими лицами
106 500 ₽
Продолжительность
5 месяцев
Начало занятий
29 June