Software Architect: Best Practice по разработке архитектуры программного обеспечения
OTUS исполняется 3 года!
Скидки до 30% в честь дня рождения! Успейте купить курс по выгодной цене ➞
Выбрать курс

Курсы

Программирование
MS SQL Server разработчик AWS для разработчиков CI/CD на AWS, Azure и Gitlab Архитектура и шаблоны проектирования
-20%
Разработчик C++
-20%
Разработчик Java
-20%
React.js разработчик
-20%
Интенсив "Оптимизация в Java"
-50%
Framework Laravel
-30%
Базы данных
-20%
Разработчик на Spring Framework
-20%
Разработчик Golang
-10%
Разработчик C#
-10%
Team Lead 2.0
-30%
Vue.js разработчик
-20%
Разработчик Java Enterprise ReactJS/React Native-разработчик Разработчик голосовых ассистентов и чат-ботов
Специализации Курсы в разработке Подготовительные курсы
+7 499 110-61-65
Специальная цена

Архитектор программного обеспечения

Best Practice по разработке архитектуры программного обеспечения
Подойдет ли мне этот курс?

Длительность

4 месяца

Начало

31 марта

Занятия

Вт 20:00, Пт 20:00

Общая стоимость

60 000 ₽ 42 000 ₽

В месяц

17 500 ₽

В кредит:

17500 ₽ в месяц

Хочу дешевле
Общая стоимость
60 000 ₽ 42 000 ₽
В месяц: 17 500 ₽
В кредит: 42000 ₽
в месяц
Продолжительность
4 месяца, 4 академ. часа в неделю
Вт 20:00, Пт 20:00
Начало занятий
31 марта
Что даст вам этот курс

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

Особенности программы
В процессе обучения мы рассмотрим множество нетривиальных проблем проектирования backend-приложений и их дальнейшего сопровождения. Изучим не только паттерны проектирования новых сервисов, но и освоим подходы к работе с legacy-сервисами. Научимся решать проблемы с согласованностью изменений (например, порядок применения транзакций) или с оркестрацией сервисов, что будет полезно тем, кто работает в сфере распределенных / децентрализованных систем.
Как разработчик, научитесь базовым навыкам работы с Kubernetes.

Для кого этот курс
Программа создана специально для разработчиков, Team Lead и администраторов, готовых освоить Best Practice по разработке архитектуры программного обеспечения и сложных распределенных и отказоустойчивых систем.

После обучения
Выпускники на профессиональном уровне смогут планировать архитектуру и создавать масштабируемые, fault-tolerant приложения, решая нетривиальные задачи в рамках распределенных и децентрализованных систем и используя в проектах классические паттерны проектирования (шардирование, репликация, и т.д.).

Итоговый проект будет состоять из серии домашних заданий.

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



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

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

лучшие практики проектирования архитектуры ПО

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

Преподаватели
Егор Зуев
TeamLead в компании InBit
Станислав Щетинников
Михаил Кузнецов
ING Group
Вадим Тисов
Ведущий разработчик в QIWI
Владислав Родин
Владимир Дроздецкий
Разработчик инфраструктуры exposcan.ru, crispmessenger.com
Более 10 лет суммарного опыта работы. Принимал участие в формировании и развитии таких стартапов, как Chronobank (teamLead), NeverEatAlone (teamLead), NeuroIO (CTO, Co-founder), Tymlez (Lead Dev). За свою карьеру Егору удалось поработать в разных отраслях, включая телемедицину, IOT, Blockchain, социальные сети, и телеметрию. Успел попробовать себя в качестве мобильного разработчика, игродела, фронт-энд разработчика, бэкенд разработчика.

Имеет звание магистра, закончил НИУ ВШЭ по направлению “информатика и вычислительная техника” с отличием. Также Егор занимался научными исследованиями при МГУ (IOT, умный дом), МГТУ Имени Баумана (Микроконтроллеры для вентиляции), Плехановском университете и МАТИ (Нейрология, определение артефактов). На текущий момент времени, Егор занимается научными исследованиями на базе НИУ ВШЭ по направлению “распределенные системы”.

