Middle/Senior
Старт 15 апреля
3 месяца
«Живые» онлайн-сессии
Производительность
и масштабируемость
Самый насыщенный курс, три-в-одном
1) Системный дизайн, проектирование реальных задач
2) Выжать 100K RPS из своих сервисов
3) Научиться работать с кластерными приложениями (практика кластерных Redis, PosgtreSQL+SPQR, CockroachDB)
Синхронно/асинхронная практика
Практика — для highload-интервью
Автор курса
Алексей Рыбак
СТО с 20-летним опытом высоконагруженных проектов
Одним из первых разработчиков Bumble/Badoo, руководил платформенной разработкой, CTO (300 млн пользователей, IPO по оценке $8 млрд)
В Badoo прошел путь от стартап-камикадзе до CTO (300 инженеров) и генерального директора Московского офиса разработки
В роли CTO/VP создавал продукты и строил разработку в российских и глобальных компаниях:
  • «Везет» — второй по размеру такси-агрегатор в России
  • Yum! Brands
  • Fortune 1000 Restaurant Company
Член Программного Комитета конференции Highload++
Что дает буткемп
Асинхронная практика на своем «родном» стэке (Java, Python, PHP, C#, Golang, node.js):
Настройка производительности, нагрузочное тестирование, мониторинг нагрузки
DevOps в «первозданном» виде:
Своя инфраструктура в первый же день
Масштабирование
Практика управления Linux-серверами
Погрузить бекендеров «под капот», поближе к инфраструктуре
Научить основам управления Linux-инфрой, настройке производительности, мониторингу и масштабируемости
Помочь переосмыслить архитектурные подходы в более прагматичном, экономичном, инженерном ключе
Кому подойдет курс
Бекендерам
Программистам
Системным аналитикам и архитекторам
Системным инженерам
Инженерам по нагрузочному тестированию
DevOps и инженерам инфраструктуры
Ваши цели в обучении
Получить фундамент компетенций архитектора сложных и высоконагруженных информационных систем
Получить навыки управления своей собственной инфраструктурой
Получить практику прохождения и проведения секций системного дизайна на интервью
01
02
Бонус
06
Получить навыки нагрузочного тестирования и тюнинга Linux-серверов
Получить навыки масштабирования бекенд-систем в собственном облаке
Получить практику проектирования высоконагруженных систем с архитектурными брейншторм-сессиями, практикой разработки архитектур и разбором ваших решений с подробной обратной связью
03
04
05
Программа обучения
Участники ставят, собирают, конфигурируют свой собственный стэк - мы поддерживаем практически любой стэк (Java, Python, PHP, C#, Golang, node.js; MySQL или PostgreSQL), поскольку вопросы масштабируемости и производительности общеуниверсальны и не зависят от стэка.

Вы изучите основы администрирования Linux: управление пакетами при помощи пакетного менеджера apt, ручная сборка из исходников и управление ручными сборками, конфигурация и управление systemd-сервисами, мониторинг и базовый анализ производительности с Prometheus и Grafana.

Мы обсудим основы параллелизма в Linux, модели серверов, почему nginx работает супер-быстро и лучше, чем Apache, почему MySQL имеет лучшую серверную модель, чем PostgreSQL, и как с этим бороться и успешно использовать PostgreSQL в больших проектах. В дополнение к вашему любимому серверу приложений вы будете использовать nginx в качестве балансировщика и обратного прокси, MySQL или PostgreSQL в качестве базы данных и Memcached или Redis в качестве кэш-сервера.
Как проходит обучение
«Живые» онлайн-сессии
Лекции, брейнштормы и презентации домашних проектов в режиме zoom-встреч (предоставляются записи)
Групповой чат с автором курса и экспертами
Экспертная помощь и ответы на любые вопросы по курсу и практике в течении дня
Асинхронная практика
Вы можете учиться и выполнять задания без отрыва от основной работы/учебы
Своя инфраструктура
С первого дня вам предоставляется доступ к своей инфраструктуре для настройки и тюнинга вашего привычного стэка
Гибкий тайминг для тех, кто много работает
Не более 2-3 часов на выполнение заданий в неделю. Вы также сможете перейти на следующий поток если вдруг отстанете по какой-либо причине
Что говорят о курсе
  • Почему выбрала этот курс?
    Пришла по рекомендации. У меня был явный был пробел в Linux и в управлении Linux-серверов, и, зная эту проблему, он мне посоветовали именно этот курс. Плюс я работаю с кубером, но хочу понимать, что там под капотом

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

    Также я стала значительно уверенее чувствовать себя с командной строкой и управлении Linux. Теперь, полгода спустя, мне кажется это тривиальными задачами, но это был очень важный “левел ап”. Это мне позволило писать мейкфайлы, работать с разными утилитами, взять на себя более низкоуровневые задачи.

    По нагрузке: я не понимала, как мне проверить, что сервис не упадет. У нас нет активной практики нагрузочного тестирования. Благодаря курсу у меня теперь есть отличное понимание, как нагружать и проверять сервис, как интерпретировать результаты, и главное как это сопоставить с физическими ресурсами и возможностями. До курса у меня было очень смутное понимание этого.

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

    У нас были сессии проектирования, на одной мы разбирали мой сервис. Я начала понимать, какие продуктовые метрики мне нужны для анализа потенциальной нагрузки, как их увязать с метриками сервиса. В ближайшее время я соберу все метрики и посчитаю нагрузку. Я так же получила несколько рекомендаций, вынесу эти запросы на архитектурный комитет. Меня очень удивили некоторые выводы, к которым мы пришли, я начала смотреть на проблемы с разных сторон. В целом на работе нет таких дискуссий, которые мы вели на встречах. Сейчас много вопросов с микросервисами и консистентностью - тут курс тоже очень помог. (...) Мы прошли на курсе очень важный самостоятельный практический опыт, и это большой плюс. Очень мало курсов дают такой буст к развитию и к мышлению. В какой-то момент оглядываешься, и понимаешь, что сильно вырос.
    Спасибо что выслушиваешь нас, а это не всегда структурировано. Спасибо за курс и за то, что ты делаешь.
    Анастасия П.
    Бекенд-разработчик Go/PostgreSQL
  • Почему был выбран именно ваш курс?
    У меня был проект, который рос на 20 процентов в месяц, и на котором предполагалось дальнейшее увеличение нагрузки. Хотелось получить понимание, как оценивать требуемые ресурсы и планировать масштабирование. Поэтому курс от Devhands пришелся очень кстати. Альтернатив, кстати, нет.

    Что интересного было на курсе?
    Неожиданно для меня, одной из самых ценных частей курса, стала установка и настройка всех сервисов своими руками. И конечно нагрузочное тестирование. В сочетании с теоретическим материалом, оно дает очень хорошее понимание того, на что надо обращать внимание при оценке нагрузки, что и как влияет на то, как быстро обрабатывается запрос.
    Часть курса по проектированию тоже огонь. Было интересно и самостоятельно проектировать сервисы, и посмотреть, как проектируют сервисы другие участники группы.
    (...)
    В целом впечатление от курса очень положительное, применяю полученные знания на работе, понимаю, как надо настраивать наши сервисы и могу объяснить почему именно так. Понимаю, как оценивать нагрузку на сервис и как планировать увеличение ресурсов при повышении rps, что можно использовать для разделения нагрузки. Думаю, дана хорошая база для работы с нагруженными сервисами, дальше буду ее пополнять в боевых условиях
    Спасибо!

    Анонимный отзыв
    бекенд-разработчик
  • Выбрал курс, потому что CTO Badoo не может не знать про нагрузки, а это были именно те знания, которые я хотел подтянуть. Вторая причина - давно подумываю пройти курсы для повышения навыков, когда ты уже опытный программист и кое-что понимаешь, но таких курсов я не нашел (хотя допускаю, что плохо искал). Все курсы в онлайне - все для новичков. Так что удачное стечение обстоятельств, что кто-то скинул ссылку на девхэндс с темой, которая мне как раз была нужна.

    Узнал порядок цифр нагрузки на хелловорлд и ларавеля. Раньше я думал, что я постоянно работаю на легаси коде и это мой минус как кандидата при поиске работы, т.к. я не знаю популярных фреймворков. Теперь я знаю порядок цифр при нагрузке и мой опыт с легаси кодом наоборот считаю плюсом =)

    Как буду использовать в работе? Теперь у меня более общая картина, а значит я смогу более правильно принимать решения. Я стал еще сильнее, как специалист. Вот конкретные знания по настройке и нагрузкам наверное я буду применять, только если найду стартап на низкой стадии технической готовности, где применятся мои познания. Обычно знания про распаралеливание и нагрузки лежат на плечах девопсов + техлидов. А до такой должности еще надо дорасти. Можно сказать, что я сегодня получаю знания, которые мне понадобятся в будущем.

    Мне очень понравилось комьюнити. Т.е. чем опытнее становишься, тем Уже твоя специфика, тем более "одиноким" специалистом становишься. А теперь я знаю, где задавать интересные для меня вопросы. Это жирный плюс.
    Михаил Д.
    Бекенд-разработчик PHP/MySQL
  • Основной критерий - упор на практику и предоставление инфраструктуры на которой можно применить полученные знания и попрактиковаться. Очень заинтересовали темы: понятный процесс масштабирования от управления одной машиной и далее понятный рост, аналогичный росту компании или росту бизнеса. И у меня есть инфра в доступности, на которой можно применять тут же полученные знания!

    В процессе обучения что было наиболее полезно и интересно?

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

    Удалось ли что-то то уже применять или собираешься ли что-то применять в ближайшее время?

    Много чего применял, у нас параллельно начинался новый e-commerce проект, мне пригодились, например, наши эксперименты с nginx. Вообще мне стало значительно проще использовать инфраструктурные компоненты. Имея практику управления и тюнинга, это становится более простой задачей - поднять, настроить. Ну и тот подход к дизайну, который мы обсуждали и практиковали на сессиях - я его так же применял при дизайне, это помогло собрать в результате эффективное решение.
    Кирилл Ф.
    Backend Developer, Python/PostgreSQL
  • Спасибо тебе большое за курс. Это наверное лучший курс, который я проходил за последние годы. По роду текущий деятельности я так называемый корпоративный архитектор (...). По мимо основных функций, связанных с проектированием, согласованием и контролем реализации архитектурных решений, я также участвую в разработке курсов для архитекторов. Поэтому со своей стороны и могу подтвердить высокий уровень твоего курса. Со своей стороны также его рекомендую знакомым.
    Сергей А.
    архитектор
  • Моя задача на позиции бэкенд тех-лида - внедрять новые практики, контролировать качество технических решений, помогать принимать архитектурные решения. Я пришел на этот курс по рекомендации коллеги, моя цель была не столько погоня за RPS (у нас B2B задачи, и они в основном data-intensive), сколько теоретические и практические подходы к построению распределенных систем.

    Скажу, что мои ожидания от курса полностью оправдались - материал очень интересный, и он совмещает в себе как теоретические знания и концепции, так и практические разборы различных кейсов. Нравится также подача материала, любые темы можно уточнить, обсудить и задать вопросы. О многом узнал впервые, а какие-то вещи смог для себя более структурировано упорядочит: подходы к шардированию, cap/pacelc теоремы. Плюс transaction outbox - это прямо маст хэв для распределенных систем.

    Максим Н.
    бекенд-разработчик Python, Golang / MySQL, ClickHouse
75 000 руб.
Стоимость курса
Запишитесь на курс или получите бесплатную консультацию
Нажимая на кнопку «Записаться на курс», вы подтверждаете, что согласны с политикой конфиденциальности
Или 12 500р в рассрочку на 6 месяцев
Старт: 15 апреля
Две 1,5 часовые Zoom-встречи
Понедельник и среда, в 18:00 MSK
Свой виртуальный сервер в первый же день
8vCPU
12G
NVMe100G