Сегодня профессиональные навыки разработки архитектуры программного обеспечения являются одной из главных компетенций специалистов по созданию масштабируемых и отказоустойчивых приложений.
Особенности программы
- В процессе обучения мы рассмотрим множество нетривиальных проблем проектирования backend-приложений и их дальнейшего сопровождения.
- Изучим не только паттерны проектирования новых сервисов, но и освоим подходы к работе с legacy-сервисами.
- Научимся решать проблемы с согласованностью изменений (например, порядок применения транзакций) или с оркестрацией сервисов, что будет полезно тем, кто работает в сфере распределенных / децентрализованных систем.
- Как разработчик, научитесь базовым навыкам работы с Kubernetes.
Для кого этот курс
Программа создана специально для back-end разработчиков, Team Lead и администраторов, готовых освоить Best Practice по разработке архитектуры программного обеспечения и сложных распределенных и отказоустойчивых систем.
После обучения
Выпускники на профессиональном уровне смогут планировать архитектуру и создавать масштабируемые, fault-tolerant приложения, решая нетривиальные задачи в рамках распределенных и децентрализованных систем и используя в проектах классические паттерны проектирования (шардирование, репликация, и т.д.).
Итоговый проект будет состоять из серии домашних заданий.
В рамках их выполнения каждый студент создаст каркас приложения "интернет-магазин" и опробует разные паттерны микросервисной архитектуры, протестирует свое приложение на нагрузку и проблемы сетевой связности.