Является победителем Московского отбора “imagine cup” от Microsoft (команда thinger), участником хакатона от IBM, победителем программы “innostar” (инновационные проекты), победитель программы “У.М.Н.И.К” по развитию малых предприятий (инновационные проекты). Также, Егор прошел сертификацию от Cambridge на знание английского языка (FCE, CAE).

Преподаватель
Программирует больше 10 лет. Архитектурой систем занимается уже больше 6 лет.

На данный момент директор разработки в Домклик. До этого несколько лет работал руководителем разработки в myTarget. Любит Data Science, python, golang, DDD и микросервисную архитектуру.

Руководитель программы
Fullstack developer в международной финансовой корпорации ING с главным офисом в Амстердаме (Нидерланды). Проектирует и поддерживает процессы WEB-разработки. Окончил химфак МГУ.

Программирует на JavaScript уже около 8 лет. Консультировал по JS-разработке, занимался популяризацией фронтенд-фреймворка Vue.js.

Кроме JavaScript, имеет опыт разработки на Python и Java. Выступал докладчиком на конференциях Frontend Conf Moscow, UtahJS и др.

Закончил магистратуру МФТИ факультет ФИВТ. Занимается разработкой нового платежного процессинга на основе микросервисной архитектуры на Kotlin, Spring Boot, Spring Cloud, Kubernetes.

Интересы:
разработка распределенных систем, DevOps

Компании:
Сбербанк-Технологии, Альфа-Лаборатория

Сертификаты:
Oracle Certified Professional, Professional Scrum Master level 1

Работал Java- разработчиком в таких компаниях как НСПК и Яндекс. Занимался проблемами высокой нагрузки, работая как на Spring'овом, так и на Java EE'шном стеках. Улучшал инфраструктуру проектов, внедряя CI/CD и миграции БД. Строил С4- архитектурные схемы для проектов. Преподаю в Московском Физико-Техническом Институте и на портале foxminded.

Преподаватель
Занимается поддержкой и траблшутингом серверов MySQL, приложений, написанных на PHP, etc. Активно внедряет и использует докер со всей его инфраструктурой. Придерживается мнения, что всё должно быть декларативно описано, поэтому использует Ansible.

Разрабатывает и настраивает инфраструктуру для таких стартапов, как exposcan.ru, crispmessenger.com. Занимается мониторингом при помощи Zabbix и Prometheus, создаёт графики в Grafana.

Чтобы легко подстраиваться под требования бизнеса, деплоит и описывает процессы в Gitlab, собирает и обрабатывает логи в ELK и Graylog2. Любит и умеет пользоваться активным сетевым оборудованием вендора MikroTik.

Преподаватель
Егор
Зуев
Станислав
Щетинников
Михаил
Кузнецов
Вадим
Тисов
Владислав
Родин
Владимир
Дроздецкий
Преподаватели
Егор Зуев
TeamLead в компании InBit
Более 10 лет суммарного опыта работы. Принимал участие в формировании и развитии таких стартапов, как Chronobank (teamLead), NeverEatAlone (teamLead), NeuroIO (CTO, Co-founder), Tymlez (Lead Dev). За свою карьеру Егору удалось поработать в разных отраслях, включая телемедицину, IOT, Blockchain, социальные сети, и телеметрию. Успел попробовать себя в качестве мобильного разработчика, игродела, фронт-энд разработчика, бэкенд разработчика.

Имеет звание магистра, закончил НИУ ВШЭ по направлению “информатика и вычислительная техника” с отличием. Также Егор занимался научными исследованиями при МГУ (IOT, умный дом), МГТУ Имени Баумана (Микроконтроллеры для вентиляции), Плехановском университете и МАТИ (Нейрология, определение артефактов). На текущий момент времени, Егор занимается научными исследованиями на базе НИУ ВШЭ по направлению “распределенные системы”.

