Архитектор программного обеспечения. Часть 1/4 [OTUS]
90₽
Для кого этот курс:
Программа создана специально для разработчиков, Team Lead и администраторов, которые хотят научиться разрабатывать архитектуру программного обеспечения и
сложных распределенных и отказоустойчивых систем.
Фишки курса
В процессе обучения рассматриваются и типичные и не типичные проблемы в проектировании архитектуры ПО. Преподаватели поделятся лучшими практиками и решениями этих проблем. В программу входит много полезной теории, и вся она будет обязательно закрепляться практикой в рамках самостоятельной работы и онлайн-вебинаров.
После курса вы научитесь:
1. планировать архитектуру и создавать масштабируемые, fault-tolerant приложения
2. решать нетривиальные задачи, в рамках распределенных и децентрализованных систем
3. поймете, как решать проблемы в текущей, заложенной архитектуре
4. изучите классические паттерны проектирования (шардирование, репликация, и т.д.)
Программа обучения
1 Introduction
- Проблемы проектирования масштабируемых приложений.Типы решаемых задач
- Когда нужен монолит, а когда микросервисы и компоненты
2 Centralized Systems. Single node patterns
- Sidecar паттерн. Принцип работы. Реализация паттерна на основе обвязки legacy сервиса (расширение поведения)
- Ambassador паттерн. Принцип работы.Реализация паттерна на примере маршрутизатора (или proxy)
- Adapter паттерн. Принцип работы. Реализация паттерна на примере создания универсального логгера
3 Centralized Systems. Multi node patterns (microservices)
- Stateless services.Принцип работы. Реализация паттерна на примере обычного REST сервиса и балансировщика
- State services. Принцип работы. Реализация паттерна на примере REST сервиса с сессиями
- Sharding. Принцип работы. Реализация паттерна на примере распределенного поиска
- Caching and sidecar. Принцип работы. Реализация паттерна на примере механизма кеширования запросов до сервиса
- Вопросы отказоустойчивости информационной системы. Отложенные сообщения (очереди). Реализация системы уведомлений пользователей, состоящей из нескольких сервисов
4 Decentralized Systems
- Общий концепт. Решаемые задачи. Примеры
- CAP теорема. Общие принципы и описание. BASE и ACID
- CP системы. RAFT, PAXOS
- CP системы в базах данных (арбитры,блокировки)
- PA системы. GOSSIP, CasPAXOS. CRDT структуры
- Основы работы блокчейн и DAG
5 Costs and efforts
- Оценка стоимости спроектированной системы. Определение рисков на разных стадиях жизненного цикла: проектирование, разработка, внедрение, поддержка и эксплуатация,утилизация