В итоге обучения на курсе вы усилите навыки архитектурного планирования, проектирования, разработки приложений, распределённых и децентрализованных систем.
Навыки разработки архитектуры ПО - основной критерий профессионализма в создании масштабируемых и отказоустойчивых приложений. В рамках курса вы освоите backend-проектирование приложений, поработаете с паттернами, legacy-сервисам, распределёнными системами и Kubernetes. Профессиональные разработчики, тимлиды и сисадмины освоят на курсе лучшие практики разработки архитектуры ПО сложных децентрализованных систем.
Мы изучаем:
Разработчикам, team lead, администраторам.
Знание и опыт в любом из стеков: Java, Node.js, C#, python, Golang, PHP.
Эксперты - опытные педагоги-практики
Занимаясь на курсе, обучающиеся изучают современные инструменты и приобретают навыки работы, которые помогут им эффективно строить карьеру в IT-сфере.
7 тем. Преимущества и недостатки монолитов, микросервисной архитектуры. Работа с Docker’ом. Kubernetes: архитектура, основы работы, написание манифестов. Шаблонизация манифестов. Мониторинг и алертинг: основные приёмы, сбор метрик, управление инцидентами. Инструментируем сервис с Prometheus. Grafana.
8 тем. Основные шаблоны авторизации и аутентификации. Бэк для фронта, apigateway. Межсервисное взаимодействие, синхронный и асинхронный API. RESTful. GraphQL. gRPC. Основы архитектуры Event Driven. Распределённые очереди (пример - Kafka). Архитектурные шаблоны, принципы, алгоритмы кэширования.
12 тем. Микросервисное тестирование. DDD, модульные монолиты. Микросервисная декомпозиция. Основные проблемы и принципы работы с распределёнными системами. HTTP-очереди, API идемпотетность и коммутативность. Проблемы и паттерны распределённых транзакций. Виды, стратегии шардирования. Паттерны и инструменты поддержки консистентности данных. Паттерны Event Sourcing, CQRS. Основы, преимущества, архитектура service mesh. Концепция opentracing, инициатива opentelemetry. Паттерны микросервисного рефакторинга.
3 темы. CP и AP системы, основные алгоритмы и реализация. Архитектура: артефакты и развитие.
В завершении слушателям курса предстоит защита выпускных проектов. Предварительно преподаватели проведут скрининг проектов, помогут разобраться со сложностями. На самостоятельную работу над проектом вам отводится месяц. Задача выпускного проекта - разработка каркаса приложения «интернет-магазин» с использованием всех пройденных паттернов, проведением нагрузочного тестирования и мониторингом проблем сетевой связности.