Является победителем Московского отбора “imagine cup” от Microsoft (команда thinger), участником хакатона от IBM, победителем программы “innostar” (инновационные проекты), победитель программы “У.М.Н.И.К” по развитию малых предприятий (инновационные проекты). Также, Егор прошел сертификацию от Cambridge на знание английского языка (FCE, CAE).

Преподаватель
Станислав Щетинников
Программирует больше 10 лет. Архитектурой систем занимается уже больше 6 лет.

На данный момент директор разработки в Домклик. До этого несколько лет работал руководителем разработки в myTarget. Любит Data Science, python, golang, DDD и микросервисную архитектуру.

Руководитель программы
Михаил Кузнецов
ING Group
Fullstack developer в международной финансовой корпорации ING с главным офисом в Амстердаме (Нидерланды). Проектирует и поддерживает процессы WEB-разработки. Окончил химфак МГУ.

Программирует на JavaScript уже около 8 лет. Консультировал по JS-разработке, занимался популяризацией фронтенд-фреймворка Vue.js.

Кроме JavaScript, имеет опыт разработки на Python и Java. Выступал докладчиком на конференциях Frontend Conf Moscow, UtahJS и др.

Вадим Тисов
Ведущий разработчик в QIWI
Закончил магистратуру МФТИ факультет ФИВТ. Занимается разработкой нового платежного процессинга на основе микросервисной архитектуры на Kotlin, Spring Boot, Spring Cloud, Kubernetes.

Интересы:
разработка распределенных систем, DevOps

Компании:
Сбербанк-Технологии, Альфа-Лаборатория

Сертификаты:
Oracle Certified Professional, Professional Scrum Master level 1

Владислав Родин
Работал Java- разработчиком в таких компаниях как НСПК и Яндекс. Занимался проблемами высокой нагрузки, работая как на Spring'овом, так и на Java EE'шном стеках. Улучшал инфраструктуру проектов, внедряя CI/CD и миграции БД. Строил С4- архитектурные схемы для проектов. Преподаю в Московском Физико-Техническом Институте и на портале foxminded.

Преподаватель
Владимир Дроздецкий
Разработчик инфраструктуры exposcan.ru, crispmessenger.com
Занимается поддержкой и траблшутингом серверов MySQL, приложений, написанных на PHP, etc. Активно внедряет и использует докер со всей его инфраструктурой. Придерживается мнения, что всё должно быть декларативно описано, поэтому использует Ansible.

Разрабатывает и настраивает инфраструктуру для таких стартапов, как exposcan.ru, crispmessenger.com. Занимается мониторингом при помощи Zabbix и Prometheus, создаёт графики в Grafana.

Чтобы легко подстраиваться под требования бизнеса, деплоит и описывает процессы в Gitlab, собирает и обрабатывает логи в ELK и Graylog2. Любит и умеет пользоваться активным сетевым оборудованием вендора MikroTik.

