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

Best Practice по разработке архитектуры программного обеспечения
IT: Для программистов и IT-специалистовПроизводство, автоматика и инженерное обеспечение / Автоматизация технологических процессов
OTUS Онлайн-образование логоOTUS Онлайн-образование
24 декабря 2020
4 месяца
Онлайн
от 87 500 ₽
Целевая аудитория
ПрограммистыРазработчики программных продуктов

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

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

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

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

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

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

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

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

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

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

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

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

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

Знание и опыт работы в одном из следующих стеков: Java (spring / Java EE), Node.js, C# (.net), python (django), Golang, PHP

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

Образовательный процесс происходит ONLINE в формате вебинаров (язык преподавания — русский). В рамках курса слушателям предлагаются к выполнению домашние задания, которые позволяют применить на практике знания, полученные на занятиях. По каждому домашнему заданию преподаватель дает развернутый фидбек. В течение всего учебного процесса преподаватель находится в едином коммуникационном пространстве с группой, т.е. при обучении слушатель может задавать преподавателю уточняющие вопросы по учебным материалам.
Программа
1 Инфраструктурные паттерны
1.1 Плюсы и минусы микросервисной архитектуры
1.2 Основы работы с Docker
1.3 Основы работы с Kubernetes
1.4 Мониторинг и алертинг. Prometheus. Grafana
2 Коммуникационные паттерны
2.1 Авторизация и аутентификация в микросервисной архитектуре.
2.2 Backend for frontends. Apigateway
2.3 GraphQL, Advanced REST API practices.
2.4 Асинхронный и синхронный API
2.5 Нагрузочное тестирование.
2.6 Паттерны кэширования и основные принципы
2.7 Паттерны декомпозиции сервисов
2.8 Распределенные транзакции
3 Распределенные системы
3.1 Введение в распределенные системы.
3.2 Идемпотетность и коммутативность API в HTTP и очередях.
3.3 Паттерны шардирования.
3.4 Паттерны поддержания консистентности данных
3.5 Распределенные очереди сообщений на примере Kafka
3.6 Системы конфигурации на примере etcd.
3.7 Service mesh на примере Istio
3.8 Microservice Chassis. Сommunication service platform - сервисный слой API
3.9 Opentracing и opentelemetry
3.10 Event Sourcing и CQRS
3.11 Рефакторинг микросервисов. От монолита к микросервису
4 Децентрализованные системы
4.1 Практический семинар: реализация своей распределенной sql / nosql базы данных. Реализация своего оркестратора для управления задачами
4.2 Основы блокчейн: bitcoin
4.3 Основы блокчейн: ethereum
4.4 Практический семинар: создание своего приватного блокчейн на основе EVM
5 Итоговый проект
5.1 Консультация по проекту
5.2 Итоговый урок

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

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

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

  • получите материалы по всем пройденным занятиям (видеозаписи вебинаров, выполненные домашние задания, выпускной проект)
  • сможете планировать архитектуру и создавать масштабируемые, fault-tolerant приложения
  • получите сертификат об окончании курса
  • научитесь решать нетривиальные задачи, в рамках распределенных и децентрализованных систем
  • получите приглашение пройти собеседование в компаниях-партнёрах (в случае успешного обучения)
Записаться на курс
Архитектор программного обеспечения
87 500
Заполните контактные данные
Оставьте заявку, чтобы забронировать себе место.
Наш менеджер свяжется с вами и ответит на любые ваши вопросы.
Часто задаваемые вопросы
Можно ли начать обучение позже даты старта курса?
Да, можно. Доступ к материалам курса будет доступен в личном кабинете. Если вы будете сильно отставать от общей группы, то можно будет перевестись на следующий поток бесплатно.
24 декабря 2020
4 месяца
Онлайн
от 87 500 ₽