Курс разработки архитектуры ПО

place
Otus
calendar
27 июня
cost
на сайте Otus
duration
4 месяца

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

Карьера

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

Эксперты

Преподаватели курсов Otus - эксперты программирования и управления с многолетним опытом в ведущих российских компаниях.

expert

Егор Зуев

TeamLead в «InBit». Опыт в программировании - 10 лет. Участвовал в создании нескольких стартапов: как тимлид в «Chronobank», «NeverEatAlone», как CTO и сооснователь в «NeuroIO», как Lead Dev в «Tymlez»
expert

Станислав Щетинников

Директор команды разработчиков в «ДомКлик». В программировании более 10 лет, 6 из них профессионально занимается разработкой архитектуры систем
expert

Владислав Родин

Руководитель команды разработчиков, преподаватель МФТИ и портала foxminded. Разработчик на С++. В МФТИ получил практический опыт работы инженером-исследователем на проекте вычислительного программного комплекса, последние 3 года занимается Enterprise разработкой на Java. Работал в НСПК и «Яндекс». Профессионально занимается улучшением инфраструктуры проектов, настраивает CI/CD процессы, выстраивает С4-архитектурные схемы
expert

Владимир Дроздецкий

Инфраструктурынй разработчик в проектах exposcan.ru, crispmessenger.com
expert

Мария Котляревская

DevOps-инженер в «Dino Systems»
expert

Михаил Кузнецов

Fullstack-разработчик в «ING Group». JS-программист с 8-летним опытом
expert

Евгений Аристов

В профессиональной разработке программного обеспечения больше 20 лет. Проектировщик ПО для сетей магазинов, центров фитнеса, отелей. Большой опыт серверного администрирования
Егор Зуев
TeamLead в «InBit». Опыт в программировании - 10 лет. Участвовал в создании нескольких стартапов: как тимлид в «Chronobank», «NeverEatAlone», как CTO и сооснователь в «NeuroIO», как Lead Dev в «Tymlez»
Станислав Щетинников
Директор команды разработчиков в «ДомКлик». В программировании более 10 лет, 6 из них профессионально занимается разработкой архитектуры систем
Владислав Родин
Руководитель команды разработчиков, преподаватель МФТИ и портала foxminded. Разработчик на С++. В МФТИ получил практический опыт работы инженером-исследователем на проекте вычислительного программного комплекса, последние 3 года занимается Enterprise разработкой на Java. Работал в НСПК и «Яндекс». Профессионально занимается улучшением инфраструктуры проектов, настраивает CI/CD процессы, выстраивает С4-архитектурные схемы
Владимир Дроздецкий
Инфраструктурынй разработчик в проектах exposcan.ru, crispmessenger.com
Мария Котляревская
DevOps-инженер в «Dino Systems»
Михаил Кузнецов
Fullstack-разработчик в «ING Group». JS-программист с 8-летним опытом
Евгений Аристов
В профессиональной разработке программного обеспечения больше 20 лет. Проектировщик ПО для сетей магазинов, центров фитнеса, отелей. Большой опыт серверного администрирования
skill

Для кого

Разработчикам, team lead, администраторам.

skill2

Навыки

Знание и опыт в любом из стеков: Java, Node.js, C#, python, Golang, PHP.

Содержание

1. Инфраструктурные паттерны

content

7 тем. Преимущества и недостатки монолитов, микросервисной архитектуры. Работа с Docker’ом. Kubernetes: архитектура, основы работы, написание манифестов. Шаблонизация манифестов. Мониторинг и алертинг: основные приёмы, сбор метрик, управление инцидентами. Инструментируем сервис с Prometheus. Grafana.

2. Коммуникационные паттерны

content

8 тем. Основные шаблоны авторизации и аутентификации. Бэк для фронта, apigateway. Межсервисное взаимодействие, синхронный и асинхронный API. RESTful. GraphQL. gRPC. Основы архитектуры Event Driven. Распределённые очереди (пример - Kafka). Архитектурные шаблоны, принципы, алгоритмы кэширования.

3. Распределённые системы

content

12 тем. Микросервисное тестирование. DDD, модульные монолиты. Микросервисная декомпозиция. Основные проблемы и принципы работы с распределёнными системами. HTTP-очереди, API идемпотетность и коммутативность. Проблемы и паттерны распределённых транзакций. Виды, стратегии шардирования. Паттерны и инструменты поддержки консистентности данных. Паттерны Event Sourcing, CQRS. Основы, преимущества, архитектура service mesh. Концепция opentracing, инициатива opentelemetry. Паттерны микросервисного рефакторинга.

4. Децентрализованные системы

content

3 темы. CP и AP системы, основные алгоритмы и реализация. Архитектура: артефакты и развитие.

5. Дипломный проект

content

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

platform
Площадка проведения
adress