Преподаватель
Егор Зуев о курсе «Архитектор программного обеспечения»
Необходимые знания
Знание и опыт работы в одном из следующих стеков: Java (spring / Java EE), Node.js, C# (.net), python (django), Golang, PHP
Процесс обучения
Образовательный процесс происходит ONLINE в формате вебинаров (язык преподавания — русский). В рамках курса слушателям предлагаются к выполнению домашние задания, которые позволяют применить на практике знания, полученные на занятиях. По каждому домашнему заданию преподаватель дает развернутый фидбек. В течение всего учебного процесса преподаватель находится в едином коммуникационном пространстве с группой, т.е. при обучении слушатель может задавать преподавателю уточняющие вопросы по учебным материалам.
Программа обучения
Модуль 1
Инфраструктурные паттерны
Модуль 2
КОММУНИКАЦИОННЫЕ ПАТТЕРНЫ
Модуль 3
РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ
Модуль 4
ДЕЦЕНТРАЛИЗОВАННЫЕ СИСТЕМЫ
Модуль 5
Итоговый проект
Инфраструктурные паттерны
Тема 1: Плюсы и минусы микросервисной архитектуры.
Плюсы и минусы монолитов.
Плюсы и минусы микросервисной архитектуры.
Основные паттерны микросервисной архитектуры.
Тема 2: Основы работы с Docker.
10 апреля, 20:00 — 21:30
Лектор: Владимир Дроздецкий
Домашние задания: 1
1 Обернуть приложение в docker-образ и запушить его на Dockerhub
Тема 3: Основы работы с Kubernetes (часть 1)
Архитектура и базовые сущности Кubernetes: Pod, Deployment, ReplicaSet, StatefulSet, Service
13 апреля, 20:00 — 21:30
Лектор: Станислав Щетинников
Домашние задания: 1
1 Развернуть приложение в minikube
Тема 4: Основы работы с Kubernetes (часть 2)
Архитектура и базовые сущности Кubernetes: ConfigMap, Persistent Volume, Persistent Volume Claim
14 апреля, 20:00 — 21:30
Лектор: Станислав Щетинников
Домашние задания: 1
1 Добавить к развернутому приложению БД.
Тема 5: Мониторинг и алертинг.
Мониторинг и алертинг
USE, RED и Four Golden Signals
SLI, SLO, SLA и бюджет на ошибки
Паттерны для сбора метрик
Управление инцидентами
17 апреля, 20:00 — 21:30
Лектор: Станислав Щетинников
Тема 6: Prometheus. Grafana.
Prometheus.
Grafana.
AlertManager.
PromQL
21 апреля, 20:00 — 21:30
Лектор: Станислав Щетинников
Домашние задания: 1
1 Инструментировать сервис метриками и алертами.
КОММУНИКАЦИОННЫЕ ПАТТЕРНЫ
Тема 1: Авторизация и аутентификация в микросервисной архитектуре.
Основные паттерны аутентификации и авторизации.
JWT токены.
24 апреля, 20:00 — 21:30
Домашние задания: 1
1 Авторизация и аутентификация внутри сервиса
Тема 2: Backend for frontends. Apigateway.
Паттерны BFF и APIgateway.
28 апреля, 20:00 — 21:30
Домашние задания: 1
1 Реализовать клиентскую аутентификацию и авторизацию с помощью apigateway.
Тема 3: Асинхронный и синхронный API
Основные типы межсервисного взаимодействия.
Версионирование API
Описание API.
12 мая, 20:00 — 21:30
Тема 4: GraphQL, Advanced REST API practices.
GraphQL.
Odata.
15 мая, 20:00 — 21:30
Тема 5: Event Driven Architecture.
Основы Event Driven Architecture.
19 мая, 20:00 — 21:30
Тема 6: Распределенные очереди сообщений на примере Kafka.
22 мая, 20:00 — 21:30
Домашние задания: 1
1 Реализовать сервис нотификаций.
Тема 7: Паттерны кэширования и основные принципы.
Архитектурные паттерны кэширования.
Различные алгоритмы кэширования и
26 мая, 20:00 — 21:30
Домашние задания: 1
1 Реализовать один из паттернов кэширования в приложении.
Тема 8: Тестирование микросервисов.
Сценарное нагрузочное тестирование.
Consumer based contracts.
29 мая, 20:00 — 21:30
Домашние задания: 1
1 Реализовать нагрузочное тестирование для приложения
РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ
Тема 1: Паттерны декомпозиции сервисов.
Декомпозиция про предметной области.
Event Storming
2 июня, 20:00 — 21:30
Домашние задания: 1
1 Декомпозировать приложение на сервисы с помощью одно из паттернов декомпозиции.
Тема 2: Введение в распределенные системы.
BASE. ACID.
Проблемы CAP теоремы.
Основные проблемы.
5 июня, 20:00 — 21:30
Тема 3: Распределенные транзакции.
Проблемы распределенных транзакций.
Паттерн Сага.
9 июня, 20:00 — 21:30
Домашние задания: 1
1 Реализовать паттерн Сага для организации распределенной транзакции.
Тема 4: Идемпотетность и коммутативность API в HTTP и очередях.
Идемпотентность и коммутативность API.
Idempotent reciever.
16 июня, 20:00 — 21:30
Домашние задания: 1
1 Реализовать идемпотентный API одного из методов
Тема 5: Шардирование.
Виды шардинга
Стратегии шардирования
Консистентное шардирование
19 июня, 20:00 — 21:30
Домашние задания: 1
1 Реализовать шардирование в одном из сервисов
Тема 6: Паттерны поддержания консистентности данных
Паттерн Transactional Log.
Инструменты Change Data Capture.
23 июня, 20:00 — 21:30
Тема 7: Service mesh на примере Istio
Что такое service mesh
Плюсы, минусы и подводные камни service mesh.
Архитектура service mesh на примере Istio
26 июня, 20:00 — 21:30
Домашние задания: 1
1 Добавить в приложение service mesh и построить карту сервисов.
Тема 8: Opentracing и opentelemetry
Концепция observability.
Различные стандарты и инструменты для tracing-а.
Инициатива opentelemetry.
30 июня, 20:00 — 21:30
Домашние задания: 1
1 Добавить distributed tracing в приложение.
Тема 9: Event Sourcing и CQRS
Паттерн Event Sourcing.
Паттерн CQRS.
3 июля, 20:00 — 21:30
Тема 10: Рефакторинг микросервисов. От монолита к микросервису.
Паттерн Strangler.
Паттерны работы с данными при рефакторинге.
7 июля, 20:00 — 21:30
ДЕЦЕНТРАЛИЗОВАННЫЕ СИСТЕМЫ
Тема 1: CP cистемы.
Проблема византийских генералов
Алгоритмы консенсуса.
Алгоритм Raft.
Пример реализации своей CP системы
10 июля, 20:00 — 21:30
Тема 2: AP системы.
Алгоритм GOSSIP (Scuttlebut)
Пример реализации своей AP системы
14 июля, 20:00 — 21:30
Тема 3: Развитие архитектуры. Артефакты архитектуры.
Governance as a Code.
Эволюционное развитие архитектуры.
Процесс управлением архитектурными изменениями.
17 июля, 20:00 — 21:30
Итоговый проект
Тема 1: Консультация по проекту
консультация по проекту. Промежуточный скрининг проектов.
21 июля, 20:00 — 21:30
Домашние задания: 1
1 Проект
Тема 2: Итоговый урок
защита проекта. Защита архитектуры и реализации проекта
24 июля, 20:00 — 21:30
Выпускной проект
Выпускной проект — возможность закрепить навыки, наработанные в процессе обучения. Это отдельная работа, на выполнение которой отводится последний месяц обучения.
Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Микросервисная архитектура: достоинства и недостатки
Станислав Щетинников
День открытых дверей
25 марта в 20:00
Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на e-mail, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Пройти вступительное тестирование
После обучения вы

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

  • сможете планировать архитектуру и создавать масштабируемые, fault-tolerant приложения

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

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

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

Дата выдачи сертификата: 28 августа 2020 года
Ваш сертификат

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

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

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

Успешно закончил курс «Архитектор программного обеспечения»
Выполнено практических заданий: 16 из 16

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

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

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

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

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

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

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

Успешно закончил курс «Архитектор программного обеспечения»
Выполнено практических заданий: 16 из 16

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

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

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.
Общая стоимость
60 000 ₽ 42 000 ₽
В месяц: 17 500 ₽
В кредит: ₽ в месяц
Продолжительность
4 месяца
Начало занятий
31 марта
🔥 Скидки до 50% на новые супер-интенсивы!
«Тестирование игр», «Data Engineer», «работа с протоколом BGP». Узнайте подробности в чате ➞