Курсы по нейросетям со скидкой до 30%
Курсы по нейросетям со скидкой до 30%
Выбрать курс
Domain Driven Design и асинхронная архитектура

Специальная цена

Рассрочка

Domain Driven Design и асинхронная архитектура

Освойте современные подходы к проектированию устойчивых распределенных систем и улучшите свои навыки разработки

31 марта

3 месяца

Онлайн

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

  • Software Engineers
  • Frontend Developers
  • Backend Developers
  • Tech Lead Developers
  • Team Lead Developers
  • Senior DevOps Engineers

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

 
  • Язык программирования:
    Уверенное знание одного из языков (Python, Java, C#, JavaScript/TypeScript, Go и т.д.)
    Понимание основных парадигм: ООП, функциональное программирование
  • Базы данных:
    Понимание реляционных баз данных (SQL, PostgreSQL, MySQL) и NoSQL (MongoDB, Redis)
    Базовые навыки работы с транзакциями, индексами и запросами
  • Инструменты разработки:
    Опыт работы с Git (ветки, merge, pull requests)
    Базовые навыки работы с Docker (запуск контейнеров, создание образов)
  • Общие знания:
    Понимание основ сетевых протоколов (HTTP, TCP/IP)

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

  • Основы асинхронности. Понимание принципов асинхронной архитектуры и разницы между синхронным и асинхронным взаимодействием, что позволит осознанно подходить к проектированию систем
  • Освоение стратегических и тактических шаблонов Domain Driven Design. Включая связь с принципами SOLID, что улучшит способности к проектированию сложных бизнес-решений
  • Архитектурные паттерны. Навыки проектирования асинхронных систем с использованием популярных архитектурных паттернов, таких как Event Sourcing и CQRS, что поможет создавать устойчивые и масштабируемые приложения
  • Работа с инструментами. Умение использовать специализированные инструменты для обработки событий, логирования и анализа ошибок, что повысит качество разработки и поддержки приложений
  • Решение специальных вопросов. Понимание приемов для управления распределенными транзакциями и оптимизации масштабируемых приложений, что позволит улучшить архитектуру уже существующих проектов
 

Вы научитесь:

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

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

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

Оптимальная нагрузка

Возможность совмещать учебу с работой

Портфолио

Индивидуальная разработка итоговой проектной работы 

Перспективы

 

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

Партнеры

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

  • Получите помощь с оформлением резюме, портфолио и сопроводительного письма
  • Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
  • Пройдете карьерную консультацию с нашим HR-специалистом
  • Получите рекомендации, как искать работу, и советы по прохождению собеседования
Формат обучения

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


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

Обратная связь


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

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


Чат в Telegram для общения преподавателей и студентов

Программа

Введение

Этот модуль знакомит с фундаментальными принципами асинхронной архитектуры, объясняя, почему асинхронность стала ключевым элементом современных распределённых систем, показывает разницу между синхронным и асинхронным взаимодействием.

Тема 1: Введение в DDD и его роль в архитектуре ПО

Тема 2: Домены, субдомены и бизнес-логика. Работа с экспертами предметной области

Тема 3: Ограниченные контексты и их границы

Тема 4: Универсальный язык в команде

Тема 5: Основы SOLID принципов

Тема 6: Связь SOLID и DDD

Тема 7: Q&A-сессия

Тактические паттерны DDD

Тема 1: Сущности и Value Objects

Тема 2: Агрегаты и их корни

Тема 3: Репозитории и фабрики

Тема 4: Domain Services и их роль

Тема 5: Domain Events для асинхронности

Тема 6: Q&A-сессия

Инфраструктура и Интеграция

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

Тема 1: Базы данных: виды и модели

Тема 2: Транзакции и consistency в DDD

Тема 3: Брокеры сообщений и асинхронность

Тема 4: Методы интеграции контекстов

Тема 5: Логирование и системы мониторинга

Тема 6: Q&A-сессия

Стратегические паттерны и Продвинутая практика

Тема 1: Context Mapping и карты контекстов

Тема 2: Стратегические шаблоны: Partnership, Conformist

Тема 3: Тактические шаблоны: CQRS и Event Sourcing

Тема 4: Hexagonal Architecture с DDD

Тема 5: Применение в микросервисах и CI/CD

Тема 6: Кейс-стади: Полная система на DDD

Тема 7: Q&A-сессия

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

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

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

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

Тема 4: Проектная работа

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

Выпускной проект


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

Вы сможете объединиться с группой и разрабатывать один масштабный проект. А ваши домашние задания станут частью проектной работы.

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

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

Алексей Максимов

Tech Lead

Selectoria.ru

Евгений Аверкин

Senior Software Engineer

ООО «Дойче Телеком АйТи РУС»

Сергей Прощаев

Руководитель направления Java-разработки в FinTech

Мунир Рафиков

Архитектор

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

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

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

«Саги» vs распределённые транзакции: как моделировать рабочие потоки в распределённой архитектуре
Сергей Прощаев
На открытом уроке рассмотрим:
- Почему классические распределённые транзакции (2PC) плохо масштабируются и ограничивают развитие систем
- Что такое Saga-паттерн и какие виды саг существуют (оркестрация и хореография)
- Как выбирать между сагами и транзакциями в зависимости от домена и бизнес-требований
- Типовые ошибки при проектировании саг: некорректные компенсации, потеря консистентности, сложность отладки
- Как связывать бизнес-процессы, bounded contexts и асинхронные взаимодействия в терминах DDD

После урока вы будете знать:
- В каких случаях распределённые транзакции допустимы, а в каких — архитектурно вредны;
- Как моделировать долгоживущие бизнес-процессы без жёсткой синхронизации сервисов;
- Как проектировать саги, опираясь на доменную модель, а не на технические ограничения;
- Какие компромиссы по отказоустойчивости, консистентности и сложности сопровождения необходимо учитывать
- Как принимать архитектурные решения для распределённых систем с точки зрения бизнеса и домена
...
4 марта в 17:00
Открытый вебинар
API Gateway и не только: шаги к идеальной архитектуре внешних API
Сергей Прощаев
На открытом уроке рассмотрим:
- Зачем в распределённой архитектуре нужен API Gateway и какие задачи он решает на уровне системы
- Ограничения и типовые проблемы подхода «единый Gateway для всего»
- Альтернативные и дополняющие паттерны: BFF (Backend for Frontend), Anti-Corruption Layer, публичные и внутренние API
- Как проектировать внешние API с учётом bounded contexts и эволюции доменной модели
- Типовые ошибки при проектировании внешних API: протекание внутренней модели, избыточная связанность, сложность версионирования
- Роль асинхронных API и событий во внешних интеграциях

После урока вы будете знать:
- Когда API Gateway является архитектурно оправданным решением, а когда создаёт дополнительные риски
- Как выстраивать архитектуру внешних API, не нарушая границы доменов
- Как выбирать между Gateway, BFF и прямыми интеграциями в зависимости от сценариев использования
- Как проектировать внешние контракты, устойчивые к изменениям внутренней реализации
- Какие архитектурные компромиссы необходимо учитывать при развитии публичных и партнёрских API
...
18 марта в 17:00
Открытый вебинар

Этот курс может оплатить ваш работодатель

Обучайтесь за счёт работодателя или разделите оплату 50/50
  • Подробно расскажем об интересующем вас курсе
  • Объясним, как договориться с работодателем
  • Сообщим стоимость обучения и варианты оплаты
  • Ответим на вопросы
  • Предоставим шаблон договора и счёт на оплату

Подтверждение знаний и навыков

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

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

  • Удостоверение о повышении квалификации: если вы успешно защитили выпускной проект
    и готовы предоставить копию документа о высшем или среднем профессиональном образовании

  • Доступ к учебным материалам курса

  • Ваш личный проект, который поможет проходить собеседования

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

Почему OTUS?
Мы обучаем IT-сотрудников уже 6 лет, через OTUS прошли 20 000 студентов. Специализируемся на программах для людей с опытом, а ещё – быстро переформатируем учебные программы под изменения в сфере информационных технологий.
Обязательно ли выполнять и защищать выпускной проект?
Для получения сертификата OTUS и УПК (удостоверение повышения квалификации государственного образца) необходимо сдать проект. Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем. Для получения УПК также понадобится предъявить документ об образовании.
Обязательно ли выполнять все домашние задания?
Да, если хотите хорошо отточить навыки. На курсе будут практические домашние задания, их выполнение занимает примерно 2-3 часа.
Смогу ли я совмещать учебу с работой?
Да. Программа курса рассчитана на студентов, у которых мало времени. Лекции проводим дважды в неделю, домашние задания — не чаще 1 раза в неделю.
Что, если в середине курса я не смогу продолжать обучение?
Вы можете бесплатно перейти в другую группу. Но только один раз.
Я могу вернуть деньги?
Да, мы можем вернуть деньги за то время курса, которое вы ещё не успели отучиться. Например, если курс длится пять месяцев, а вы отучились один, мы вернём деньги за оставшиеся четыре месяца.
Может ли мой работодатель оплатить курс?
Да. Когда свяжетесь с нашим менеджером, уточните, что оплачивать курс будет ваш работодатель.
Остались вопросы?
Оставляйте заявку и задавайте вопросы менеджеру, команда курса с ним на связи и постарается дать вам исчерпывающую информацию.